Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade giac to 1.6.0-47 #30537

Closed
tobihan opened this issue Sep 9, 2020 · 126 comments
Closed

Upgrade giac to 1.6.0-47 #30537

tobihan opened this issue Sep 9, 2020 · 126 comments

Comments

@tobihan
Copy link

tobihan commented Sep 9, 2020

Source:

Previous updates:

See also:

Tarball in attachment

https://github.com/sagemath/sage/files/ticket30537/giac-1.6.0.47p2.tar.bz2.gz

CC: @slel @frederichan-IMJPRG @sagetrac-parisse @antonio-rojas @jamesjer @videlec @orlitzky

Component: packages: standard

Keywords: giac

Author: Matthias Koeppe, François Bissey

Branch: f05720b

Reviewer: François Bissey, Matthias Koeppe

Issue created by migration from https://trac.sagemath.org/ticket/30537

@tobihan tobihan added this to the sage-9.3 milestone Sep 9, 2020
@tobihan
Copy link
Author

tobihan commented Sep 9, 2020

comment:1

In Debian we already have giac 1.6.0-7 and one doctest either times out or segfaults. If it does not time out it looks as below. With the giac 1.5.0-87 Debian package the test works fine.

sage -t --long --random-seed=0 sage/src/sage/rings/polynomial/multi_polynomial_ideal.py
**********************************************************************
File "sage/src/sage/rings/polynomial/multi_polynomial_ideal.py", line 2101, in sage.rings.polynomial.multi_polynomial_ideal.?.elimination_ideal
Failed example:
    I.elimination_ideal([t, s], algorithm="giac") == J
Exception raised:
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/lib/python3/dist-packages/sage/doctest/forker.py", line 1145, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.polynomial.multi_polynomial_ideal.?.elimination_ideal[3]>", line 1, in <module>
        I.elimination_ideal([t, s], algorithm="giac") == J
      File "/usr/lib/python3/dist-packages/sage/rings/qqbar_decorators.py", line 96, in wrapper
        return func(*args, **kwds)
      File "/usr/lib/python3/dist-packages/sage/rings/polynomial/multi_polynomial_ideal.py", line 2140, in elimination_ideal
        return groebner_basis_libgiac(
      File "/usr/lib/python3/dist-packages/sage/libs/giac/__init__.py", line 118, in wrapper
        return func(*args, **kwds)
      File "/usr/lib/python3/dist-packages/sage/libs/giac/__init__.py", line 357, in groebner_basis
        gb_giac = F.eliminate(list(elim_variables))
      File "sage/libs/giac/auto-methods.pxi", line 4884, in sage.libs.giac.giac.GiacMethods_base.eliminate (build/cythonized/sage/libs/giac/giac.cpp:45483)
        return GiacMethods['eliminate'](self,*args)
      File "sage/libs/giac/giac.pyx", line 2085, in sage.libs.giac.giac.GiacFunction.__call__ (build/cythonized/sage/libs/giac/giac.cpp:152928)
        sig_on()
    cysignals.signals.SignalError: Segmentation fault
**********************************************************************
File "sage/src/sage/rings/polynomial/multi_polynomial_ideal.py", line 2127, in sage.rings.polynomial.multi_polynomial_ideal.?.elimination_ideal
Failed example:
    I.elimination_ideal([t, s], algorithm="giac") == J
Exception raised:
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/lib/python3/dist-packages/sage/doctest/forker.py", line 1145, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.polynomial.multi_polynomial_ideal.?.elimination_ideal[7]>", line 1, in <module>
        I.elimination_ideal([t, s], algorithm="giac") == J
      File "/usr/lib/python3/dist-packages/sage/rings/qqbar_decorators.py", line 160, in wrapper
        return reverse_map(func(*args, **kwds))
      File "/usr/lib/python3/dist-packages/sage/rings/polynomial/multi_polynomial_ideal.py", line 2140, in elimination_ideal
        return groebner_basis_libgiac(
      File "/usr/lib/python3/dist-packages/sage/libs/giac/__init__.py", line 118, in wrapper
        return func(*args, **kwds)
      File "/usr/lib/python3/dist-packages/sage/libs/giac/__init__.py", line 357, in groebner_basis
        gb_giac = F.eliminate(list(elim_variables))
      File "sage/libs/giac/auto-methods.pxi", line 4884, in sage.libs.giac.giac.GiacMethods_base.eliminate (build/cythonized/sage/libs/giac/giac.cpp:45483)
        return GiacMethods['eliminate'](self,*args)
      File "sage/libs/giac/giac.pyx", line 2085, in sage.libs.giac.giac.GiacFunction.__call__ (build/cythonized/sage/libs/giac/giac.cpp:152928)
        sig_on()
    cysignals.signals.SignalError: Segmentation fault
**********************************************************************
1 item had failures:
   2 of   9 in sage.rings.polynomial.multi_polynomial_ideal.?.elimination_ideal
    [920 tests, 2 failures, 7.85 s]
----------------------------------------------------------------------
sage -t --long --random-seed=0 sage/src/sage/rings/polynomial/multi_polynomial_ideal.py  # 2 doctests failed

@slel

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@kiwifb
Copy link
Member

kiwifb commented Sep 10, 2020

comment:6

1.6.0-17 is out. And my goodness they finally moved from configure.in to configure.ac.

@mkoeppe
Copy link
Contributor

mkoeppe commented Sep 10, 2020

comment:7

After the update, it should be checked whether the workarounds for underlinked libgiac on Cygwin (#30396) are still necessary.

@mkoeppe mkoeppe changed the title Upgrade giac to 1.6.0-7 Upgrade giac to 1.6.0-17 Sep 10, 2020
@mkoeppe
Copy link
Contributor

mkoeppe commented Sep 11, 2020

Branch: u/mkoeppe/upgrade_giac_to_1_6_0_17

@mkoeppe
Copy link
Contributor

mkoeppe commented Sep 11, 2020

comment:9

Build fails on macOS with

[giac-1.6.0.17p0] /bin/bash: hevea: command not found

Hoping that upstream can improve the autoconf tests a bit by the time that we are ready to do the giac 1.6 upgrade in the Sage 9.3 cycle.

We also have a number of patches in build/pkgs/giac/patches that can hopefully be upstreamed...


New commits:

2748bd1build/pkgs/giac: Upgrade to 1.6.0-17

@mkoeppe
Copy link
Contributor

mkoeppe commented Sep 11, 2020

Commit: 2748bd1

@slel
Copy link
Member

slel commented Sep 11, 2020

comment:10

Replying to @mkoeppe:

We also have a number of patches in build/pkgs/giac/patches that can hopefully be upstreamed...

To browse them online, see for instance one of these:

@kiwifb
Copy link
Member

kiwifb commented Sep 12, 2020

comment:11

I have a failure when I ran the testsuite on Gentoo

======================================
   giac 1.6.0: check/test-suite.log
======================================

# TOTAL: 30
# PASS:  29
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: chk_fhan11
================

// Using locale /usr/share/locale/
// C
// /usr/share/locale/
// giac
// UTF-8
// Maximum number of parallel threads 8
// Giac share root-directory:/usr/share/giac/
// Unable to find keyword file /usr/share/giac/doc/en/keywords
// Giac share root-directory:/usr/share/giac/
Help file /usr/share/giac/doc/en/aide_cas not found
Added 0 synonyms
// Giac share root-directory:/usr/share/giac/
============== restarted ===============
// Time 0
// Time 0
// Time 0
// Time 0.16
  ***   deep recursion.  ***   bug in PARI/GP (Segmentation Fault), please report.terminate called after throwing an instance of 'std::runtime_error'
  what():  Error in PARI subsystem Error: Bad Argument Value
./chk_fhan11: line 3: 1689152 Aborted                 (core dumped) ../src/icas TP11-sol.cas > TP11.tst
5c5,71

I think it is a bit concerning.

@kiwifb
Copy link
Member

kiwifb commented Sep 12, 2020

comment:12

And by the way, this is the same test for which we already have a small patch for test results with pari 2.11+ https://github.com/sagemath/sage-prod/blob/develop/build/pkgs/giac/patches/pari_2_11.patch

@kiwifb
Copy link
Member

kiwifb commented Sep 16, 2020

comment:13

1.6.0-23 is out. The problematic test is still there for me.

@sagetrac-parisse
Copy link
Mannequin

sagetrac-parisse mannequin commented Sep 16, 2020

comment:14

Can you reproduce the same crash with 1 thread (export GIAC_THREADS=1)

@kiwifb
Copy link
Member

kiwifb commented Sep 16, 2020

comment:15

I am not using a threaded pari.

ldd -r /usr/lib64/libpari-gmp.so.2.11.4
	linux-vdso.so.1 (0x00007ffd9692f000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f041aa37000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f041a903000)
	libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f041a88a000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f041a884000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f041b499000)

@sagetrac-parisse
Copy link
Mannequin

sagetrac-parisse mannequin commented Sep 16, 2020

comment:16

But maybe it's a bug in giac despite the error message. I don't get a crash in a xubuntu 20.04 VM with 1 thread (pari version is 2.11.2)

@kiwifb
Copy link
Member

kiwifb commented Sep 16, 2020

comment:17

coredump

(gdb) bt full
#0  0x00007f29867019b1 in raise () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007f29866eb537 in abort () from /lib64/libc.so.6
No symbol table info available.
#2  0x00007f2986a728ce in __gnu_cxx::__verbose_terminate_handler () at /dev/shm/portage/sys-devel/gcc-10.2.0-r1/work/gcc-10.2.0/libstdc++-v3/libsupc++/vterminate.cc:95
        terminating = true
        t = <optimized out>
#3  0x00007f2986aa1766 in __cxxabiv1::__terminate (handler=<optimized out>) at /dev/shm/portage/sys-devel/gcc-10.2.0-r1/work/gcc-10.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:48
No locals.
#4  0x00007f2986aa0789 in __cxa_call_terminate (ue_header=ue_header@entry=0x7f293c001c50) at /dev/shm/portage/sys-devel/gcc-10.2.0-r1/work/gcc-10.2.0/libstdc++-v3/libsupc++/eh_call.cc:54
        xh = 0x7f293c001c00
#5  0x00007f2986aa1152 in __cxxabiv1::__gxx_personality_v0 (version=<optimized out>, actions=6, exception_class=5138137972254386944, ue_header=0x7f293c001c50, context=<optimized out>)
    at /dev/shm/portage/sys-devel/gcc-10.2.0-r1/work/gcc-10.2.0/libstdc++-v3/libsupc++/eh_personality.cc:685
        found_type = <optimized out>
        info = {Start = 139816357623189, LPStart = 139816357122513, ttype_base = 139816357623168, TType = 0x7f2986892230 <uw_frame_state_for+672> "1\300H\203\304([]A\\A]A^A_\303\017\037\200", 
          action_table = 0x0, ttype_encoding = 24 '\030', call_site_encoding = 146 '\222'}
        language_specific_data = <optimized out>
        action_record = <optimized out>
        p = <optimized out>
        landing_pad = <optimized out>
        ip = <optimized out>
        handler_switch_value = <optimized out>
        thrown_ptr = 0x0
        foreign_exception = <optimized out>
        ip_before_insn = 0
        xh = 0x7f293c001c00
#6  0x00007f298689341f in _Unwind_RaiseException_Phase2 (exc=0x7f293c001c50, context=0x7f29430d9530, frames_p=0x7f29430d9438)
    at /dev/shm/portage/sys-devel/gcc-10.2.0-r1/work/gcc-10.2.0/libgcc/unwind.inc:64
        fs = {regs = {reg = {{loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0}, 
                how = REG_UNSAVED}, {loc = {reg = 18446744073709551560, offset = -56, exp = 0xffffffffffffffc8 <error: Cannot access memory at address 0xffffffffffffffc8>}, 
                how = REG_SAVED_OFFSET}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {
                  reg = 18446744073709551568, offset = -48, exp = 0xffffffffffffffd0 <error: Cannot access memory at address 0xffffffffffffffd0>}, how = REG_SAVED_OFFSET}, {loc = {reg = 0, 
                  offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {
                  reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 18446744073709551576, offset = -40, 
                  exp = 0xffffffffffffffd8 <error: Cannot access memory at address 0xffffffffffffffd8>}, how = REG_SAVED_OFFSET}, {loc = {reg = 18446744073709551584, offset = -32, 
                  exp = 0xffffffffffffffe0 <error: Cannot access memory at address 0xffffffffffffffe0>}, how = REG_SAVED_OFFSET}, {loc = {reg = 18446744073709551592, offset = -24, 
                  exp = 0xffffffffffffffe8 <error: Cannot access memory at address 0xffffffffffffffe8>}, how = REG_SAVED_OFFSET}, {loc = {reg = 18446744073709551600, offset = -16, 
                  exp = 0xfffffffffffffff0 <error: Cannot access memory at address 0xfffffffffffffff0>}, how = REG_SAVED_OFFSET}, {loc = {reg = 18446744073709551608, offset = -8, 
                  exp = 0xfffffffffffffff8 <error: Cannot access memory at address 0xfffffffffffffff8>}, how = REG_SAVED_OFFSET}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}}, 
            prev = 0x0, cfa_offset = 160, cfa_reg = 7, cfa_exp = 0x0, cfa_how = CFA_REG_OFFSET}, pc = 0x7f298769b700 <giac::pari_isprime(giac::gen const&, int) [clone .cold]>, 
          personality = 0x7f2986aa0eb0 <__cxxabiv1::__gxx_personality_v0(int, _Unwind_Action, _Unwind_Exception_Class, _Unwind_Exception*, _Unwind_Context*)>, data_align = -8, code_align = 1, 
          retaddr_column = 16, fde_encoding = 27 '\033', lsda_encoding = 27 '\033', saw_z = 1 '\001', signal_frame = 0 '\000', eh_ptr = 0x0}
        match_handler = 4
        code = _URC_NO_REASON
        frames = 2
#7  0x00007f2986893e05 in _Unwind_Resume (exc=0x7f293c001c50) at /dev/shm/portage/sys-devel/gcc-10.2.0-r1/work/gcc-10.2.0/libgcc/unwind.inc:241
        this_context = {reg = {0x7f29430d9628, 0x7f29430d9630, 0x0, 0x7f29430d9638, 0x0, 0x0, 0x7f29430d9660, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f29430d9640, 0x7f29430d9648, 0x7f29430d9650, 
            0x7f29430d9658, 0x7f29430d9668, 0x0}, cfa = 0x7f29430d9670, ra = 0x7f298769b700 <giac::pari_isprime(giac::gen const&, int) [clone .cold]>, lsda = 0x0, bases = {tbase = 0x0, 
            dbase = 0x0, func = 0x7f2986893cd0 <_Unwind_Resume>}, flags = 4611686018427387904, version = 0, args_size = 0, by_value = '\000' <repeats 17 times>}
        cur_context = {reg = {0x7f29430d9628, 0x7f29430d9630, 0x0, 0x7f29430d96d8, 0x0, 0x0, 0x7f29430d96e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f29430d96e8, 0x7f29430d96f0, 0x7f29430d9650, 
            0x7f29430d9658, 0x7f29430d96f8, 0x0}, cfa = 0x7f29430d9700, ra = 0x7f298769b713 <giac::pari_isprime(giac::gen const&, int) [clone .cold]+19>, lsda = 0x7f2988620a01, bases = {
            tbase = 0x0, dbase = 0x0, func = 0x7f298769b700 <giac::pari_isprime(giac::gen const&, int) [clone .cold]>}, flags = 4611686018427387904, version = 0, args_size = 0, 
          by_value = '\000' <repeats 17 times>}
        code = <optimized out>
        frames = 0
#8  0x00007f298769b700 in giac::gen2GEN(giac::gen const&, giac::dbgprint_vector<giac::gen> const&, giac::context const*) [clone .cold] ()
   from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#9  0x00007f298769b713 in giac::pari_isprime(giac::gen const&, int) [clone .cold] () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#10 0x00007f2988102a17 in giac::_is_prime(giac::gen const&, giac::context const*) () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#11 0x00007f298793da30 in giac::_isprime(giac::gen const&, giac::context const*) () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#12 0x00007f29880f5b76 in giac::unary_function_eval::operator()(giac::gen const&, giac::context const*) const ()
   from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#13 0x00007f2987a921dc in giac::symbolic::eval(int, giac::context const*) const () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#14 0x00007f29881c2ed1 in giac::gen::in_eval(int, giac::gen&, giac::context const*) const () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#15 0x00007f298790e595 in giac::_time(giac::gen const&, giac::context const*) () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#16 0x00007f29880f5b76 in giac::unary_function_eval::operator()(giac::gen const&, giac::context const*) const ()
   from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#17 0x00007f29880ef9c5 in giac::unary_function_ptr::operator()(giac::gen const&, giac::context const*) const ()
   from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#18 0x00007f2987a920e2 in giac::symbolic::eval(int, giac::context const*) const () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#19 0x00007f29881c2ed1 in giac::gen::in_eval(int, giac::gen&, giac::context const*) const () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#20 0x00007f2987a921be in giac::symbolic::eval(int, giac::context const*) const () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#21 0x00007f29881c2ed1 in giac::gen::in_eval(int, giac::gen&, giac::context const*) const () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#22 0x00007f2987f57451 in giac::protectevalorevalf(giac::gen const&, int, bool, giac::context const*) ()
   from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#23 0x00007f2987f57852 in giac::protecteval(giac::gen const&, int, giac::context const*) () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#24 0x00007f2987d958e5 in giac::in_thread_eval(void*) () from /dev/shm/portage/sci-mathematics/giac-1.6.0.23/work/giac-1.6.0/src/.libs/libgiac.so.0
No symbol table info available.
#25 0x00007f2986cbee67 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#26 0x00007f29867c1daf in clone () from /lib64/libc.so.6
No symbol table info available.

@antonio-rojas
Copy link
Contributor

comment:18

I can no longer reproduce the crashes mentioned in comment:1 with 1.6.0-25. The tests still fail, though

sage -t --long --random-seed=0 /usr/lib/python3.8/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py
**********************************************************************
File "/usr/lib/python3.8/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py", line 2101, in sage.rings.polynomial.multi_polynomial_ideal.?.elimination_ideal
Failed example:
    I.elimination_ideal([t, s], algorithm="giac") == J
Expected:
    ...
    Running a probabilistic check for the reconstructed Groebner basis...
    True
Got:
    // Giac share root-directory:/usr/share/giac/
    // Giac share root-directory:/usr/share/giac/
    Added 0 synonyms
    True
**********************************************************************
File "/usr/lib/python3.8/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py", line 2127, in sage.rings.polynomial.multi_polynomial_ideal.?.elimination_ideal
Failed example:
    I.elimination_ideal([t, s], algorithm="giac") == J
Expected:
    Running a probabilistic check for the reconstructed Groebner basis...
    True
Got:
    True
**********************************************************************
1 item had failures:
   2 of   9 in sage.rings.polynomial.multi_polynomial_ideal.?.elimination_ideal
    [920 tests, 2 failures, 7.13 s]
----------------------------------------------------------------------
sage -t --long --random-seed=0 /usr/lib/python3.8/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py  # 2 doctests failed
----------------------------------------------------------------------

@kiwifb
Copy link
Member

kiwifb commented Sep 30, 2020

comment:19

I still have the crash in giac's testsuite with 1.6.0.25.

@antonio-rojas
Copy link
Contributor

comment:20

Replying to @kiwifb:

I still have the crash in giac's testsuite with 1.6.0.25.

I can't reproduce that one. I only have one test failure in the TP11 test suite (the already known failure mentioned in comment:12)

@kiwifb
Copy link
Member

kiwifb commented Sep 30, 2020

comment:21

Replying to @antonio-rojas:

Replying to @kiwifb:

I still have the crash in giac's testsuite with 1.6.0.25.

I can't reproduce that one. I only have one test failure in the TP11 test suite that seems like a mistake in the expected result to me.

Is your pari using threads?

@antonio-rojas
Copy link
Contributor

comment:22

Replying to @kiwifb:

Is your pari using threads?

Yes

@kiwifb
Copy link
Member

kiwifb commented Sep 30, 2020

comment:23

Replying to @kiwifb:

Replying to @antonio-rojas:

Replying to @kiwifb:

I still have the crash in giac's testsuite with 1.6.0.25.

I can't reproduce that one. I only have one test failure in the TP11 test suite that seems like a mistake in the expected result to me.

Is your pari using threads?

What do you know. You now need to have pari compiled with threads for that test to pass - and probably some specific calls to pari too.

@dimpase
Copy link
Member

dimpase commented Nov 6, 2020

comment:24

merge failed

@mkoeppe
Copy link
Contributor

mkoeppe commented Nov 9, 2020

comment:25

See #30868 for an issue with giac 1.6 that has affected Fedora packaging

@jamesjer
Copy link
Mannequin

jamesjer mannequin commented Nov 10, 2020

comment:26

We seem to have stumbled across the issue mentioned in comment 23: with giac >= 1.6.0-25 a threaded pari is necessary.

@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 23, 2021

comment:91

Replying to @kiwifb:

do we still support some 1.5.0?

I think we should

@kiwifb
Copy link
Member

kiwifb commented Feb 23, 2021

comment:92

OK, the real issues between the two are the doctests in sage/interfaces/giac.py. There was a comment in #30537 about using giac.with_sqrt(0) but it doesn't work (looks like a no-op at this stage).

A different test should fix this. The formatting is problematic.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 23, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

db1fcfdFactorization examples working with 15.0 and 1.6.0

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 23, 2021

Changed commit from 6132c9a to db1fcfd

@kiwifb
Copy link
Member

kiwifb commented Feb 23, 2021

comment:94

OK, so the last bit of difference seems to be that internal representation in giac has changed. Looking at the larger context of the doctest

    def eval(self, code, strip=True, **kwds):
        r"""
        Send the code x to the Giac interpreter.
        Remark: To enable multi-lines codes in the notebook magic mode: ``%giac``,
        the ``\n`` are removed before sending the code to giac.
        INPUT:
        - code -- str
        - strip -- Default is True and removes ``\n``
        EXAMPLES::
            sage: giac.eval("2+2;\n3")
            '4,3'
            sage: giac.eval("2+2;\n3",False)
            '4\n3'
            sage: s='g(x):={\nx+1;\nx+2;\n}'
            sage: giac(s)
            (x)->[x+1,x+2]
            sage: giac.g(5)
            7
        """
        #we remove \n to enable multiline code in the notebook magic mode %giac

The line giac(s) doesn't really show anything that interesting and could be either removed or marked random.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 23, 2021

Changed commit from db1fcfd to c702e45

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 23, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

c702e45allow system giac-1.6.0

@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 23, 2021

comment:96

Your changes look good to me

@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 23, 2021

Reviewer: ..., Matthias Koeppe

@kiwifb
Copy link
Member

kiwifb commented Feb 23, 2021

comment:97

OK, so for that last line which will differ between 1.5.0 and 1.6.0.

Pool:

  • [] remove it (my own vote)
  • [] mark it random

@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 23, 2021

comment:98

either way is fine with me, or make it ...x+1...x+2...

@kiwifb
Copy link
Member

kiwifb commented Feb 23, 2021

comment:99

That is a viable solution, I will do it now and then we can call it done.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 23, 2021

Changed commit from c702e45 to f05720b

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 23, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

f05720bmake a doctest giac version independent

@kiwifb
Copy link
Member

kiwifb commented Feb 23, 2021

Changed reviewer from ..., Matthias Koeppe to François Bissey, Matthias Koeppe

@kiwifb
Copy link
Member

kiwifb commented Feb 23, 2021

comment:101

I approve of your changes :) do we want an independent person to chime in?

@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 23, 2021

comment:102

I think we can set it to positive review

@vbraun
Copy link
Member

vbraun commented Mar 5, 2021

comment:103

For the record, the giac testsuite fails on KuCalc (Debian 9 x86_64)

[...]
// Time 0
// Time 0
// Time 0
// Time 0
// Time 0
// Time 0
// Time 0
// Time 0
// Time 0
// Time 0
// Time 0
// Time 0
// Time 0.03
// Time 0
// Total time 12.63
31c31
< [pnt(pnt[line[0.0,50.05,50.05+0.0013986013986*I,0.0013986013986*I,0.0],56]),pnt(pnt[group[0.0,0.0013986013986*I],0]),pnt(pnt[group[0.0013986013986*I,50.05+0.0013986013986*I],0]),pnt(pnt[group[50.05+0.0013986013986*I,50.05],0]),pnt(pnt[group[0.0,50.05],0]),pnt(pnt[line[50.05,100.1,100.1+0.0013986013986*I,50.05+0.0013986013986*I,50.05],56]),pnt(pnt[group[50.05,50.05+0.0013986013986*I],0]),pnt(pnt[group[50.05+0.0013986013986*I,100.1+0.0013986013986*I],0]),pnt(pnt[group[100.1+0.0013986013986*I,100.1],0]),pnt(pnt[group[50.05,100.1],0]),pnt(pnt[line[100.1,150.15,150.15+0.0013986013986*I,100.1+0.0013986013986*I,100.1],56]),pnt(pnt[group[100.1,100.1+0.0013986013986*I],0]),pnt(pnt[group[100.1+0.0013986013986*I,150.15+0.0013986013986*I],0]),pnt(pnt[group[150.15+0.0013986013986*I,150.15],0]),pnt(pnt[group[100.1,150.15],0]),pnt(pnt[line[150.15,200.2,200.2+0.0013986013986*I,150.15+0.0013986013986*I,150.15],56]),pnt(pnt[group[150.15,150.15+0.0013986013986*I],0]),pnt(pnt[group[150.15+0.0013986013986*I,200.2+0.0013986013986*I],0]),pnt(pnt[group[200.2+0.0013986013986*I,200.2],0]),pnt(pnt[group[150.15,200.2],0]),pnt(pnt[line[200.2,250.25,250.25+0.0013986013986*I,200.2+0.0013986013986*I,200.2],56]),pnt(pnt[group[200.2,200.2+0.0013986013986*I],0]),pnt(pnt[group[200.2+0.0013986013986*I,250.25+0.0013986013986*I],0]),pnt(pnt[group[250.25+0.0013986013986*I,250.25],0]),pnt(pnt[group[200.2,250.25],0]),pnt(pnt[line[250.25,300.3,300.3+0.0013986013986*I,250.25+0.0013986013986*I,250.25],56]),pnt(pnt[group[250.25,250.25+0.0013986013986*I],0]),pnt(pnt[group[250.25+0.0013986013986*I,300.3+0.0013986013986*I],0]),pnt(pnt[group[300.3+0.0013986013986*I,300.3],0]),pnt(pnt[group[250.25,300.3],0]),pnt(pnt[line[300.3,350.35,350.35+0.0013986013986*I,300.3+0.0013986013986*I,300.3],56]),pnt(pnt[group[300.3,300.3+0.0013986013986*I],0]),pnt(pnt[group[300.3+0.0013986013986*I,350.35+0.0013986013986*I],0]),pnt(pnt[group[350.35+0.0013986013986*I,350.35],0]),pnt(pnt[group[300.3,350.35],0]),pnt(pnt[line[350.35,400.4,400.4+0.0015984015984*I,350.35+0.0015984015984*I,350.35],56]),pnt(pnt[group[350.35,350.35+0.0015984015984*I],0]),pnt(pnt[group[350.35+0.0015984015984*I,400.4+0.0015984015984*I],0]),pnt(pnt[group[400.4+0.0015984015984*I,400.4],0]),pnt(pnt[group[350.35,400.4],0]),pnt(pnt[line[400.4,450.45,450.45+0.0013986013986*I,400.4+0.0013986013986*I,400.4],56]),pnt(pnt[group[400.4,400.4+0.0013986013986*I],0]),pnt(pnt[group[400.4+0.0013986013986*I,450.45+0.0013986013986*I],0]),pnt(pnt[group[450.45+0.0013986013986*I,450.45],0]),pnt(pnt[group[400.4,450.45],0]),pnt(pnt[line[450.45,500.5,500.5+0.0013986013986*I,450.45+0.0013986013986*I,450.45],56]),pnt(pnt[group[450.45,450.45+0.0013986013986*I],0]),pnt(pnt[group[450.45+0.0013986013986*I,500.5+0.0013986013986*I],0]),pnt(pnt[group[500.5+0.0013986013986*I,500.5],0]),pnt(pnt[group[450.45,500.5],0]),pnt(pnt[line[500.5,550.55,550.55+0.0013986013986*I,500.5+0.0013986013986*I,500.5],56]),pnt(pnt[group[500.5,500.5+0.0013986013986*I],0]),pnt(pnt[group[500.5+0.0013986013986*I,550.55+0.0013986013986*I],0]),pnt(pnt[group[550.55+0.0013986013986*I,550.55],0]),pnt(pnt[group[500.5,550.55],0]),pnt(pnt[line[550.55,600.6,600.6+0.0013986013986*I,550.55+0.0013986013986*I,550.55],56]),pnt(pnt[group[550.55,550.55+0.0013986013986*I],0]),pnt(pnt[group[550.55+0.0013986013986*I,600.6+0.0013986013986*I],0]),pnt(pnt[group[600.6+0.0013986013986*I,600.6],0]),pnt(pnt[group[550.55,600.6],0]),pnt(pnt[line[600.6,650.65,650.65+0.0013986013986*I,600.6+0.0013986013986*I,600.6],56]),pnt(pnt[group[600.6,600.6+0.0013986013986*I],0]),pnt(pnt[group[600.6+0.0013986013986*I,650.65+0.0013986013986*I],0]),pnt(pnt[group[650.65+0.0013986013986*I,650.65],0]),pnt(pnt[group[600.6,650.65],0]),pnt(pnt[line[650.65,700.7,700.7+0.0013986013986*I,650.65+0.0013986013986*I,650.65],56]),pnt(pnt[group[650.65,650.65+0.0013986013986*I],0]),pnt(pnt[group[650.65+0.0013986013986*I,700.7+0.0013986013986*I],0]),pnt(pnt[group[700.7+0.0013986013986*I,700.7],0]),pnt(pnt[group[650.65,700.7],0]),pnt(pnt[line[700.7,750.75,750.75+0.0001998001998*I,700.7+0.0001998001998*I,700.7],56]),pnt(pnt[group[700.7,700.7+0.0001998001998*I],0]),pnt(pnt[group[700.7+0.0001998001998*I,750.75+0.0001998001998*I],0]),pnt(pnt[group[750.75+0.0001998001998*I,750.75],0]),pnt(pnt[group[700.7,750.75],0])],
---
> [axes=3,pnt(pnt[line[0.0,50.05,50.05+0.0013986013986*I,0.0013986013986*I,0.0],1073741871]),pnt(pnt[group[0.0,0.0013986013986*I],56]),pnt(pnt[group[0.0013986013986*I,50.05+0.0013986013986*I],56]),pnt(pnt[group[50.05+0.0013986013986*I,50.05],56]),pnt(pnt[group[0.0,50.05],56]),pnt(pnt[line[50.05,100.1,100.1+0.0013986013986*I,50.05+0.0013986013986*I,50.05],1073741871]),pnt(pnt[group[50.05,50.05+0.0013986013986*I],56]),pnt(pnt[group[50.05+0.0013986013986*I,100.1+0.0013986013986*I],56]),pnt(pnt[group[100.1+0.0013986013986*I,100.1],56]),pnt(pnt[group[50.05,100.1],56]),pnt(pnt[line[100.1,150.15,150.15+0.0013986013986*I,100.1+0.0013986013986*I,100.1],1073741871]),pnt(pnt[group[100.1,100.1+0.0013986013986*I],56]),pnt(pnt[group[100.1+0.0013986013986*I,150.15+0.0013986013986*I],56]),pnt(pnt[group[150.15+0.0013986013986*I,150.15],56]),pnt(pnt[group[100.1,150.15],56]),pnt(pnt[line[150.15,200.2,200.2+0.0013986013986*I,150.15+0.0013986013986*I,150.15],1073741871]),pnt(pnt[group[150.15,150.15+0.0013986013986*I],56]),pnt(pnt[group[150.15+0.0013986013986*I,200.2+0.0013986013986*I],56]),pnt(pnt[group[200.2+0.0013986013986*I,200.2],56]),pnt(pnt[group[150.15,200.2],56]),pnt(pnt[line[200.2,250.25,250.25+0.0013986013986*I,200.2+0.0013986013986*I,200.2],1073741871]),pnt(pnt[group[200.2,200.2+0.0013986013986*I],56]),pnt(pnt[group[200.2+0.0013986013986*I,250.25+0.0013986013986*I],56]),pnt(pnt[group[250.25+0.0013986013986*I,250.25],56]),pnt(pnt[group[200.2,250.25],56]),pnt(pnt[line[250.25,300.3,300.3+0.0013986013986*I,250.25+0.0013986013986*I,250.25],1073741871]),pnt(pnt[group[250.25,250.25+0.0013986013986*I],56]),pnt(pnt[group[250.25+0.0013986013986*I,300.3+0.0013986013986*I],56]),pnt(pnt[group[300.3+0.0013986013986*I,300.3],56]),pnt(pnt[group[250.25,300.3],56]),pnt(pnt[line[300.3,350.35,350.35+0.0013986013986*I,300.3+0.0013986013986*I,300.3],1073741871]),pnt(pnt[group[300.3,300.3+0.0013986013986*I],56]),pnt(pnt[group[300.3+0.0013986013986*I,350.35+0.0013986013986*I],56]),pnt(pnt[group[350.35+0.0013986013986*I,350.35],56]),pnt(pnt[group[300.3,350.35],56]),pnt(pnt[line[350.35,400.4,400.4+0.0015984015984*I,350.35+0.0015984015984*I,350.35],1073741871]),pnt(pnt[group[350.35,350.35+0.0015984015984*I],56]),pnt(pnt[group[350.35+0.0015984015984*I,400.4+0.0015984015984*I],56]),pnt(pnt[group[400.4+0.0015984015984*I,400.4],56]),pnt(pnt[group[350.35,400.4],56]),pnt(pnt[line[400.4,450.45,450.45+0.0013986013986*I,400.4+0.0013986013986*I,400.4],1073741871]),pnt(pnt[group[400.4,400.4+0.0013986013986*I],56]),pnt(pnt[group[400.4+0.0013986013986*I,450.45+0.0013986013986*I],56]),pnt(pnt[group[450.45+0.0013986013986*I,450.45],56]),pnt(pnt[group[400.4,450.45],56]),pnt(pnt[line[450.45,500.5,500.5+0.0013986013986*I,450.45+0.0013986013986*I,450.45],1073741871]),pnt(pnt[group[450.45,450.45+0.0013986013986*I],56]),pnt(pnt[group[450.45+0.0013986013986*I,500.5+0.0013986013986*I],56]),pnt(pnt[group[500.5+0.0013986013986*I,500.5],56]),pnt(pnt[group[450.45,500.5],56]),pnt(pnt[line[500.5,550.55,550.55+0.0013986013986*I,500.5+0.0013986013986*I,500.5],1073741871]),pnt(pnt[group[500.5,500.5+0.0013986013986*I],56]),pnt(pnt[group[500.5+0.0013986013986*I,550.55+0.0013986013986*I],56]),pnt(pnt[group[550.55+0.0013986013986*I,550.55],56]),pnt(pnt[group[500.5,550.55],56]),pnt(pnt[line[550.55,600.6,600.6+0.0013986013986*I,550.55+0.0013986013986*I,550.55],1073741871]),pnt(pnt[group[550.55,550.55+0.0013986013986*I],56]),pnt(pnt[group[550.55+0.0013986013986*I,600.6+0.0013986013986*I],56]),pnt(pnt[group[600.6+0.0013986013986*I,600.6],56]),pnt(pnt[group[550.55,600.6],56]),pnt(pnt[line[600.6,650.65,650.65+0.0013986013986*I,600.6+0.0013986013986*I,600.6],1073741871]),pnt(pnt[group[600.6,600.6+0.0013986013986*I],56]),pnt(pnt[group[600.6+0.0013986013986*I,650.65+0.0013986013986*I],56]),pnt(pnt[group[650.65+0.0013986013986*I,650.65],56]),pnt(pnt[group[600.6,650.65],56]),pnt(pnt[line[650.65,700.7,700.7+0.0013986013986*I,650.65+0.0013986013986*I,650.65],1073741871]),pnt(pnt[group[650.65,650.65+0.0013986013986*I],56]),pnt(pnt[group[650.65+0.0013986013986*I,700.7+0.0013986013986*I],56]),pnt(pnt[group[700.7+0.0013986013986*I,700.7],56]),pnt(pnt[group[650.65,700.7],56]),pnt(pnt[line[700.7,750.75,750.75+0.0001998001998*I,700.7+0.0001998001998*I,700.7],1073741871]),pnt(pnt[group[700.7,700.7+0.0001998001998*I],56]),pnt(pnt[group[700.7+0.0001998001998*I,750.75+0.0001998001998*I],56]),pnt(pnt[group[750.75+0.0001998001998*I,750.75],56]),pnt(pnt[group[700.7,750.75],56])],
35,36c35,36
< [pnt(pnt[line[0.0,200.2,200.2+0.000749250749251*I,0.000749250749251*I,0.0],56]),pnt(pnt[group[0.0,0.000749250749251*I],0]),pnt(pnt[group[0.000749250749251*I,200.2+0.000749250749251*I],0]),pnt(pnt[group[200.2+0.000749250749251*I,200.2],0]),pnt(pnt[group[0.0,200.2],0]),pnt(pnt[line[200.2,400.4,400.4+0.0010989010989*I,200.2+0.0010989010989*I,200.2],56]),pnt(pnt[group[200.2,200.2+0.0010989010989*I],0]),pnt(pnt[group[200.2+0.0010989010989*I,400.4+0.0010989010989*I],0]),pnt(pnt[group[400.4+0.0010989010989*I,400.4],0]),pnt(pnt[group[200.2,400.4],0]),pnt(pnt[line[400.4,600.6,600.6+0.000699300699301*I,400.4+0.000699300699301*I,400.4],56]),pnt(pnt[group[400.4,400.4+0.000699300699301*I],0]),pnt(pnt[group[400.4+0.000699300699301*I,600.6+0.000699300699301*I],0]),pnt(pnt[group[600.6+0.000699300699301*I,600.6],0]),pnt(pnt[group[400.4,600.6],0]),pnt(pnt[line[600.6,800.8,800.8+0.00114885114885*I,600.6+0.00114885114885*I,600.6],56]),pnt(pnt[group[600.6,600.6+0.00114885114885*I],0]),pnt(pnt[group[600.6+0.00114885114885*I,800.8+0.00114885114885*I],0]),pnt(pnt[group[800.8+0.00114885114885*I,800.8],0]),pnt(pnt[group[600.6,800.8],0]),pnt(pnt[line[800.8,1001.0,1001.0+0.0012987012987*I,800.8+0.0012987012987*I,800.8],56]),pnt(pnt[group[800.8,800.8+0.0012987012987*I],0]),pnt(pnt[group[800.8+0.0012987012987*I,1001.0+0.0012987012987*I],0]),pnt(pnt[group[1001.0+0.0012987012987*I,1001.0],0]),pnt(pnt[group[800.8,1001.0],0])],
< [pnt(pnt[line[0.0,50.05,50.05+0.0003996003996*I,0.0003996003996*I,0.0],56]),pnt(pnt[group[0.0,0.0003996003996*I],0]),pnt(pnt[group[0.0003996003996*I,50.05+0.0003996003996*I],0]),pnt(pnt[group[50.05+0.0003996003996*I,50.05],0]),pnt(pnt[group[0.0,50.05],0]),pnt(pnt[line[50.05,100.1,100.1+0.000999000999001*I,50.05+0.000999000999001*I,50.05],56]),pnt(pnt[group[50.05,50.05+0.000999000999001*I],0]),pnt(pnt[group[50.05+0.000999000999001*I,100.1+0.000999000999001*I],0]),pnt(pnt[group[100.1+0.000999000999001*I,100.1],0]),pnt(pnt[group[50.05,100.1],0]),pnt(pnt[line[100.1,150.15,150.15+0.000799200799201*I,100.1+0.000799200799201*I,100.1],56]),pnt(pnt[group[100.1,100.1+0.000799200799201*I],0]),pnt(pnt[group[100.1+0.000799200799201*I,150.15+0.000799200799201*I],0]),pnt(pnt[group[150.15+0.000799200799201*I,150.15],0]),pnt(pnt[group[100.1,150.15],0]),pnt(pnt[line[150.15,200.2,200.2+0.000799200799201*I,150.15+0.000799200799201*I,150.15],56]),pnt(pnt[group[150.15,150.15+0.000799200799201*I],0]),pnt(pnt[group[150.15+0.000799200799201*I,200.2+0.000799200799201*I],0]),pnt(pnt[group[200.2+0.000799200799201*I,200.2],0]),pnt(pnt[group[150.15,200.2],0]),pnt(pnt[line[200.2,250.25,250.25+0.000799200799201*I,200.2+0.000799200799201*I,200.2],56]),pnt(pnt[group[200.2,200.2+0.000799200799201*I],0]),pnt(pnt[group[200.2+0.000799200799201*I,250.25+0.000799200799201*I],0]),pnt(pnt[group[250.25+0.000799200799201*I,250.25],0]),pnt(pnt[group[200.2,250.25],0]),pnt(pnt[line[250.25,300.3,300.3+0.000999000999001*I,250.25+0.000999000999001*I,250.25],56]),pnt(pnt[group[250.25,250.25+0.000999000999001*I],0]),pnt(pnt[group[250.25+0.000999000999001*I,300.3+0.000999000999001*I],0]),pnt(pnt[group[300.3+0.000999000999001*I,300.3],0]),pnt(pnt[group[250.25,300.3],0]),pnt(pnt[line[300.3,350.35,350.35+0.000799200799201*I,300.3+0.000799200799201*I,300.3],56]),pnt(pnt[group[300.3,300.3+0.000799200799201*I],0]),pnt(pnt[group[300.3+0.000799200799201*I,350.35+0.000799200799201*I],0]),pnt(pnt[group[350.35+0.000799200799201*I,350.35],0]),pnt(pnt[group[300.3,350.35],0]),pnt(pnt[line[350.35,400.4,400.4+0.0017982017982*I,350.35+0.0017982017982*I,350.35],56]),pnt(pnt[group[350.35,350.35+0.0017982017982*I],0]),pnt(pnt[group[350.35+0.0017982017982*I,400.4+0.0017982017982*I],0]),pnt(pnt[group[400.4+0.0017982017982*I,400.4],0]),pnt(pnt[group[350.35,400.4],0]),pnt(pnt[line[400.4,450.45,450.45+0.0003996003996*I,400.4+0.0003996003996*I,400.4],56]),pnt(pnt[group[400.4,400.4+0.0003996003996*I],0]),pnt(pnt[group[400.4+0.0003996003996*I,450.45+0.0003996003996*I],0]),pnt(pnt[group[450.45+0.0003996003996*I,450.45],0]),pnt(pnt[group[400.4,450.45],0]),pnt(pnt[line[450.45,500.5,500.5+0.000999000999001*I,450.45+0.000999000999001*I,450.45],56]),pnt(pnt[group[450.45,450.45+0.000999000999001*I],0]),pnt(pnt[group[450.45+0.000999000999001*I,500.5+0.000999000999001*I],0]),pnt(pnt[group[500.5+0.000999000999001*I,500.5],0]),pnt(pnt[group[450.45,500.5],0]),pnt(pnt[line[500.5,550.55,550.55+0.000799200799201*I,500.5+0.000799200799201*I,500.5],56]),pnt(pnt[group[500.5,500.5+0.000799200799201*I],0]),pnt(pnt[group[500.5+0.000799200799201*I,550.55+0.000799200799201*I],0]),pnt(pnt[group[550.55+0.000799200799201*I,550.55],0]),pnt(pnt[group[500.5,550.55],0]),pnt(pnt[line[550.55,600.6,600.6+0.000599400599401*I,550.55+0.000599400599401*I,550.55],56]),pnt(pnt[group[550.55,550.55+0.000599400599401*I],0]),pnt(pnt[group[550.55+0.000599400599401*I,600.6+0.000599400599401*I],0]),pnt(pnt[group[600.6+0.000599400599401*I,600.6],0]),pnt(pnt[group[550.55,600.6],0]),pnt(pnt[line[600.6,650.65,650.65+0.0003996003996*I,600.6+0.0003996003996*I,600.6],56]),pnt(pnt[group[600.6,600.6+0.0003996003996*I],0]),pnt(pnt[group[600.6+0.0003996003996*I,650.65+0.0003996003996*I],0]),pnt(pnt[group[650.65+0.0003996003996*I,650.65],0]),pnt(pnt[group[600.6,650.65],0]),pnt(pnt[line[650.65,700.7,700.7+0.0013986013986*I,650.65+0.0013986013986*I,650.65],56]),pnt(pnt[group[650.65,650.65+0.0013986013986*I],0]),pnt(pnt[group[650.65+0.0013986013986*I,700.7+0.0013986013986*I],0]),pnt(pnt[group[700.7+0.0013986013986*I,700.7],0]),pnt(pnt[group[650.65,700.7],0]),pnt(pnt[line[700.7,750.75,750.75+0.001998001998*I,700.7+0.001998001998*I,700.7],56]),pnt(pnt[group[700.7,700.7+0.001998001998*I],0]),pnt(pnt[group[700.7+0.001998001998*I,750.75+0.001998001998*I],0]),pnt(pnt[group[750.75+0.001998001998*I,750.75],0]),pnt(pnt[group[700.7,750.75],0]),pnt(pnt[line[750.75,800.8,800.8+0.000799200799201*I,750.75+0.000799200799201*I,750.75],56]),pnt(pnt[group[750.75,750.75+0.000799200799201*I],0]),pnt(pnt[group[750.75+0.000799200799201*I,800.8+0.000799200799201*I],0]),pnt(pnt[group[800.8+0.000799200799201*I,800.8],0]),pnt(pnt[group[750.75,800.8],0]),pnt(pnt[line[800.8,850.85,850.85+0.000799200799201*I,800.8+0.000799200799201*I,800.8],56]),pnt(pnt[group[800.8,800.8+0.000799200799201*I],0]),pnt(pnt[group[800.8+0.000799200799201*I,850.85+0.000799200799201*I],0]),pnt(pnt[group[850.85+0.000799200799201*I,850.85],0]),pnt(pnt[group[800.8,850.85],0]),pnt(pnt[line[850.85,900.9,900.9+0.0015984015984*I,850.85+0.0015984015984*I,850.85],56]),pnt(pnt[group[850.85,850.85+0.0015984015984*I],0]),pnt(pnt[group[850.85+0.0015984015984*I,900.9+0.0015984015984*I],0]),pnt(pnt[group[900.9+0.0015984015984*I,900.9],0]),pnt(pnt[group[850.85,900.9],0]),pnt(pnt[line[900.9,950.95,950.95+0.001998001998*I,900.9+0.001998001998*I,900.9],56]),pnt(pnt[group[900.9,900.9+0.001998001998*I],0]),pnt(pnt[group[900.9+0.001998001998*I,950.95+0.001998001998*I],0]),pnt(pnt[group[950.95+0.001998001998*I,950.95],0]),pnt(pnt[group[900.9,950.95],0]),pnt(pnt[line[950.95,1001.0,1001.0+0.000799200799201*I,950.95+0.000799200799201*I,950.95],56]),pnt(pnt[group[950.95,950.95+0.000799200799201*I],0]),pnt(pnt[group[950.95+0.000799200799201*I,1001.0+0.000799200799201*I],0]),pnt(pnt[group[1001.0+0.000799200799201*I,1001.0],0]),pnt(pnt[group[950.95,1001.0],0])],
---
> [axes=3,pnt(pnt[line[0.0,200.2,200.2+0.000749250749251*I,0.000749250749251*I,0.0],1073741871]),pnt(pnt[group[0.0,0.000749250749251*I],56]),pnt(pnt[group[0.000749250749251*I,200.2+0.000749250749251*I],56]),pnt(pnt[group[200.2+0.000749250749251*I,200.2],56]),pnt(pnt[group[0.0,200.2],56]),pnt(pnt[line[200.2,400.4,400.4+0.0010989010989*I,200.2+0.0010989010989*I,200.2],1073741871]),pnt(pnt[group[200.2,200.2+0.0010989010989*I],56]),pnt(pnt[group[200.2+0.0010989010989*I,400.4+0.0010989010989*I],56]),pnt(pnt[group[400.4+0.0010989010989*I,400.4],56]),pnt(pnt[group[200.2,400.4],56]),pnt(pnt[line[400.4,600.6,600.6+0.000699300699301*I,400.4+0.000699300699301*I,400.4],1073741871]),pnt(pnt[group[400.4,400.4+0.000699300699301*I],56]),pnt(pnt[group[400.4+0.000699300699301*I,600.6+0.000699300699301*I],56]),pnt(pnt[group[600.6+0.000699300699301*I,600.6],56]),pnt(pnt[group[400.4,600.6],56]),pnt(pnt[line[600.6,800.8,800.8+0.00114885114885*I,600.6+0.00114885114885*I,600.6],1073741871]),pnt(pnt[group[600.6,600.6+0.00114885114885*I],56]),pnt(pnt[group[600.6+0.00114885114885*I,800.8+0.00114885114885*I],56]),pnt(pnt[group[800.8+0.00114885114885*I,800.8],56]),pnt(pnt[group[600.6,800.8],56]),pnt(pnt[line[800.8,1001.0,1001.0+0.0012987012987*I,800.8+0.0012987012987*I,800.8],1073741871]),pnt(pnt[group[800.8,800.8+0.0012987012987*I],56]),pnt(pnt[group[800.8+0.0012987012987*I,1001.0+0.0012987012987*I],56]),pnt(pnt[group[1001.0+0.0012987012987*I,1001.0],56]),pnt(pnt[group[800.8,1001.0],56])],
> [axes=3,pnt(pnt[line[0.0,50.05,50.05+0.0003996003996*I,0.0003996003996*I,0.0],1073741871]),pnt(pnt[group[0.0,0.0003996003996*I],56]),pnt(pnt[group[0.0003996003996*I,50.05+0.0003996003996*I],56]),pnt(pnt[group[50.05+0.0003996003996*I,50.05],56]),pnt(pnt[group[0.0,50.05],56]),pnt(pnt[line[50.05,100.1,100.1+0.000999000999001*I,50.05+0.000999000999001*I,50.05],1073741871]),pnt(pnt[group[50.05,50.05+0.000999000999001*I],56]),pnt(pnt[group[50.05+0.000999000999001*I,100.1+0.000999000999001*I],56]),pnt(pnt[group[100.1+0.000999000999001*I,100.1],56]),pnt(pnt[group[50.05,100.1],56]),pnt(pnt[line[100.1,150.15,150.15+0.000799200799201*I,100.1+0.000799200799201*I,100.1],1073741871]),pnt(pnt[group[100.1,100.1+0.000799200799201*I],56]),pnt(pnt[group[100.1+0.000799200799201*I,150.15+0.000799200799201*I],56]),pnt(pnt[group[150.15+0.000799200799201*I,150.15],56]),pnt(pnt[group[100.1,150.15],56]),pnt(pnt[line[150.15,200.2,200.2+0.000799200799201*I,150.15+0.000799200799201*I,150.15],1073741871]),pnt(pnt[group[150.15,150.15+0.000799200799201*I],56]),pnt(pnt[group[150.15+0.000799200799201*I,200.2+0.000799200799201*I],56]),pnt(pnt[group[200.2+0.000799200799201*I,200.2],56]),pnt(pnt[group[150.15,200.2],56]),pnt(pnt[line[200.2,250.25,250.25+0.000799200799201*I,200.2+0.000799200799201*I,200.2],1073741871]),pnt(pnt[group[200.2,200.2+0.000799200799201*I],56]),pnt(pnt[group[200.2+0.000799200799201*I,250.25+0.000799200799201*I],56]),pnt(pnt[group[250.25+0.000799200799201*I,250.25],56]),pnt(pnt[group[200.2,250.25],56]),pnt(pnt[line[250.25,300.3,300.3+0.000999000999001*I,250.25+0.000999000999001*I,250.25],1073741871]),pnt(pnt[group[250.25,250.25+0.000999000999001*I],56]),pnt(pnt[group[250.25+0.000999000999001*I,300.3+0.000999000999001*I],56]),pnt(pnt[group[300.3+0.000999000999001*I,300.3],56]),pnt(pnt[group[250.25,300.3],56]),pnt(pnt[line[300.3,350.35,350.35+0.000799200799201*I,300.3+0.000799200799201*I,300.3],1073741871]),pnt(pnt[group[300.3,300.3+0.000799200799201*I],56]),pnt(pnt[group[300.3+0.000799200799201*I,350.35+0.000799200799201*I],56]),pnt(pnt[group[350.35+0.000799200799201*I,350.35],56]),pnt(pnt[group[300.3,350.35],56]),pnt(pnt[line[350.35,400.4,400.4+0.0017982017982*I,350.35+0.0017982017982*I,350.35],1073741871]),pnt(pnt[group[350.35,350.35+0.0017982017982*I],56]),pnt(pnt[group[350.35+0.0017982017982*I,400.4+0.0017982017982*I],56]),pnt(pnt[group[400.4+0.0017982017982*I,400.4],56]),pnt(pnt[group[350.35,400.4],56]),pnt(pnt[line[400.4,450.45,450.45+0.0003996003996*I,400.4+0.0003996003996*I,400.4],1073741871]),pnt(pnt[group[400.4,400.4+0.0003996003996*I],56]),pnt(pnt[group[400.4+0.0003996003996*I,450.45+0.0003996003996*I],56]),pnt(pnt[group[450.45+0.0003996003996*I,450.45],56]),pnt(pnt[group[400.4,450.45],56]),pnt(pnt[line[450.45,500.5,500.5+0.000999000999001*I,450.45+0.000999000999001*I,450.45],1073741871]),pnt(pnt[group[450.45,450.45+0.000999000999001*I],56]),pnt(pnt[group[450.45+0.000999000999001*I,500.5+0.000999000999001*I],56]),pnt(pnt[group[500.5+0.000999000999001*I,500.5],56]),pnt(pnt[group[450.45,500.5],56]),pnt(pnt[line[500.5,550.55,550.55+0.000799200799201*I,500.5+0.000799200799201*I,500.5],1073741871]),pnt(pnt[group[500.5,500.5+0.000799200799201*I],56]),pnt(pnt[group[500.5+0.000799200799201*I,550.55+0.000799200799201*I],56]),pnt(pnt[group[550.55+0.000799200799201*I,550.55],56]),pnt(pnt[group[500.5,550.55],56]),pnt(pnt[line[550.55,600.6,600.6+0.000599400599401*I,550.55+0.000599400599401*I,550.55],1073741871]),pnt(pnt[group[550.55,550.55+0.000599400599401*I],56]),pnt(pnt[group[550.55+0.000599400599401*I,600.6+0.000599400599401*I],56]),pnt(pnt[group[600.6+0.000599400599401*I,600.6],56]),pnt(pnt[group[550.55,600.6],56]),pnt(pnt[line[600.6,650.65,650.65+0.0003996003996*I,600.6+0.0003996003996*I,600.6],1073741871]),pnt(pnt[group[600.6,600.6+0.0003996003996*I],56]),pnt(pnt[group[600.6+0.0003996003996*I,650.65+0.0003996003996*I],56]),pnt(pnt[group[650.65+0.0003996003996*I,650.65],56]),pnt(pnt[group[600.6,650.65],56]),pnt(pnt[line[650.65,700.7,700.7+0.0013986013986*I,650.65+0.0013986013986*I,650.65],1073741871]),pnt(pnt[group[650.65,650.65+0.0013986013986*I],56]),pnt(pnt[group[650.65+0.0013986013986*I,700.7+0.0013986013986*I],56]),pnt(pnt[group[700.7+0.0013986013986*I,700.7],56]),pnt(pnt[group[650.65,700.7],56]),pnt(pnt[line[700.7,750.75,750.75+0.001998001998*I,700.7+0.001998001998*I,700.7],1073741871]),pnt(pnt[group[700.7,700.7+0.001998001998*I],56]),pnt(pnt[group[700.7+0.001998001998*I,750.75+0.001998001998*I],56]),pnt(pnt[group[750.75+0.001998001998*I,750.75],56]),pnt(pnt[group[700.7,750.75],56]),pnt(pnt[line[750.75,800.8,800.8+0.000799200799201*I,750.75+0.000799200799201*I,750.75],1073741871]),pnt(pnt[group[750.75,750.75+0.000799200799201*I],56]),pnt(pnt[group[750.75+0.000799200799201*I,800.8+0.000799200799201*I],56]),pnt(pnt[group[800.8+0.000799200799201*I,800.8],56]),pnt(pnt[group[750.75,800.8],56]),pnt(pnt[line[800.8,850.85,850.85+0.000799200799201*I,800.8+0.000799200799201*I,800.8],1073741871]),pnt(pnt[group[800.8,800.8+0.000799200799201*I],56]),pnt(pnt[group[800.8+0.000799200799201*I,850.85+0.000799200799201*I],56]),pnt(pnt[group[850.85+0.000799200799201*I,850.85],56]),pnt(pnt[group[800.8,850.85],56]),pnt(pnt[line[850.85,900.9,900.9+0.0015984015984*I,850.85+0.0015984015984*I,850.85],1073741871]),pnt(pnt[group[850.85,850.85+0.0015984015984*I],56]),pnt(pnt[group[850.85+0.0015984015984*I,900.9+0.0015984015984*I],56]),pnt(pnt[group[900.9+0.0015984015984*I,900.9],56]),pnt(pnt[group[850.85,900.9],56]),pnt(pnt[line[900.9,950.95,950.95+0.001998001998*I,900.9+0.001998001998*I,900.9],1073741871]),pnt(pnt[group[900.9,900.9+0.001998001998*I],56]),pnt(pnt[group[900.9+0.001998001998*I,950.95+0.001998001998*I],56]),pnt(pnt[group[950.95+0.001998001998*I,950.95],56]),pnt(pnt[group[900.9,950.95],56]),pnt(pnt[line[950.95,1001.0,1001.0+0.000799200799201*I,950.95+0.000799200799201*I,950.95],1073741871]),pnt(pnt[group[950.95,950.95+0.000799200799201*I],56]),pnt(pnt[group[950.95+0.000799200799201*I,1001.0+0.000799200799201*I],56]),pnt(pnt[group[1001.0+0.000799200799201*I,1001.0],56]),pnt(pnt[group[950.95,1001.0],56])],
48,49c48,49
< [pnt(pnt[line[0.0,5.0,5.0+0.02*I,0.02*I,0.0],56]),pnt(pnt[group[0.0,0.02*I],0]),pnt(pnt[group[0.02*I,5.0+0.02*I],0]),pnt(pnt[group[5.0+0.02*I,5.0],0]),pnt(pnt[group[0.0,5.0],0]),pnt(pnt[line[5.0,10.0,10.0+0.01*I,5.0+0.01*I,5.0],56]),pnt(pnt[group[5.0,5.0+0.01*I],0]),pnt(pnt[group[5.0+0.01*I,10.0+0.01*I],0]),pnt(pnt[group[10.0+0.01*I,10.0],0]),pnt(pnt[group[5.0,10.0],0]),pnt(pnt[line[10.0,15.0,15.0,10.0,10.0],56]),pnt(pnt[group[10.0,10.0],0]),pnt(pnt[group[10.0,15.0],0]),pnt(pnt[group[15.0,15.0],0]),pnt(pnt[group[10.0,15.0],0]),pnt(pnt[line[15.0,20.0,20.0+0.01*I,15.0+0.01*I,15.0],56]),pnt(pnt[group[15.0,15.0+0.01*I],0]),pnt(pnt[group[15.0+0.01*I,20.0+0.01*I],0]),pnt(pnt[group[20.0+0.01*I,20.0],0]),pnt(pnt[group[15.0,20.0],0]),pnt(pnt[line[20.0,25.0,25.0+0.02*I,20.0+0.02*I,20.0],56]),pnt(pnt[group[20.0,20.0+0.02*I],0]),pnt(pnt[group[20.0+0.02*I,25.0+0.02*I],0]),pnt(pnt[group[25.0+0.02*I,25.0],0]),pnt(pnt[group[20.0,25.0],0]),pnt(pnt[line[25.0,30.0,30.0+0.01*I,25.0+0.01*I,25.0],56]),pnt(pnt[group[25.0,25.0+0.01*I],0]),pnt(pnt[group[25.0+0.01*I,30.0+0.01*I],0]),pnt(pnt[group[30.0+0.01*I,30.0],0]),pnt(pnt[group[25.0,30.0],0]),pnt(pnt[line[30.0,35.0,35.0,30.0,30.0],56]),pnt(pnt[group[30.0,30.0],0]),pnt(pnt[group[30.0,35.0],0]),pnt(pnt[group[35.0,35.0],0]),pnt(pnt[group[30.0,35.0],0]),pnt(pnt[line[35.0,40.0,40.0+0.01*I,35.0+0.01*I,35.0],56]),pnt(pnt[group[35.0,35.0+0.01*I],0]),pnt(pnt[group[35.0+0.01*I,40.0+0.01*I],0]),pnt(pnt[group[40.0+0.01*I,40.0],0]),pnt(pnt[group[35.0,40.0],0]),pnt(pnt[line[40.0,45.0,45.0+0.02*I,40.0+0.02*I,40.0],56]),pnt(pnt[group[40.0,40.0+0.02*I],0]),pnt(pnt[group[40.0+0.02*I,45.0+0.02*I],0]),pnt(pnt[group[45.0+0.02*I,45.0],0]),pnt(pnt[group[40.0,45.0],0]),pnt(pnt[line[45.0,50.0,50.0+0.01*I,45.0+0.01*I,45.0],56]),pnt(pnt[group[45.0,45.0+0.01*I],0]),pnt(pnt[group[45.0+0.01*I,50.0+0.01*I],0]),pnt(pnt[group[50.0+0.01*I,50.0],0]),pnt(pnt[group[45.0,50.0],0]),pnt(pnt[line[50.0,55.0,55.0,50.0,50.0],56]),pnt(pnt[group[50.0,50.0],0]),pnt(pnt[group[50.0,55.0],0]),pnt(pnt[group[55.0,55.0],0]),pnt(pnt[group[50.0,55.0],0]),pnt(pnt[line[55.0,60.0,60.0+0.01*I,55.0+0.01*I,55.0],56]),pnt(pnt[group[55.0,55.0+0.01*I],0]),pnt(pnt[group[55.0+0.01*I,60.0+0.01*I],0]),pnt(pnt[group[60.0+0.01*I,60.0],0]),pnt(pnt[group[55.0,60.0],0]),pnt(pnt[line[60.0,65.0,65.0+0.02*I,60.0+0.02*I,60.0],56]),pnt(pnt[group[60.0,60.0+0.02*I],0]),pnt(pnt[group[60.0+0.02*I,65.0+0.02*I],0]),pnt(pnt[group[65.0+0.02*I,65.0],0]),pnt(pnt[group[60.0,65.0],0]),pnt(pnt[line[65.0,70.0,70.0+0.01*I,65.0+0.01*I,65.0],56]),pnt(pnt[group[65.0,65.0+0.01*I],0]),pnt(pnt[group[65.0+0.01*I,70.0+0.01*I],0]),pnt(pnt[group[70.0+0.01*I,70.0],0]),pnt(pnt[group[65.0,70.0],0]),pnt(pnt[line[70.0,75.0,75.0,70.0,70.0],56]),pnt(pnt[group[70.0,70.0],0]),pnt(pnt[group[70.0,75.0],0]),pnt(pnt[group[75.0,75.0],0]),pnt(pnt[group[70.0,75.0],0]),pnt(pnt[line[75.0,80.0,80.0+0.01*I,75.0+0.01*I,75.0],56]),pnt(pnt[group[75.0,75.0+0.01*I],0]),pnt(pnt[group[75.0+0.01*I,80.0+0.01*I],0]),pnt(pnt[group[80.0+0.01*I,80.0],0]),pnt(pnt[group[75.0,80.0],0]),pnt(pnt[line[80.0,85.0,85.0+0.02*I,80.0+0.02*I,80.0],56]),pnt(pnt[group[80.0,80.0+0.02*I],0]),pnt(pnt[group[80.0+0.02*I,85.0+0.02*I],0]),pnt(pnt[group[85.0+0.02*I,85.0],0]),pnt(pnt[group[80.0,85.0],0]),pnt(pnt[line[85.0,90.0,90.0+0.01*I,85.0+0.01*I,85.0],56]),pnt(pnt[group[85.0,85.0+0.01*I],0]),pnt(pnt[group[85.0+0.01*I,90.0+0.01*I],0]),pnt(pnt[group[90.0+0.01*I,90.0],0]),pnt(pnt[group[85.0,90.0],0]),pnt(pnt[line[90.0,95.0,95.0,90.0,90.0],56]),pnt(pnt[group[90.0,90.0],0]),pnt(pnt[group[90.0,95.0],0]),pnt(pnt[group[95.0,95.0],0]),pnt(pnt[group[90.0,95.0],0]),pnt(pnt[line[95.0,100.0,100.0+0.01*I,95.0+0.01*I,95.0],56]),pnt(pnt[group[95.0,95.0+0.01*I],0]),pnt(pnt[group[95.0+0.01*I,100.0+0.01*I],0]),pnt(pnt[group[100.0+0.01*I,100.0],0]),pnt(pnt[group[95.0,100.0],0])],
< [pnt(pnt[line[0.0,5.0,5.0+0.0104*I,0.0104*I,0.0],56]),pnt(pnt[group[0.0,0.0104*I],0]),pnt(pnt[group[0.0104*I,5.0+0.0104*I],0]),pnt(pnt[group[5.0+0.0104*I,5.0],0]),pnt(pnt[group[0.0,5.0],0]),pnt(pnt[line[5.0,10.0,10.0+0.0104*I,5.0+0.0104*I,5.0],56]),pnt(pnt[group[5.0,5.0+0.0104*I],0]),pnt(pnt[group[5.0+0.0104*I,10.0+0.0104*I],0]),pnt(pnt[group[10.0+0.0104*I,10.0],0]),pnt(pnt[group[5.0,10.0],0]),pnt(pnt[line[10.0,15.0,15.0+0.0136*I,10.0+0.0136*I,10.0],56]),pnt(pnt[group[10.0,10.0+0.0136*I],0]),pnt(pnt[group[10.0+0.0136*I,15.0+0.0136*I],0]),pnt(pnt[group[15.0+0.0136*I,15.0],0]),pnt(pnt[group[10.0,15.0],0]),pnt(pnt[line[15.0,20.0,20.0+0.0088*I,15.0+0.0088*I,15.0],56]),pnt(pnt[group[15.0,15.0+0.0088*I],0]),pnt(pnt[group[15.0+0.0088*I,20.0+0.0088*I],0]),pnt(pnt[group[20.0+0.0088*I,20.0],0]),pnt(pnt[group[15.0,20.0],0]),pnt(pnt[line[20.0,25.0,25.0+0.0084*I,20.0+0.0084*I,20.0],56]),pnt(pnt[group[20.0,20.0+0.0084*I],0]),pnt(pnt[group[20.0+0.0084*I,25.0+0.0084*I],0]),pnt(pnt[group[25.0+0.0084*I,25.0],0]),pnt(pnt[group[20.0,25.0],0]),pnt(pnt[line[25.0,30.0,30.0+0.0104*I,25.0+0.0104*I,25.0],56]),pnt(pnt[group[25.0,25.0+0.0104*I],0]),pnt(pnt[group[25.0+0.0104*I,30.0+0.0104*I],0]),pnt(pnt[group[30.0+0.0104*I,30.0],0]),pnt(pnt[group[25.0,30.0],0]),pnt(pnt[line[30.0,35.0,35.0+0.0084*I,30.0+0.0084*I,30.0],56]),pnt(pnt[group[30.0,30.0+0.0084*I],0]),pnt(pnt[group[30.0+0.0084*I,35.0+0.0084*I],0]),pnt(pnt[group[35.0+0.0084*I,35.0],0]),pnt(pnt[group[30.0,35.0],0]),pnt(pnt[line[35.0,40.0,40.0+0.0092*I,35.0+0.0092*I,35.0],56]),pnt(pnt[group[35.0,35.0+0.0092*I],0]),pnt(pnt[group[35.0+0.0092*I,40.0+0.0092*I],0]),pnt(pnt[group[40.0+0.0092*I,40.0],0]),pnt(pnt[group[35.0,40.0],0]),pnt(pnt[line[40.0,45.0,45.0+0.0144*I,40.0+0.0144*I,40.0],56]),pnt(pnt[group[40.0,40.0+0.0144*I],0]),pnt(pnt[group[40.0+0.0144*I,45.0+0.0144*I],0]),pnt(pnt[group[45.0+0.0144*I,45.0],0]),pnt(pnt[group[40.0,45.0],0]),pnt(pnt[line[45.0,50.0,50.0+0.01*I,45.0+0.01*I,45.0],56]),pnt(pnt[group[45.0,45.0+0.01*I],0]),pnt(pnt[group[45.0+0.01*I,50.0+0.01*I],0]),pnt(pnt[group[50.0+0.01*I,50.0],0]),pnt(pnt[group[45.0,50.0],0]),pnt(pnt[line[50.0,55.0,55.0+0.008*I,50.0+0.008*I,50.0],56]),pnt(pnt[group[50.0,50.0+0.008*I],0]),pnt(pnt[group[50.0+0.008*I,55.0+0.008*I],0]),pnt(pnt[group[55.0+0.008*I,55.0],0]),pnt(pnt[group[50.0,55.0],0]),pnt(pnt[line[55.0,60.0,60.0+0.0104*I,55.0+0.0104*I,55.0],56]),pnt(pnt[group[55.0,55.0+0.0104*I],0]),pnt(pnt[group[55.0+0.0104*I,60.0+0.0104*I],0]),pnt(pnt[group[60.0+0.0104*I,60.0],0]),pnt(pnt[group[55.0,60.0],0]),pnt(pnt[line[60.0,65.0,65.0+0.0076*I,60.0+0.0076*I,60.0],56]),pnt(pnt[group[60.0,60.0+0.0076*I],0]),pnt(pnt[group[60.0+0.0076*I,65.0+0.0076*I],0]),pnt(pnt[group[65.0+0.0076*I,65.0],0]),pnt(pnt[group[60.0,65.0],0]),pnt(pnt[line[65.0,70.0,70.0+0.008*I,65.0+0.008*I,65.0],56]),pnt(pnt[group[65.0,65.0+0.008*I],0]),pnt(pnt[group[65.0+0.008*I,70.0+0.008*I],0]),pnt(pnt[group[70.0+0.008*I,70.0],0]),pnt(pnt[group[65.0,70.0],0]),pnt(pnt[line[70.0,75.0,75.0+0.01*I,70.0+0.01*I,70.0],56]),pnt(pnt[group[70.0,70.0+0.01*I],0]),pnt(pnt[group[70.0+0.01*I,75.0+0.01*I],0]),pnt(pnt[group[75.0+0.01*I,75.0],0]),pnt(pnt[group[70.0,75.0],0]),pnt(pnt[line[75.0,80.0,80.0+0.0112*I,75.0+0.0112*I,75.0],56]),pnt(pnt[group[75.0,75.0+0.0112*I],0]),pnt(pnt[group[75.0+0.0112*I,80.0+0.0112*I],0]),pnt(pnt[group[80.0+0.0112*I,80.0],0]),pnt(pnt[group[75.0,80.0],0]),pnt(pnt[line[80.0,85.0,85.0+0.0108*I,80.0+0.0108*I,80.0],56]),pnt(pnt[group[80.0,80.0+0.0108*I],0]),pnt(pnt[group[80.0+0.0108*I,85.0+0.0108*I],0]),pnt(pnt[group[85.0+0.0108*I,85.0],0]),pnt(pnt[group[80.0,85.0],0]),pnt(pnt[line[85.0,90.0,90.0+0.0096*I,85.0+0.0096*I,85.0],56]),pnt(pnt[group[85.0,85.0+0.0096*I],0]),pnt(pnt[group[85.0+0.0096*I,90.0+0.0096*I],0]),pnt(pnt[group[90.0+0.0096*I,90.0],0]),pnt(pnt[group[85.0,90.0],0]),pnt(pnt[line[90.0,95.0,95.0+0.0088*I,90.0+0.0088*I,90.0],56]),pnt(pnt[group[90.0,90.0+0.0088*I],0]),pnt(pnt[group[90.0+0.0088*I,95.0+0.0088*I],0]),pnt(pnt[group[95.0+0.0088*I,95.0],0]),pnt(pnt[group[90.0,95.0],0]),pnt(pnt[line[95.0,100.0,100.0+0.0116*I,95.0+0.0116*I,95.0],56]),pnt(pnt[group[95.0,95.0+0.0116*I],0]),pnt(pnt[group[95.0+0.0116*I,100.0+0.0116*I],0]),pnt(pnt[group[100.0+0.0116*I,100.0],0]),pnt(pnt[group[95.0,100.0],0])],
---
> [axes=3,pnt(pnt[line[0.0,5.0,5.0+0.02*I,0.02*I,0.0],1073741871]),pnt(pnt[group[0.0,0.02*I],56]),pnt(pnt[group[0.02*I,5.0+0.02*I],56]),pnt(pnt[group[5.0+0.02*I,5.0],56]),pnt(pnt[group[0.0,5.0],56]),pnt(pnt[line[5.0,10.0,10.0+0.01*I,5.0+0.01*I,5.0],1073741871]),pnt(pnt[group[5.0,5.0+0.01*I],56]),pnt(pnt[group[5.0+0.01*I,10.0+0.01*I],56]),pnt(pnt[group[10.0+0.01*I,10.0],56]),pnt(pnt[group[5.0,10.0],56]),pnt(pnt[line[10.0,15.0,15.0,10.0,10.0],1073741871]),pnt(pnt[group[10.0,10.0],56]),pnt(pnt[group[10.0,15.0],56]),pnt(pnt[group[15.0,15.0],56]),pnt(pnt[group[10.0,15.0],56]),pnt(pnt[line[15.0,20.0,20.0+0.01*I,15.0+0.01*I,15.0],1073741871]),pnt(pnt[group[15.0,15.0+0.01*I],56]),pnt(pnt[group[15.0+0.01*I,20.0+0.01*I],56]),pnt(pnt[group[20.0+0.01*I,20.0],56]),pnt(pnt[group[15.0,20.0],56]),pnt(pnt[line[20.0,25.0,25.0+0.02*I,20.0+0.02*I,20.0],1073741871]),pnt(pnt[group[20.0,20.0+0.02*I],56]),pnt(pnt[group[20.0+0.02*I,25.0+0.02*I],56]),pnt(pnt[group[25.0+0.02*I,25.0],56]),pnt(pnt[group[20.0,25.0],56]),pnt(pnt[line[25.0,30.0,30.0+0.01*I,25.0+0.01*I,25.0],1073741871]),pnt(pnt[group[25.0,25.0+0.01*I],56]),pnt(pnt[group[25.0+0.01*I,30.0+0.01*I],56]),pnt(pnt[group[30.0+0.01*I,30.0],56]),pnt(pnt[group[25.0,30.0],56]),pnt(pnt[line[30.0,35.0,35.0,30.0,30.0],1073741871]),pnt(pnt[group[30.0,30.0],56]),pnt(pnt[group[30.0,35.0],56]),pnt(pnt[group[35.0,35.0],56]),pnt(pnt[group[30.0,35.0],56]),pnt(pnt[line[35.0,40.0,40.0+0.01*I,35.0+0.01*I,35.0],1073741871]),pnt(pnt[group[35.0,35.0+0.01*I],56]),pnt(pnt[group[35.0+0.01*I,40.0+0.01*I],56]),pnt(pnt[group[40.0+0.01*I,40.0],56]),pnt(pnt[group[35.0,40.0],56]),pnt(pnt[line[40.0,45.0,45.0+0.02*I,40.0+0.02*I,40.0],1073741871]),pnt(pnt[group[40.0,40.0+0.02*I],56]),pnt(pnt[group[40.0+0.02*I,45.0+0.02*I],56]),pnt(pnt[group[45.0+0.02*I,45.0],56]),pnt(pnt[group[40.0,45.0],56]),pnt(pnt[line[45.0,50.0,50.0+0.01*I,45.0+0.01*I,45.0],1073741871]),pnt(pnt[group[45.0,45.0+0.01*I],56]),pnt(pnt[group[45.0+0.01*I,50.0+0.01*I],56]),pnt(pnt[group[50.0+0.01*I,50.0],56]),pnt(pnt[group[45.0,50.0],56]),pnt(pnt[line[50.0,55.0,55.0,50.0,50.0],1073741871]),pnt(pnt[group[50.0,50.0],56]),pnt(pnt[group[50.0,55.0],56]),pnt(pnt[group[55.0,55.0],56]),pnt(pnt[group[50.0,55.0],56]),pnt(pnt[line[55.0,60.0,60.0+0.01*I,55.0+0.01*I,55.0],1073741871]),pnt(pnt[group[55.0,55.0+0.01*I],56]),pnt(pnt[group[55.0+0.01*I,60.0+0.01*I],56]),pnt(pnt[group[60.0+0.01*I,60.0],56]),pnt(pnt[group[55.0,60.0],56]),pnt(pnt[line[60.0,65.0,65.0+0.02*I,60.0+0.02*I,60.0],1073741871]),pnt(pnt[group[60.0,60.0+0.02*I],56]),pnt(pnt[group[60.0+0.02*I,65.0+0.02*I],56]),pnt(pnt[group[65.0+0.02*I,65.0],56]),pnt(pnt[group[60.0,65.0],56]),pnt(pnt[line[65.0,70.0,70.0+0.01*I,65.0+0.01*I,65.0],1073741871]),pnt(pnt[group[65.0,65.0+0.01*I],56]),pnt(pnt[group[65.0+0.01*I,70.0+0.01*I],56]),pnt(pnt[group[70.0+0.01*I,70.0],56]),pnt(pnt[group[65.0,70.0],56]),pnt(pnt[line[70.0,75.0,75.0,70.0,70.0],1073741871]),pnt(pnt[group[70.0,70.0],56]),pnt(pnt[group[70.0,75.0],56]),pnt(pnt[group[75.0,75.0],56]),pnt(pnt[group[70.0,75.0],56]),pnt(pnt[line[75.0,80.0,80.0+0.01*I,75.0+0.01*I,75.0],1073741871]),pnt(pnt[group[75.0,75.0+0.01*I],56]),pnt(pnt[group[75.0+0.01*I,80.0+0.01*I],56]),pnt(pnt[group[80.0+0.01*I,80.0],56]),pnt(pnt[group[75.0,80.0],56]),pnt(pnt[line[80.0,85.0,85.0+0.02*I,80.0+0.02*I,80.0],1073741871]),pnt(pnt[group[80.0,80.0+0.02*I],56]),pnt(pnt[group[80.0+0.02*I,85.0+0.02*I],56]),pnt(pnt[group[85.0+0.02*I,85.0],56]),pnt(pnt[group[80.0,85.0],56]),pnt(pnt[line[85.0,90.0,90.0+0.01*I,85.0+0.01*I,85.0],1073741871]),pnt(pnt[group[85.0,85.0+0.01*I],56]),pnt(pnt[group[85.0+0.01*I,90.0+0.01*I],56]),pnt(pnt[group[90.0+0.01*I,90.0],56]),pnt(pnt[group[85.0,90.0],56]),pnt(pnt[line[90.0,95.0,95.0,90.0,90.0],1073741871]),pnt(pnt[group[90.0,90.0],56]),pnt(pnt[group[90.0,95.0],56]),pnt(pnt[group[95.0,95.0],56]),pnt(pnt[group[90.0,95.0],56]),pnt(pnt[line[95.0,100.0,100.0+0.01*I,95.0+0.01*I,95.0],1073741871]),pnt(pnt[group[95.0,95.0+0.01*I],56]),pnt(pnt[group[95.0+0.01*I,100.0+0.01*I],56]),pnt(pnt[group[100.0+0.01*I,100.0],56]),pnt(pnt[group[95.0,100.0],56])],
> [axes=3,pnt(pnt[line[0.0,5.0,5.0+0.0104*I,0.0104*I,0.0],1073741871]),pnt(pnt[group[0.0,0.0104*I],56]),pnt(pnt[group[0.0104*I,5.0+0.0104*I],56]),pnt(pnt[group[5.0+0.0104*I,5.0],56]),pnt(pnt[group[0.0,5.0],56]),pnt(pnt[line[5.0,10.0,10.0+0.0104*I,5.0+0.0104*I,5.0],1073741871]),pnt(pnt[group[5.0,5.0+0.0104*I],56]),pnt(pnt[group[5.0+0.0104*I,10.0+0.0104*I],56]),pnt(pnt[group[10.0+0.0104*I,10.0],56]),pnt(pnt[group[5.0,10.0],56]),pnt(pnt[line[10.0,15.0,15.0+0.0136*I,10.0+0.0136*I,10.0],1073741871]),pnt(pnt[group[10.0,10.0+0.0136*I],56]),pnt(pnt[group[10.0+0.0136*I,15.0+0.0136*I],56]),pnt(pnt[group[15.0+0.0136*I,15.0],56]),pnt(pnt[group[10.0,15.0],56]),pnt(pnt[line[15.0,20.0,20.0+0.0088*I,15.0+0.0088*I,15.0],1073741871]),pnt(pnt[group[15.0,15.0+0.0088*I],56]),pnt(pnt[group[15.0+0.0088*I,20.0+0.0088*I],56]),pnt(pnt[group[20.0+0.0088*I,20.0],56]),pnt(pnt[group[15.0,20.0],56]),pnt(pnt[line[20.0,25.0,25.0+0.0084*I,20.0+0.0084*I,20.0],1073741871]),pnt(pnt[group[20.0,20.0+0.0084*I],56]),pnt(pnt[group[20.0+0.0084*I,25.0+0.0084*I],56]),pnt(pnt[group[25.0+0.0084*I,25.0],56]),pnt(pnt[group[20.0,25.0],56]),pnt(pnt[line[25.0,30.0,30.0+0.0104*I,25.0+0.0104*I,25.0],1073741871]),pnt(pnt[group[25.0,25.0+0.0104*I],56]),pnt(pnt[group[25.0+0.0104*I,30.0+0.0104*I],56]),pnt(pnt[group[30.0+0.0104*I,30.0],56]),pnt(pnt[group[25.0,30.0],56]),pnt(pnt[line[30.0,35.0,35.0+0.0084*I,30.0+0.0084*I,30.0],1073741871]),pnt(pnt[group[30.0,30.0+0.0084*I],56]),pnt(pnt[group[30.0+0.0084*I,35.0+0.0084*I],56]),pnt(pnt[group[35.0+0.0084*I,35.0],56]),pnt(pnt[group[30.0,35.0],56]),pnt(pnt[line[35.0,40.0,40.0+0.0092*I,35.0+0.0092*I,35.0],1073741871]),pnt(pnt[group[35.0,35.0+0.0092*I],56]),pnt(pnt[group[35.0+0.0092*I,40.0+0.0092*I],56]),pnt(pnt[group[40.0+0.0092*I,40.0],56]),pnt(pnt[group[35.0,40.0],56]),pnt(pnt[line[40.0,45.0,45.0+0.0144*I,40.0+0.0144*I,40.0],1073741871]),pnt(pnt[group[40.0,40.0+0.0144*I],56]),pnt(pnt[group[40.0+0.0144*I,45.0+0.0144*I],56]),pnt(pnt[group[45.0+0.0144*I,45.0],56]),pnt(pnt[group[40.0,45.0],56]),pnt(pnt[line[45.0,50.0,50.0+0.01*I,45.0+0.01*I,45.0],1073741871]),pnt(pnt[group[45.0,45.0+0.01*I],56]),pnt(pnt[group[45.0+0.01*I,50.0+0.01*I],56]),pnt(pnt[group[50.0+0.01*I,50.0],56]),pnt(pnt[group[45.0,50.0],56]),pnt(pnt[line[50.0,55.0,55.0+0.008*I,50.0+0.008*I,50.0],1073741871]),pnt(pnt[group[50.0,50.0+0.008*I],56]),pnt(pnt[group[50.0+0.008*I,55.0+0.008*I],56]),pnt(pnt[group[55.0+0.008*I,55.0],56]),pnt(pnt[group[50.0,55.0],56]),pnt(pnt[line[55.0,60.0,60.0+0.0104*I,55.0+0.0104*I,55.0],1073741871]),pnt(pnt[group[55.0,55.0+0.0104*I],56]),pnt(pnt[group[55.0+0.0104*I,60.0+0.0104*I],56]),pnt(pnt[group[60.0+0.0104*I,60.0],56]),pnt(pnt[group[55.0,60.0],56]),pnt(pnt[line[60.0,65.0,65.0+0.0076*I,60.0+0.0076*I,60.0],1073741871]),pnt(pnt[group[60.0,60.0+0.0076*I],56]),pnt(pnt[group[60.0+0.0076*I,65.0+0.0076*I],56]),pnt(pnt[group[65.0+0.0076*I,65.0],56]),pnt(pnt[group[60.0,65.0],56]),pnt(pnt[line[65.0,70.0,70.0+0.008*I,65.0+0.008*I,65.0],1073741871]),pnt(pnt[group[65.0,65.0+0.008*I],56]),pnt(pnt[group[65.0+0.008*I,70.0+0.008*I],56]),pnt(pnt[group[70.0+0.008*I,70.0],56]),pnt(pnt[group[65.0,70.0],56]),pnt(pnt[line[70.0,75.0,75.0+0.01*I,70.0+0.01*I,70.0],1073741871]),pnt(pnt[group[70.0,70.0+0.01*I],56]),pnt(pnt[group[70.0+0.01*I,75.0+0.01*I],56]),pnt(pnt[group[75.0+0.01*I,75.0],56]),pnt(pnt[group[70.0,75.0],56]),pnt(pnt[line[75.0,80.0,80.0+0.0112*I,75.0+0.0112*I,75.0],1073741871]),pnt(pnt[group[75.0,75.0+0.0112*I],56]),pnt(pnt[group[75.0+0.0112*I,80.0+0.0112*I],56]),pnt(pnt[group[80.0+0.0112*I,80.0],56]),pnt(pnt[group[75.0,80.0],56]),pnt(pnt[line[80.0,85.0,85.0+0.0108*I,80.0+0.0108*I,80.0],1073741871]),pnt(pnt[group[80.0,80.0+0.0108*I],56]),pnt(pnt[group[80.0+0.0108*I,85.0+0.0108*I],56]),pnt(pnt[group[85.0+0.0108*I,85.0],56]),pnt(pnt[group[80.0,85.0],56]),pnt(pnt[line[85.0,90.0,90.0+0.0096*I,85.0+0.0096*I,85.0],1073741871]),pnt(pnt[group[85.0,85.0+0.0096*I],56]),pnt(pnt[group[85.0+0.0096*I,90.0+0.0096*I],56]),pnt(pnt[group[90.0+0.0096*I,90.0],56]),pnt(pnt[group[85.0,90.0],56]),pnt(pnt[line[90.0,95.0,95.0+0.0088*I,90.0+0.0088*I,90.0],1073741871]),pnt(pnt[group[90.0,90.0+0.0088*I],56]),pnt(pnt[group[90.0+0.0088*I,95.0+0.0088*I],56]),pnt(pnt[group[95.0+0.0088*I,95.0],56]),pnt(pnt[group[90.0,95.0],56]),pnt(pnt[line[95.0,100.0,100.0+0.0116*I,95.0+0.0116*I,95.0],1073741871]),pnt(pnt[group[95.0,95.0+0.0116*I],56]),pnt(pnt[group[95.0+0.0116*I,100.0+0.0116*I],56]),pnt(pnt[group[100.0+0.0116*I,100.0],56]),pnt(pnt[group[95.0,100.0],56])],
51c51
< [pnt(pnt[line[0.0,1.0,1.0+0.25*I,0.25*I,0.0],56]),pnt(pnt[group[0.0,0.25*I],0]),pnt(pnt[group[0.25*I,1.0+0.25*I],0]),pnt(pnt[group[1.0+0.25*I,1.0],0]),pnt(pnt[group[0.0,1.0],0]),pnt(pnt[line[1.0,2.0,2.0+0.25*I,1.0+0.25*I,1.0],56]),pnt(pnt[group[1.0,1.0+0.25*I],0]),pnt(pnt[group[1.0+0.25*I,2.0+0.25*I],0]),pnt(pnt[group[2.0+0.25*I,2.0],0]),pnt(pnt[group[1.0,2.0],0]),pnt(pnt[line[2.0,3.0,3.0,2.0,2.0],56]),pnt(pnt[group[2.0,2.0],0]),pnt(pnt[group[2.0,3.0],0]),pnt(pnt[group[3.0,3.0],0]),pnt(pnt[group[2.0,3.0],0]),pnt(pnt[line[3.0,4.0,4.0,3.0,3.0],56]),pnt(pnt[group[3.0,3.0],0]),pnt(pnt[group[3.0,4.0],0]),pnt(pnt[group[4.0,4.0],0]),pnt(pnt[group[3.0,4.0],0]),pnt(pnt[line[4.0,5.0,5.0,4.0,4.0],56]),pnt(pnt[group[4.0,4.0],0]),pnt(pnt[group[4.0,5.0],0]),pnt(pnt[group[5.0,5.0],0]),pnt(pnt[group[4.0,5.0],0]),pnt(pnt[line[5.0,6.0,6.0,5.0,5.0],56]),pnt(pnt[group[5.0,5.0],0]),pnt(pnt[group[5.0,6.0],0]),pnt(pnt[group[6.0,6.0],0]),pnt(pnt[group[5.0,6.0],0]),pnt(pnt[line[6.0,7.0,7.0,6.0,6.0],56]),pnt(pnt[group[6.0,6.0],0]),pnt(pnt[group[6.0,7.0],0]),pnt(pnt[group[7.0,7.0],0]),pnt(pnt[group[6.0,7.0],0]),pnt(pnt[line[7.0,8.0,8.0+0.25*I,7.0+0.25*I,7.0],56]),pnt(pnt[group[7.0,7.0+0.25*I],0]),pnt(pnt[group[7.0+0.25*I,8.0+0.25*I],0]),pnt(pnt[group[8.0+0.25*I,8.0],0]),pnt(pnt[group[7.0,8.0],0]),pnt(pnt[line[8.0,9.0,9.0+0.25*I,8.0+0.25*I,8.0],56]),pnt(pnt[group[8.0,8.0+0.25*I],0]),pnt(pnt[group[8.0+0.25*I,9.0+0.25*I],0]),pnt(pnt[group[9.0+0.25*I,9.0],0]),pnt(pnt[group[8.0,9.0],0])],
---
> [axes=3,pnt(pnt[line[0.0,1.0,1.0+0.25*I,0.25*I,0.0],1073741871]),pnt(pnt[group[0.0,0.25*I],56]),pnt(pnt[group[0.25*I,1.0+0.25*I],56]),pnt(pnt[group[1.0+0.25*I,1.0],56]),pnt(pnt[group[0.0,1.0],56]),pnt(pnt[line[1.0,2.0,2.0+0.25*I,1.0+0.25*I,1.0],1073741871]),pnt(pnt[group[1.0,1.0+0.25*I],56]),pnt(pnt[group[1.0+0.25*I,2.0+0.25*I],56]),pnt(pnt[group[2.0+0.25*I,2.0],56]),pnt(pnt[group[1.0,2.0],56]),pnt(pnt[line[2.0,3.0,3.0,2.0,2.0],1073741871]),pnt(pnt[group[2.0,2.0],56]),pnt(pnt[group[2.0,3.0],56]),pnt(pnt[group[3.0,3.0],56]),pnt(pnt[group[2.0,3.0],56]),pnt(pnt[line[3.0,4.0,4.0,3.0,3.0],1073741871]),pnt(pnt[group[3.0,3.0],56]),pnt(pnt[group[3.0,4.0],56]),pnt(pnt[group[4.0,4.0],56]),pnt(pnt[group[3.0,4.0],56]),pnt(pnt[line[4.0,5.0,5.0,4.0,4.0],1073741871]),pnt(pnt[group[4.0,4.0],56]),pnt(pnt[group[4.0,5.0],56]),pnt(pnt[group[5.0,5.0],56]),pnt(pnt[group[4.0,5.0],56]),pnt(pnt[line[5.0,6.0,6.0,5.0,5.0],1073741871]),pnt(pnt[group[5.0,5.0],56]),pnt(pnt[group[5.0,6.0],56]),pnt(pnt[group[6.0,6.0],56]),pnt(pnt[group[5.0,6.0],56]),pnt(pnt[line[6.0,7.0,7.0,6.0,6.0],1073741871]),pnt(pnt[group[6.0,6.0],56]),pnt(pnt[group[6.0,7.0],56]),pnt(pnt[group[7.0,7.0],56]),pnt(pnt[group[6.0,7.0],56]),pnt(pnt[line[7.0,8.0,8.0+0.25*I,7.0+0.25*I,7.0],1073741871]),pnt(pnt[group[7.0,7.0+0.25*I],56]),pnt(pnt[group[7.0+0.25*I,8.0+0.25*I],56]),pnt(pnt[group[8.0+0.25*I,8.0],56]),pnt(pnt[group[7.0,8.0],56]),pnt(pnt[line[8.0,9.0,9.0+0.25*I,8.0+0.25*I,8.0],1073741871]),pnt(pnt[group[8.0,8.0+0.25*I],56]),pnt(pnt[group[8.0+0.25*I,9.0+0.25*I],56]),pnt(pnt[group[9.0+0.25*I,9.0],56]),pnt(pnt[group[8.0,9.0],56])],
60,61c60,61
< [pnt(pnt[line[0.0,5.0,5.0+0.004*I,0.004*I,0.0],56]),pnt(pnt[group[0.0,0.004*I],0]),pnt(pnt[group[0.004*I,5.0+0.004*I],0]),pnt(pnt[group[5.0+0.004*I,5.0],0]),pnt(pnt[group[0.0,5.0],0]),pnt(pnt[line[5.0,10.0,10.0+0.016*I,5.0+0.016*I,5.0],56]),pnt(pnt[group[5.0,5.0+0.016*I],0]),pnt(pnt[group[5.0+0.016*I,10.0+0.016*I],0]),pnt(pnt[group[10.0+0.016*I,10.0],0]),pnt(pnt[group[5.0,10.0],0]),pnt(pnt[line[10.0,15.0,15.0+0.008*I,10.0+0.008*I,10.0],56]),pnt(pnt[group[10.0,10.0+0.008*I],0]),pnt(pnt[group[10.0+0.008*I,15.0+0.008*I],0]),pnt(pnt[group[15.0+0.008*I,15.0],0]),pnt(pnt[group[10.0,15.0],0]),pnt(pnt[line[15.0,20.0,20.0+0.014*I,15.0+0.014*I,15.0],56]),pnt(pnt[group[15.0,15.0+0.014*I],0]),pnt(pnt[group[15.0+0.014*I,20.0+0.014*I],0]),pnt(pnt[group[20.0+0.014*I,20.0],0]),pnt(pnt[group[15.0,20.0],0]),pnt(pnt[line[20.0,25.0,25.0+0.008*I,20.0+0.008*I,20.0],56]),pnt(pnt[group[20.0,20.0+0.008*I],0]),pnt(pnt[group[20.0+0.008*I,25.0+0.008*I],0]),pnt(pnt[group[25.0+0.008*I,25.0],0]),pnt(pnt[group[20.0,25.0],0]),pnt(pnt[line[25.0,30.0,30.0+0.008*I,25.0+0.008*I,25.0],56]),pnt(pnt[group[25.0,25.0+0.008*I],0]),pnt(pnt[group[25.0+0.008*I,30.0+0.008*I],0]),pnt(pnt[group[30.0+0.008*I,30.0],0]),pnt(pnt[group[25.0,30.0],0]),pnt(pnt[line[30.0,35.0,35.0+0.0056*I,30.0+0.0056*I,30.0],56]),pnt(pnt[group[30.0,30.0+0.0056*I],0]),pnt(pnt[group[30.0+0.0056*I,35.0+0.0056*I],0]),pnt(pnt[group[35.0+0.0056*I,35.0],0]),pnt(pnt[group[30.0,35.0],0]),pnt(pnt[line[35.0,40.0,40.0+0.006*I,35.0+0.006*I,35.0],56]),pnt(pnt[group[35.0,35.0+0.006*I],0]),pnt(pnt[group[35.0+0.006*I,40.0+0.006*I],0]),pnt(pnt[group[40.0+0.006*I,40.0],0]),pnt(pnt[group[35.0,40.0],0]),pnt(pnt[line[40.0,45.0,45.0+0.008*I,40.0+0.008*I,40.0],56]),pnt(pnt[group[40.0,40.0+0.008*I],0]),pnt(pnt[group[40.0+0.008*I,45.0+0.008*I],0]),pnt(pnt[group[45.0+0.008*I,45.0],0]),pnt(pnt[group[40.0,45.0],0]),pnt(pnt[line[45.0,50.0,50.0+0.006*I,45.0+0.006*I,45.0],56]),pnt(pnt[group[45.0,45.0+0.006*I],0]),pnt(pnt[group[45.0+0.006*I,50.0+0.006*I],0]),pnt(pnt[group[50.0+0.006*I,50.0],0]),pnt(pnt[group[45.0,50.0],0]),pnt(pnt[line[50.0,55.0,55.0+0.004*I,50.0+0.004*I,50.0],56]),pnt(pnt[group[50.0,50.0+0.004*I],0]),pnt(pnt[group[50.0+0.004*I,55.0+0.004*I],0]),pnt(pnt[group[55.0+0.004*I,55.0],0]),pnt(pnt[group[50.0,55.0],0]),pnt(pnt[line[55.0,60.0,60.0+0.012*I,55.0+0.012*I,55.0],56]),pnt(pnt[group[55.0,55.0+0.012*I],0]),pnt(pnt[group[55.0+0.012*I,60.0+0.012*I],0]),pnt(pnt[group[60.0+0.012*I,60.0],0]),pnt(pnt[group[55.0,60.0],0]),pnt(pnt[line[60.0,65.0,65.0+0.0104*I,60.0+0.0104*I,60.0],56]),pnt(pnt[group[60.0,60.0+0.0104*I],0]),pnt(pnt[group[60.0+0.0104*I,65.0+0.0104*I],0]),pnt(pnt[group[65.0+0.0104*I,65.0],0]),pnt(pnt[group[60.0,65.0],0]),pnt(pnt[line[65.0,70.0,70.0+0.018*I,65.0+0.018*I,65.0],56]),pnt(pnt[group[65.0,65.0+0.018*I],0]),pnt(pnt[group[65.0+0.018*I,70.0+0.018*I],0]),pnt(pnt[group[70.0+0.018*I,70.0],0]),pnt(pnt[group[65.0,70.0],0]),pnt(pnt[line[70.0,75.0,75.0+0.01*I,70.0+0.01*I,70.0],56]),pnt(pnt[group[70.0,70.0+0.01*I],0]),pnt(pnt[group[70.0+0.01*I,75.0+0.01*I],0]),pnt(pnt[group[75.0+0.01*I,75.0],0]),pnt(pnt[group[70.0,75.0],0]),pnt(pnt[line[75.0,80.0,80.0+0.012*I,75.0+0.012*I,75.0],56]),pnt(pnt[group[75.0,75.0+0.012*I],0]),pnt(pnt[group[75.0+0.012*I,80.0+0.012*I],0]),pnt(pnt[group[80.0+0.012*I,80.0],0]),pnt(pnt[group[75.0,80.0],0]),pnt(pnt[line[80.0,85.0,85.0+0.01*I,80.0+0.01*I,80.0],56]),pnt(pnt[group[80.0,80.0+0.01*I],0]),pnt(pnt[group[80.0+0.01*I,85.0+0.01*I],0]),pnt(pnt[group[85.0+0.01*I,85.0],0]),pnt(pnt[group[80.0,85.0],0]),pnt(pnt[line[85.0,90.0,90.0+0.012*I,85.0+0.012*I,85.0],56]),pnt(pnt[group[85.0,85.0+0.012*I],0]),pnt(pnt[group[85.0+0.012*I,90.0+0.012*I],0]),pnt(pnt[group[90.0+0.012*I,90.0],0]),pnt(pnt[group[85.0,90.0],0]),pnt(pnt[line[90.0,95.0,95.0+0.018*I,90.0+0.018*I,90.0],56]),pnt(pnt[group[90.0,90.0+0.018*I],0]),pnt(pnt[group[90.0+0.018*I,95.0+0.018*I],0]),pnt(pnt[group[95.0+0.018*I,95.0],0]),pnt(pnt[group[90.0,95.0],0]),pnt(pnt[line[95.0,100.0,100.0+0.01*I,95.0+0.01*I,95.0],56]),pnt(pnt[group[95.0,95.0+0.01*I],0]),pnt(pnt[group[95.0+0.01*I,100.0+0.01*I],0]),pnt(pnt[group[100.0+0.01*I,100.0],0]),pnt(pnt[group[95.0,100.0],0])],
< [pnt(pnt[line[0.0,5.0,5.0+0.004*I,0.004*I,0.0],56]),pnt(pnt[group[0.0,0.004*I],0]),pnt(pnt[group[0.004*I,5.0+0.004*I],0]),pnt(pnt[group[5.0+0.004*I,5.0],0]),pnt(pnt[group[0.0,5.0],0]),pnt(pnt[line[5.0,10.0,10.0+0.012*I,5.0+0.012*I,5.0],56]),pnt(pnt[group[5.0,5.0+0.012*I],0]),pnt(pnt[group[5.0+0.012*I,10.0+0.012*I],0]),pnt(pnt[group[10.0+0.012*I,10.0],0]),pnt(pnt[group[5.0,10.0],0]),pnt(pnt[line[10.0,15.0,15.0+0.0096*I,10.0+0.0096*I,10.0],56]),pnt(pnt[group[10.0,10.0+0.0096*I],0]),pnt(pnt[group[10.0+0.0096*I,15.0+0.0096*I],0]),pnt(pnt[group[15.0+0.0096*I,15.0],0]),pnt(pnt[group[10.0,15.0],0]),pnt(pnt[line[15.0,20.0,20.0+0.02*I,15.0+0.02*I,15.0],56]),pnt(pnt[group[15.0,15.0+0.02*I],0]),pnt(pnt[group[15.0+0.02*I,20.0+0.02*I],0]),pnt(pnt[group[20.0+0.02*I,20.0],0]),pnt(pnt[group[15.0,20.0],0]),pnt(pnt[line[20.0,25.0,25.0+0.008*I,20.0+0.008*I,20.0],56]),pnt(pnt[group[20.0,20.0+0.008*I],0]),pnt(pnt[group[20.0+0.008*I,25.0+0.008*I],0]),pnt(pnt[group[25.0+0.008*I,25.0],0]),pnt(pnt[group[20.0,25.0],0]),pnt(pnt[line[25.0,30.0,30.0+0.012*I,25.0+0.012*I,25.0],56]),pnt(pnt[group[25.0,25.0+0.012*I],0]),pnt(pnt[group[25.0+0.012*I,30.0+0.012*I],0]),pnt(pnt[group[30.0+0.012*I,30.0],0]),pnt(pnt[group[25.0,30.0],0]),pnt(pnt[line[30.0,35.0,35.0+0.01*I,30.0+0.01*I,30.0],56]),pnt(pnt[group[30.0,30.0+0.01*I],0]),pnt(pnt[group[30.0+0.01*I,35.0+0.01*I],0]),pnt(pnt[group[35.0+0.01*I,35.0],0]),pnt(pnt[group[30.0,35.0],0]),pnt(pnt[line[35.0,40.0,40.0+0.012*I,35.0+0.012*I,35.0],56]),pnt(pnt[group[35.0,35.0+0.012*I],0]),pnt(pnt[group[35.0+0.012*I,40.0+0.012*I],0]),pnt(pnt[group[40.0+0.012*I,40.0],0]),pnt(pnt[group[35.0,40.0],0]),pnt(pnt[line[40.0,45.0,45.0+0.02*I,40.0+0.02*I,40.0],56]),pnt(pnt[group[40.0,40.0+0.02*I],0]),pnt(pnt[group[40.0+0.02*I,45.0+0.02*I],0]),pnt(pnt[group[45.0+0.02*I,45.0],0]),pnt(pnt[group[40.0,45.0],0]),pnt(pnt[line[45.0,50.0,50.0+0.0084*I,45.0+0.0084*I,45.0],56]),pnt(pnt[group[45.0,45.0+0.0084*I],0]),pnt(pnt[group[45.0+0.0084*I,50.0+0.0084*I],0]),pnt(pnt[group[50.0+0.0084*I,50.0],0]),pnt(pnt[group[45.0,50.0],0]),pnt(pnt[line[50.0,55.0,55.0+0.004*I,50.0+0.004*I,50.0],56]),pnt(pnt[group[50.0,50.0+0.004*I],0]),pnt(pnt[group[50.0+0.004*I,55.0+0.004*I],0]),pnt(pnt[group[55.0+0.004*I,55.0],0]),pnt(pnt[group[50.0,55.0],0]),pnt(pnt[line[55.0,60.0,60.0+0.018*I,55.0+0.018*I,55.0],56]),pnt(pnt[group[55.0,55.0+0.018*I],0]),pnt(pnt[group[55.0+0.018*I,60.0+0.018*I],0]),pnt(pnt[group[60.0+0.018*I,60.0],0]),pnt(pnt[group[55.0,60.0],0]),pnt(pnt[line[60.0,65.0,65.0+0.006*I,60.0+0.006*I,60.0],56]),pnt(pnt[group[60.0,60.0+0.006*I],0]),pnt(pnt[group[60.0+0.006*I,65.0+0.006*I],0]),pnt(pnt[group[65.0+0.006*I,65.0],0]),pnt(pnt[group[60.0,65.0],0]),pnt(pnt[line[65.0,70.0,70.0+0.014*I,65.0+0.014*I,65.0],56]),pnt(pnt[group[65.0,65.0+0.014*I],0]),pnt(pnt[group[65.0+0.014*I,70.0+0.014*I],0]),pnt(pnt[group[70.0+0.014*I,70.0],0]),pnt(pnt[group[65.0,70.0],0]),pnt(pnt[line[70.0,75.0,75.0+0.01*I,70.0+0.01*I,70.0],56]),pnt(pnt[group[70.0,70.0+0.01*I],0]),pnt(pnt[group[70.0+0.01*I,75.0+0.01*I],0]),pnt(pnt[group[75.0+0.01*I,75.0],0]),pnt(pnt[group[70.0,75.0],0]),pnt(pnt[line[75.0,80.0,80.0+0.008*I,75.0+0.008*I,75.0],56]),pnt(pnt[group[75.0,75.0+0.008*I],0]),pnt(pnt[group[75.0+0.008*I,80.0+0.008*I],0]),pnt(pnt[group[80.0+0.008*I,80.0],0]),pnt(pnt[group[75.0,80.0],0]),pnt(pnt[line[80.0,85.0,85.0+0.006*I,80.0+0.006*I,80.0],56]),pnt(pnt[group[80.0,80.0+0.006*I],0]),pnt(pnt[group[80.0+0.006*I,85.0+0.006*I],0]),pnt(pnt[group[85.0+0.006*I,85.0],0]),pnt(pnt[group[80.0,85.0],0]),pnt(pnt[line[85.0,90.0,90.0+0.006*I,85.0+0.006*I,85.0],56]),pnt(pnt[group[85.0,85.0+0.006*I],0]),pnt(pnt[group[85.0+0.006*I,90.0+0.006*I],0]),pnt(pnt[group[90.0+0.006*I,90.0],0]),pnt(pnt[group[85.0,90.0],0]),pnt(pnt[line[90.0,95.0,95.0+0.006*I,90.0+0.006*I,90.0],56]),pnt(pnt[group[90.0,90.0+0.006*I],0]),pnt(pnt[group[90.0+0.006*I,95.0+0.006*I],0]),pnt(pnt[group[95.0+0.006*I,95.0],0]),pnt(pnt[group[90.0,95.0],0]),pnt(pnt[line[95.0,100.0,100.0+0.006*I,95.0+0.006*I,95.0],56]),pnt(pnt[group[95.0,95.0+0.006*I],0]),pnt(pnt[group[95.0+0.006*I,100.0+0.006*I],0]),pnt(pnt[group[100.0+0.006*I,100.0],0]),pnt(pnt[group[95.0,100.0],0])],
---
> [axes=3,pnt(pnt[line[0.0,5.0,5.0+0.004*I,0.004*I,0.0],1073741871]),pnt(pnt[group[0.0,0.004*I],56]),pnt(pnt[group[0.004*I,5.0+0.004*I],56]),pnt(pnt[group[5.0+0.004*I,5.0],56]),pnt(pnt[group[0.0,5.0],56]),pnt(pnt[line[5.0,10.0,10.0+0.016*I,5.0+0.016*I,5.0],1073741871]),pnt(pnt[group[5.0,5.0+0.016*I],56]),pnt(pnt[group[5.0+0.016*I,10.0+0.016*I],56]),pnt(pnt[group[10.0+0.016*I,10.0],56]),pnt(pnt[group[5.0,10.0],56]),pnt(pnt[line[10.0,15.0,15.0+0.008*I,10.0+0.008*I,10.0],1073741871]),pnt(pnt[group[10.0,10.0+0.008*I],56]),pnt(pnt[group[10.0+0.008*I,15.0+0.008*I],56]),pnt(pnt[group[15.0+0.008*I,15.0],56]),pnt(pnt[group[10.0,15.0],56]),pnt(pnt[line[15.0,20.0,20.0+0.014*I,15.0+0.014*I,15.0],1073741871]),pnt(pnt[group[15.0,15.0+0.014*I],56]),pnt(pnt[group[15.0+0.014*I,20.0+0.014*I],56]),pnt(pnt[group[20.0+0.014*I,20.0],56]),pnt(pnt[group[15.0,20.0],56]),pnt(pnt[line[20.0,25.0,25.0+0.008*I,20.0+0.008*I,20.0],1073741871]),pnt(pnt[group[20.0,20.0+0.008*I],56]),pnt(pnt[group[20.0+0.008*I,25.0+0.008*I],56]),pnt(pnt[group[25.0+0.008*I,25.0],56]),pnt(pnt[group[20.0,25.0],56]),pnt(pnt[line[25.0,30.0,30.0+0.008*I,25.0+0.008*I,25.0],1073741871]),pnt(pnt[group[25.0,25.0+0.008*I],56]),pnt(pnt[group[25.0+0.008*I,30.0+0.008*I],56]),pnt(pnt[group[30.0+0.008*I,30.0],56]),pnt(pnt[group[25.0,30.0],56]),pnt(pnt[line[30.0,35.0,35.0+0.0056*I,30.0+0.0056*I,30.0],1073741871]),pnt(pnt[group[30.0,30.0+0.0056*I],56]),pnt(pnt[group[30.0+0.0056*I,35.0+0.0056*I],56]),pnt(pnt[group[35.0+0.0056*I,35.0],56]),pnt(pnt[group[30.0,35.0],56]),pnt(pnt[line[35.0,40.0,40.0+0.006*I,35.0+0.006*I,35.0],1073741871]),pnt(pnt[group[35.0,35.0+0.006*I],56]),pnt(pnt[group[35.0+0.006*I,40.0+0.006*I],56]),pnt(pnt[group[40.0+0.006*I,40.0],56]),pnt(pnt[group[35.0,40.0],56]),pnt(pnt[line[40.0,45.0,45.0+0.008*I,40.0+0.008*I,40.0],1073741871]),pnt(pnt[group[40.0,40.0+0.008*I],56]),pnt(pnt[group[40.0+0.008*I,45.0+0.008*I],56]),pnt(pnt[group[45.0+0.008*I,45.0],56]),pnt(pnt[group[40.0,45.0],56]),pnt(pnt[line[45.0,50.0,50.0+0.006*I,45.0+0.006*I,45.0],1073741871]),pnt(pnt[group[45.0,45.0+0.006*I],56]),pnt(pnt[group[45.0+0.006*I,50.0+0.006*I],56]),pnt(pnt[group[50.0+0.006*I,50.0],56]),pnt(pnt[group[45.0,50.0],56]),pnt(pnt[line[50.0,55.0,55.0+0.004*I,50.0+0.004*I,50.0],1073741871]),pnt(pnt[group[50.0,50.0+0.004*I],56]),pnt(pnt[group[50.0+0.004*I,55.0+0.004*I],56]),pnt(pnt[group[55.0+0.004*I,55.0],56]),pnt(pnt[group[50.0,55.0],56]),pnt(pnt[line[55.0,60.0,60.0+0.012*I,55.0+0.012*I,55.0],1073741871]),pnt(pnt[group[55.0,55.0+0.012*I],56]),pnt(pnt[group[55.0+0.012*I,60.0+0.012*I],56]),pnt(pnt[group[60.0+0.012*I,60.0],56]),pnt(pnt[group[55.0,60.0],56]),pnt(pnt[line[60.0,65.0,65.0+0.0104*I,60.0+0.0104*I,60.0],1073741871]),pnt(pnt[group[60.0,60.0+0.0104*I],56]),pnt(pnt[group[60.0+0.0104*I,65.0+0.0104*I],56]),pnt(pnt[group[65.0+0.0104*I,65.0],56]),pnt(pnt[group[60.0,65.0],56]),pnt(pnt[line[65.0,70.0,70.0+0.018*I,65.0+0.018*I,65.0],1073741871]),pnt(pnt[group[65.0,65.0+0.018*I],56]),pnt(pnt[group[65.0+0.018*I,70.0+0.018*I],56]),pnt(pnt[group[70.0+0.018*I,70.0],56]),pnt(pnt[group[65.0,70.0],56]),pnt(pnt[line[70.0,75.0,75.0+0.01*I,70.0+0.01*I,70.0],1073741871]),pnt(pnt[group[70.0,70.0+0.01*I],56]),pnt(pnt[group[70.0+0.01*I,75.0+0.01*I],56]),pnt(pnt[group[75.0+0.01*I,75.0],56]),pnt(pnt[group[70.0,75.0],56]),pnt(pnt[line[75.0,80.0,80.0+0.012*I,75.0+0.012*I,75.0],1073741871]),pnt(pnt[group[75.0,75.0+0.012*I],56]),pnt(pnt[group[75.0+0.012*I,80.0+0.012*I],56]),pnt(pnt[group[80.0+0.012*I,80.0],56]),pnt(pnt[group[75.0,80.0],56]),pnt(pnt[line[80.0,85.0,85.0+0.01*I,80.0+0.01*I,80.0],1073741871]),pnt(pnt[group[80.0,80.0+0.01*I],56]),pnt(pnt[group[80.0+0.01*I,85.0+0.01*I],56]),pnt(pnt[group[85.0+0.01*I,85.0],56]),pnt(pnt[group[80.0,85.0],56]),pnt(pnt[line[85.0,90.0,90.0+0.012*I,85.0+0.012*I,85.0],1073741871]),pnt(pnt[group[85.0,85.0+0.012*I],56]),pnt(pnt[group[85.0+0.012*I,90.0+0.012*I],56]),pnt(pnt[group[90.0+0.012*I,90.0],56]),pnt(pnt[group[85.0,90.0],56]),pnt(pnt[line[90.0,95.0,95.0+0.018*I,90.0+0.018*I,90.0],1073741871]),pnt(pnt[group[90.0,90.0+0.018*I],56]),pnt(pnt[group[90.0+0.018*I,95.0+0.018*I],56]),pnt(pnt[group[95.0+0.018*I,95.0],56]),pnt(pnt[group[90.0,95.0],56]),pnt(pnt[line[95.0,100.0,100.0+0.01*I,95.0+0.01*I,95.0],1073741871]),pnt(pnt[group[95.0,95.0+0.01*I],56]),pnt(pnt[group[95.0+0.01*I,100.0+0.01*I],56]),pnt(pnt[group[100.0+0.01*I,100.0],56]),pnt(pnt[group[95.0,100.0],56])],
> [axes=3,pnt(pnt[line[0.0,5.0,5.0+0.004*I,0.004*I,0.0],1073741871]),pnt(pnt[group[0.0,0.004*I],56]),pnt(pnt[group[0.004*I,5.0+0.004*I],56]),pnt(pnt[group[5.0+0.004*I,5.0],56]),pnt(pnt[group[0.0,5.0],56]),pnt(pnt[line[5.0,10.0,10.0+0.012*I,5.0+0.012*I,5.0],1073741871]),pnt(pnt[group[5.0,5.0+0.012*I],56]),pnt(pnt[group[5.0+0.012*I,10.0+0.012*I],56]),pnt(pnt[group[10.0+0.012*I,10.0],56]),pnt(pnt[group[5.0,10.0],56]),pnt(pnt[line[10.0,15.0,15.0+0.0096*I,10.0+0.0096*I,10.0],1073741871]),pnt(pnt[group[10.0,10.0+0.0096*I],56]),pnt(pnt[group[10.0+0.0096*I,15.0+0.0096*I],56]),pnt(pnt[group[15.0+0.0096*I,15.0],56]),pnt(pnt[group[10.0,15.0],56]),pnt(pnt[line[15.0,20.0,20.0+0.02*I,15.0+0.02*I,15.0],1073741871]),pnt(pnt[group[15.0,15.0+0.02*I],56]),pnt(pnt[group[15.0+0.02*I,20.0+0.02*I],56]),pnt(pnt[group[20.0+0.02*I,20.0],56]),pnt(pnt[group[15.0,20.0],56]),pnt(pnt[line[20.0,25.0,25.0+0.008*I,20.0+0.008*I,20.0],1073741871]),pnt(pnt[group[20.0,20.0+0.008*I],56]),pnt(pnt[group[20.0+0.008*I,25.0+0.008*I],56]),pnt(pnt[group[25.0+0.008*I,25.0],56]),pnt(pnt[group[20.0,25.0],56]),pnt(pnt[line[25.0,30.0,30.0+0.012*I,25.0+0.012*I,25.0],1073741871]),pnt(pnt[group[25.0,25.0+0.012*I],56]),pnt(pnt[group[25.0+0.012*I,30.0+0.012*I],56]),pnt(pnt[group[30.0+0.012*I,30.0],56]),pnt(pnt[group[25.0,30.0],56]),pnt(pnt[line[30.0,35.0,35.0+0.01*I,30.0+0.01*I,30.0],1073741871]),pnt(pnt[group[30.0,30.0+0.01*I],56]),pnt(pnt[group[30.0+0.01*I,35.0+0.01*I],56]),pnt(pnt[group[35.0+0.01*I,35.0],56]),pnt(pnt[group[30.0,35.0],56]),pnt(pnt[line[35.0,40.0,40.0+0.012*I,35.0+0.012*I,35.0],1073741871]),pnt(pnt[group[35.0,35.0+0.012*I],56]),pnt(pnt[group[35.0+0.012*I,40.0+0.012*I],56]),pnt(pnt[group[40.0+0.012*I,40.0],56]),pnt(pnt[group[35.0,40.0],56]),pnt(pnt[line[40.0,45.0,45.0+0.02*I,40.0+0.02*I,40.0],1073741871]),pnt(pnt[group[40.0,40.0+0.02*I],56]),pnt(pnt[group[40.0+0.02*I,45.0+0.02*I],56]),pnt(pnt[group[45.0+0.02*I,45.0],56]),pnt(pnt[group[40.0,45.0],56]),pnt(pnt[line[45.0,50.0,50.0+0.0084*I,45.0+0.0084*I,45.0],1073741871]),pnt(pnt[group[45.0,45.0+0.0084*I],56]),pnt(pnt[group[45.0+0.0084*I,50.0+0.0084*I],56]),pnt(pnt[group[50.0+0.0084*I,50.0],56]),pnt(pnt[group[45.0,50.0],56]),pnt(pnt[line[50.0,55.0,55.0+0.004*I,50.0+0.004*I,50.0],1073741871]),pnt(pnt[group[50.0,50.0+0.004*I],56]),pnt(pnt[group[50.0+0.004*I,55.0+0.004*I],56]),pnt(pnt[group[55.0+0.004*I,55.0],56]),pnt(pnt[group[50.0,55.0],56]),pnt(pnt[line[55.0,60.0,60.0+0.018*I,55.0+0.018*I,55.0],1073741871]),pnt(pnt[group[55.0,55.0+0.018*I],56]),pnt(pnt[group[55.0+0.018*I,60.0+0.018*I],56]),pnt(pnt[group[60.0+0.018*I,60.0],56]),pnt(pnt[group[55.0,60.0],56]),pnt(pnt[line[60.0,65.0,65.0+0.006*I,60.0+0.006*I,60.0],1073741871]),pnt(pnt[group[60.0,60.0+0.006*I],56]),pnt(pnt[group[60.0+0.006*I,65.0+0.006*I],56]),pnt(pnt[group[65.0+0.006*I,65.0],56]),pnt(pnt[group[60.0,65.0],56]),pnt(pnt[line[65.0,70.0,70.0+0.014*I,65.0+0.014*I,65.0],1073741871]),pnt(pnt[group[65.0,65.0+0.014*I],56]),pnt(pnt[group[65.0+0.014*I,70.0+0.014*I],56]),pnt(pnt[group[70.0+0.014*I,70.0],56]),pnt(pnt[group[65.0,70.0],56]),pnt(pnt[line[70.0,75.0,75.0+0.01*I,70.0+0.01*I,70.0],1073741871]),pnt(pnt[group[70.0,70.0+0.01*I],56]),pnt(pnt[group[70.0+0.01*I,75.0+0.01*I],56]),pnt(pnt[group[75.0+0.01*I,75.0],56]),pnt(pnt[group[70.0,75.0],56]),pnt(pnt[line[75.0,80.0,80.0+0.008*I,75.0+0.008*I,75.0],1073741871]),pnt(pnt[group[75.0,75.0+0.008*I],56]),pnt(pnt[group[75.0+0.008*I,80.0+0.008*I],56]),pnt(pnt[group[80.0+0.008*I,80.0],56]),pnt(pnt[group[75.0,80.0],56]),pnt(pnt[line[80.0,85.0,85.0+0.006*I,80.0+0.006*I,80.0],1073741871]),pnt(pnt[group[80.0,80.0+0.006*I],56]),pnt(pnt[group[80.0+0.006*I,85.0+0.006*I],56]),pnt(pnt[group[85.0+0.006*I,85.0],56]),pnt(pnt[group[80.0,85.0],56]),pnt(pnt[line[85.0,90.0,90.0+0.006*I,85.0+0.006*I,85.0],1073741871]),pnt(pnt[group[85.0,85.0+0.006*I],56]),pnt(pnt[group[85.0+0.006*I,90.0+0.006*I],56]),pnt(pnt[group[90.0+0.006*I,90.0],56]),pnt(pnt[group[85.0,90.0],56]),pnt(pnt[line[90.0,95.0,95.0+0.006*I,90.0+0.006*I,90.0],1073741871]),pnt(pnt[group[90.0,90.0+0.006*I],56]),pnt(pnt[group[90.0+0.006*I,95.0+0.006*I],56]),pnt(pnt[group[95.0+0.006*I,95.0],56]),pnt(pnt[group[90.0,95.0],56]),pnt(pnt[line[95.0,100.0,100.0+0.006*I,95.0+0.006*I,95.0],1073741871]),pnt(pnt[group[95.0,95.0+0.006*I],56]),pnt(pnt[group[95.0+0.006*I,100.0+0.006*I],56]),pnt(pnt[group[100.0+0.006*I,100.0],56]),pnt(pnt[group[95.0,100.0],56])],
63c63
< [pnt(pnt[line[0.0,1.0,1.0+0.058*I,0.058*I,0.0],56]),pnt(pnt[group[0.0,0.058*I],0]),pnt(pnt[group[0.058*I,1.0+0.058*I],0]),pnt(pnt[group[1.0+0.058*I,1.0],0]),pnt(pnt[group[0.0,1.0],0]),pnt(pnt[line[1.0,2.0,2.0+0.12*I,1.0+0.12*I,1.0],56]),pnt(pnt[group[1.0,1.0+0.12*I],0]),pnt(pnt[group[1.0+0.12*I,2.0+0.12*I],0]),pnt(pnt[group[2.0+0.12*I,2.0],0]),pnt(pnt[group[1.0,2.0],0]),pnt(pnt[line[2.0,3.0,3.0+0.12*I,2.0+0.12*I,2.0],56]),pnt(pnt[group[2.0,2.0+0.12*I],0]),pnt(pnt[group[2.0+0.12*I,3.0+0.12*I],0]),pnt(pnt[group[3.0+0.12*I,3.0],0]),pnt(pnt[group[2.0,3.0],0]),pnt(pnt[line[3.0,4.0,4.0+0.072*I,3.0+0.072*I,3.0],56]),pnt(pnt[group[3.0,3.0+0.072*I],0]),pnt(pnt[group[3.0+0.072*I,4.0+0.072*I],0]),pnt(pnt[group[4.0+0.072*I,4.0],0]),pnt(pnt[group[3.0,4.0],0]),pnt(pnt[line[4.0,5.0,5.0+0.06*I,4.0+0.06*I,4.0],56]),pnt(pnt[group[4.0,4.0+0.06*I],0]),pnt(pnt[group[4.0+0.06*I,5.0+0.06*I],0]),pnt(pnt[group[5.0+0.06*I,5.0],0]),pnt(pnt[group[4.0,5.0],0]),pnt(pnt[line[5.0,6.0,6.0+0.05*I,5.0+0.05*I,5.0],56]),pnt(pnt[group[5.0,5.0+0.05*I],0]),pnt(pnt[group[5.0+0.05*I,6.0+0.05*I],0]),pnt(pnt[group[6.0+0.05*I,6.0],0]),pnt(pnt[group[5.0,6.0],0]),pnt(pnt[line[6.0,7.0,7.0+0.11*I,6.0+0.11*I,6.0],56]),pnt(pnt[group[6.0,6.0+0.11*I],0]),pnt(pnt[group[6.0+0.11*I,7.0+0.11*I],0]),pnt(pnt[group[7.0+0.11*I,7.0],0]),pnt(pnt[group[6.0,7.0],0]),pnt(pnt[line[7.0,8.0,8.0+0.14*I,7.0+0.14*I,7.0],56]),pnt(pnt[group[7.0,7.0+0.14*I],0]),pnt(pnt[group[7.0+0.14*I,8.0+0.14*I],0]),pnt(pnt[group[8.0+0.14*I,8.0],0]),pnt(pnt[group[7.0,8.0],0]),pnt(pnt[line[8.0,9.0,9.0+0.11*I,8.0+0.11*I,8.0],56]),pnt(pnt[group[8.0,8.0+0.11*I],0]),pnt(pnt[group[8.0+0.11*I,9.0+0.11*I],0]),pnt(pnt[group[9.0+0.11*I,9.0],0]),pnt(pnt[group[8.0,9.0],0]),pnt(pnt[line[9.0,10.0,10.0+0.16*I,9.0+0.16*I,9.0],56]),pnt(pnt[group[9.0,9.0+0.16*I],0]),pnt(pnt[group[9.0+0.16*I,10.0+0.16*I],0]),pnt(pnt[group[10.0+0.16*I,10.0],0]),pnt(pnt[group[9.0,10.0],0])],
---
> [axes=3,pnt(pnt[line[0.0,1.0,1.0+0.058*I,0.058*I,0.0],1073741871]),pnt(pnt[group[0.0,0.058*I],56]),pnt(pnt[group[0.058*I,1.0+0.058*I],56]),pnt(pnt[group[1.0+0.058*I,1.0],56]),pnt(pnt[group[0.0,1.0],56]),pnt(pnt[line[1.0,2.0,2.0+0.12*I,1.0+0.12*I,1.0],1073741871]),pnt(pnt[group[1.0,1.0+0.12*I],56]),pnt(pnt[group[1.0+0.12*I,2.0+0.12*I],56]),pnt(pnt[group[2.0+0.12*I,2.0],56]),pnt(pnt[group[1.0,2.0],56]),pnt(pnt[line[2.0,3.0,3.0+0.12*I,2.0+0.12*I,2.0],1073741871]),pnt(pnt[group[2.0,2.0+0.12*I],56]),pnt(pnt[group[2.0+0.12*I,3.0+0.12*I],56]),pnt(pnt[group[3.0+0.12*I,3.0],56]),pnt(pnt[group[2.0,3.0],56]),pnt(pnt[line[3.0,4.0,4.0+0.072*I,3.0+0.072*I,3.0],1073741871]),pnt(pnt[group[3.0,3.0+0.072*I],56]),pnt(pnt[group[3.0+0.072*I,4.0+0.072*I],56]),pnt(pnt[group[4.0+0.072*I,4.0],56]),pnt(pnt[group[3.0,4.0],56]),pnt(pnt[line[4.0,5.0,5.0+0.06*I,4.0+0.06*I,4.0],1073741871]),pnt(pnt[group[4.0,4.0+0.06*I],56]),pnt(pnt[group[4.0+0.06*I,5.0+0.06*I],56]),pnt(pnt[group[5.0+0.06*I,5.0],56]),pnt(pnt[group[4.0,5.0],56]),pnt(pnt[line[5.0,6.0,6.0+0.05*I,5.0+0.05*I,5.0],1073741871]),pnt(pnt[group[5.0,5.0+0.05*I],56]),pnt(pnt[group[5.0+0.05*I,6.0+0.05*I],56]),pnt(pnt[group[6.0+0.05*I,6.0],56]),pnt(pnt[group[5.0,6.0],56]),pnt(pnt[line[6.0,7.0,7.0+0.11*I,6.0+0.11*I,6.0],1073741871]),pnt(pnt[group[6.0,6.0+0.11*I],56]),pnt(pnt[group[6.0+0.11*I,7.0+0.11*I],56]),pnt(pnt[group[7.0+0.11*I,7.0],56]),pnt(pnt[group[6.0,7.0],56]),pnt(pnt[line[7.0,8.0,8.0+0.14*I,7.0+0.14*I,7.0],1073741871]),pnt(pnt[group[7.0,7.0+0.14*I],56]),pnt(pnt[group[7.0+0.14*I,8.0+0.14*I],56]),pnt(pnt[group[8.0+0.14*I,8.0],56]),pnt(pnt[group[7.0,8.0],56]),pnt(pnt[line[8.0,9.0,9.0+0.11*I,8.0+0.11*I,8.0],1073741871]),pnt(pnt[group[8.0,8.0+0.11*I],56]),pnt(pnt[group[8.0+0.11*I,9.0+0.11*I],56]),pnt(pnt[group[9.0+0.11*I,9.0],56]),pnt(pnt[group[8.0,9.0],56]),pnt(pnt[line[9.0,10.0,10.0+0.16*I,9.0+0.16*I,9.0],1073741871]),pnt(pnt[group[9.0,9.0+0.16*I],56]),pnt(pnt[group[9.0+0.16*I,10.0+0.16*I],56]),pnt(pnt[group[10.0+0.16*I,10.0],56]),pnt(pnt[group[9.0,10.0],56])],
72,73c72,73
< [pnt(pnt[line[0.0,5.0,5.0+0.0088*I,0.0088*I,0.0],56]),pnt(pnt[group[0.0,0.0088*I],0]),pnt(pnt[group[0.0088*I,5.0+0.0088*I],0]),pnt(pnt[group[5.0+0.0088*I,5.0],0]),pnt(pnt[group[0.0,5.0],0]),pnt(pnt[line[5.0,10.0,10.0+0.0072*I,5.0+0.0072*I,5.0],56]),pnt(pnt[group[5.0,5.0+0.0072*I],0]),pnt(pnt[group[5.0+0.0072*I,10.0+0.0072*I],0]),pnt(pnt[group[10.0+0.0072*I,10.0],0]),pnt(pnt[group[5.0,10.0],0]),pnt(pnt[line[10.0,15.0,15.0+0.012*I,10.0+0.012*I,10.0],56]),pnt(pnt[group[10.0,10.0+0.012*I],0]),pnt(pnt[group[10.0+0.012*I,15.0+0.012*I],0]),pnt(pnt[group[15.0+0.012*I,15.0],0]),pnt(pnt[group[10.0,15.0],0]),pnt(pnt[line[15.0,20.0,20.0+0.0096*I,15.0+0.0096*I,15.0],56]),pnt(pnt[group[15.0,15.0+0.0096*I],0]),pnt(pnt[group[15.0+0.0096*I,20.0+0.0096*I],0]),pnt(pnt[group[20.0+0.0096*I,20.0],0]),pnt(pnt[group[15.0,20.0],0]),pnt(pnt[line[20.0,25.0,25.0+0.0112*I,20.0+0.0112*I,20.0],56]),pnt(pnt[group[20.0,20.0+0.0112*I],0]),pnt(pnt[group[20.0+0.0112*I,25.0+0.0112*I],0]),pnt(pnt[group[25.0+0.0112*I,25.0],0]),pnt(pnt[group[20.0,25.0],0]),pnt(pnt[line[25.0,30.0,30.0+0.0132*I,25.0+0.0132*I,25.0],56]),pnt(pnt[group[25.0,25.0+0.0132*I],0]),pnt(pnt[group[25.0+0.0132*I,30.0+0.0132*I],0]),pnt(pnt[group[30.0+0.0132*I,30.0],0]),pnt(pnt[group[25.0,30.0],0]),pnt(pnt[line[30.0,35.0,35.0+0.0088*I,30.0+0.0088*I,30.0],56]),pnt(pnt[group[30.0,30.0+0.0088*I],0]),pnt(pnt[group[30.0+0.0088*I,35.0+0.0088*I],0]),pnt(pnt[group[35.0+0.0088*I,35.0],0]),pnt(pnt[group[30.0,35.0],0]),pnt(pnt[line[35.0,40.0,40.0+0.008*I,35.0+0.008*I,35.0],56]),pnt(pnt[group[35.0,35.0+0.008*I],0]),pnt(pnt[group[35.0+0.008*I,40.0+0.008*I],0]),pnt(pnt[group[40.0+0.008*I,40.0],0]),pnt(pnt[group[35.0,40.0],0]),pnt(pnt[line[40.0,45.0,45.0+0.0112*I,40.0+0.0112*I,40.0],56]),pnt(pnt[group[40.0,40.0+0.0112*I],0]),pnt(pnt[group[40.0+0.0112*I,45.0+0.0112*I],0]),pnt(pnt[group[45.0+0.0112*I,45.0],0]),pnt(pnt[group[40.0,45.0],0]),pnt(pnt[line[45.0,50.0,50.0+0.0104*I,45.0+0.0104*I,45.0],56]),pnt(pnt[group[45.0,45.0+0.0104*I],0]),pnt(pnt[group[45.0+0.0104*I,50.0+0.0104*I],0]),pnt(pnt[group[50.0+0.0104*I,50.0],0]),pnt(pnt[group[45.0,50.0],0]),pnt(pnt[line[50.0,55.0,55.0+0.0124*I,50.0+0.0124*I,50.0],56]),pnt(pnt[group[50.0,50.0+0.0124*I],0]),pnt(pnt[group[50.0+0.0124*I,55.0+0.0124*I],0]),pnt(pnt[group[55.0+0.0124*I,55.0],0]),pnt(pnt[group[50.0,55.0],0]),pnt(pnt[line[55.0,60.0,60.0+0.0064*I,55.0+0.0064*I,55.0],56]),pnt(pnt[group[55.0,55.0+0.0064*I],0]),pnt(pnt[group[55.0+0.0064*I,60.0+0.0064*I],0]),pnt(pnt[group[60.0+0.0064*I,60.0],0]),pnt(pnt[group[55.0,60.0],0]),pnt(pnt[line[60.0,65.0,65.0+0.0088*I,60.0+0.0088*I,60.0],56]),pnt(pnt[group[60.0,60.0+0.0088*I],0]),pnt(pnt[group[60.0+0.0088*I,65.0+0.0088*I],0]),pnt(pnt[group[65.0+0.0088*I,65.0],0]),pnt(pnt[group[60.0,65.0],0]),pnt(pnt[line[65.0,70.0,70.0+0.0088*I,65.0+0.0088*I,65.0],56]),pnt(pnt[group[65.0,65.0+0.0088*I],0]),pnt(pnt[group[65.0+0.0088*I,70.0+0.0088*I],0]),pnt(pnt[group[70.0+0.0088*I,70.0],0]),pnt(pnt[group[65.0,70.0],0]),pnt(pnt[line[70.0,75.0,75.0+0.0076*I,70.0+0.0076*I,70.0],56]),pnt(pnt[group[70.0,70.0+0.0076*I],0]),pnt(pnt[group[70.0+0.0076*I,75.0+0.0076*I],0]),pnt(pnt[group[75.0+0.0076*I,75.0],0]),pnt(pnt[group[70.0,75.0],0]),pnt(pnt[line[75.0,80.0,80.0+0.012*I,75.0+0.012*I,75.0],56]),pnt(pnt[group[75.0,75.0+0.012*I],0]),pnt(pnt[group[75.0+0.012*I,80.0+0.012*I],0]),pnt(pnt[group[80.0+0.012*I,80.0],0]),pnt(pnt[group[75.0,80.0],0]),pnt(pnt[line[80.0,85.0,85.0+0.0104*I,80.0+0.0104*I,80.0],56]),pnt(pnt[group[80.0,80.0+0.0104*I],0]),pnt(pnt[group[80.0+0.0104*I,85.0+0.0104*I],0]),pnt(pnt[group[85.0+0.0104*I,85.0],0]),pnt(pnt[group[80.0,85.0],0]),pnt(pnt[line[85.0,90.0,90.0+0.008*I,85.0+0.008*I,85.0],56]),pnt(pnt[group[85.0,85.0+0.008*I],0]),pnt(pnt[group[85.0+0.008*I,90.0+0.008*I],0]),pnt(pnt[group[90.0+0.008*I,90.0],0]),pnt(pnt[group[85.0,90.0],0]),pnt(pnt[line[90.0,95.0,95.0+0.0104*I,90.0+0.0104*I,90.0],56]),pnt(pnt[group[90.0,90.0+0.0104*I],0]),pnt(pnt[group[90.0+0.0104*I,95.0+0.0104*I],0]),pnt(pnt[group[95.0+0.0104*I,95.0],0]),pnt(pnt[group[90.0,95.0],0]),pnt(pnt[line[95.0,100.0,100.0+0.0148*I,95.0+0.0148*I,95.0],56]),pnt(pnt[group[95.0,95.0+0.0148*I],0]),pnt(pnt[group[95.0+0.0148*I,100.0+0.0148*I],0]),pnt(pnt[group[100.0+0.0148*I,100.0],0]),pnt(pnt[group[95.0,100.0],0])],
< [pnt(pnt[line[0.0,5.0,5.0+0.0096*I,0.0096*I,0.0],56]),pnt(pnt[group[0.0,0.0096*I],0]),pnt(pnt[group[0.0096*I,5.0+0.0096*I],0]),pnt(pnt[group[5.0+0.0096*I,5.0],0]),pnt(pnt[group[0.0,5.0],0]),pnt(pnt[line[5.0,10.0,10.0+0.0072*I,5.0+0.0072*I,5.0],56]),pnt(pnt[group[5.0,5.0+0.0072*I],0]),pnt(pnt[group[5.0+0.0072*I,10.0+0.0072*I],0]),pnt(pnt[group[10.0+0.0072*I,10.0],0]),pnt(pnt[group[5.0,10.0],0]),pnt(pnt[line[10.0,15.0,15.0+0.0088*I,10.0+0.0088*I,10.0],56]),pnt(pnt[group[10.0,10.0+0.0088*I],0]),pnt(pnt[group[10.0+0.0088*I,15.0+0.0088*I],0]),pnt(pnt[group[15.0+0.0088*I,15.0],0]),pnt(pnt[group[10.0,15.0],0]),pnt(pnt[line[15.0,20.0,20.0+0.0088*I,15.0+0.0088*I,15.0],56]),pnt(pnt[group[15.0,15.0+0.0088*I],0]),pnt(pnt[group[15.0+0.0088*I,20.0+0.0088*I],0]),pnt(pnt[group[20.0+0.0088*I,20.0],0]),pnt(pnt[group[15.0,20.0],0]),pnt(pnt[line[20.0,25.0,25.0+0.0088*I,20.0+0.0088*I,20.0],56]),pnt(pnt[group[20.0,20.0+0.0088*I],0]),pnt(pnt[group[20.0+0.0088*I,25.0+0.0088*I],0]),pnt(pnt[group[25.0+0.0088*I,25.0],0]),pnt(pnt[group[20.0,25.0],0]),pnt(pnt[line[25.0,30.0,30.0+0.012*I,25.0+0.012*I,25.0],56]),pnt(pnt[group[25.0,25.0+0.012*I],0]),pnt(pnt[group[25.0+0.012*I,30.0+0.012*I],0]),pnt(pnt[group[30.0+0.012*I,30.0],0]),pnt(pnt[group[25.0,30.0],0]),pnt(pnt[line[30.0,35.0,35.0+0.0128*I,30.0+0.0128*I,30.0],56]),pnt(pnt[group[30.0,30.0+0.0128*I],0]),pnt(pnt[group[30.0+0.0128*I,35.0+0.0128*I],0]),pnt(pnt[group[35.0+0.0128*I,35.0],0]),pnt(pnt[group[30.0,35.0],0]),pnt(pnt[line[35.0,40.0,40.0+0.0096*I,35.0+0.0096*I,35.0],56]),pnt(pnt[group[35.0,35.0+0.0096*I],0]),pnt(pnt[group[35.0+0.0096*I,40.0+0.0096*I],0]),pnt(pnt[group[40.0+0.0096*I,40.0],0]),pnt(pnt[group[35.0,40.0],0]),pnt(pnt[line[40.0,45.0,45.0+0.012*I,40.0+0.012*I,40.0],56]),pnt(pnt[group[40.0,40.0+0.012*I],0]),pnt(pnt[group[40.0+0.012*I,45.0+0.012*I],0]),pnt(pnt[group[45.0+0.012*I,45.0],0]),pnt(pnt[group[40.0,45.0],0]),pnt(pnt[line[45.0,50.0,50.0+0.0128*I,45.0+0.0128*I,45.0],56]),pnt(pnt[group[45.0,45.0+0.0128*I],0]),pnt(pnt[group[45.0+0.0128*I,50.0+0.0128*I],0]),pnt(pnt[group[50.0+0.0128*I,50.0],0]),pnt(pnt[group[45.0,50.0],0]),pnt(pnt[line[50.0,55.0,55.0+0.006*I,50.0+0.006*I,50.0],56]),pnt(pnt[group[50.0,50.0+0.006*I],0]),pnt(pnt[group[50.0+0.006*I,55.0+0.006*I],0]),pnt(pnt[group[55.0+0.006*I,55.0],0]),pnt(pnt[group[50.0,55.0],0]),pnt(pnt[line[55.0,60.0,60.0+0.0104*I,55.0+0.0104*I,55.0],56]),pnt(pnt[group[55.0,55.0+0.0104*I],0]),pnt(pnt[group[55.0+0.0104*I,60.0+0.0104*I],0]),pnt(pnt[group[60.0+0.0104*I,60.0],0]),pnt(pnt[group[55.0,60.0],0]),pnt(pnt[line[60.0,65.0,65.0+0.0068*I,60.0+0.0068*I,60.0],56]),pnt(pnt[group[60.0,60.0+0.0068*I],0]),pnt(pnt[group[60.0+0.0068*I,65.0+0.0068*I],0]),pnt(pnt[group[65.0+0.0068*I,65.0],0]),pnt(pnt[group[60.0,65.0],0]),pnt(pnt[line[65.0,70.0,70.0+0.0092*I,65.0+0.0092*I,65.0],56]),pnt(pnt[group[65.0,65.0+0.0092*I],0]),pnt(pnt[group[65.0+0.0092*I,70.0+0.0092*I],0]),pnt(pnt[group[70.0+0.0092*I,70.0],0]),pnt(pnt[group[65.0,70.0],0]),pnt(pnt[line[70.0,75.0,75.0+0.0064*I,70.0+0.0064*I,70.0],56]),pnt(pnt[group[70.0,70.0+0.0064*I],0]),pnt(pnt[group[70.0+0.0064*I,75.0+0.0064*I],0]),pnt(pnt[group[75.0+0.0064*I,75.0],0]),pnt(pnt[group[70.0,75.0],0]),pnt(pnt[line[75.0,80.0,80.0+0.0116*I,75.0+0.0116*I,75.0],56]),pnt(pnt[group[75.0,75.0+0.0116*I],0]),pnt(pnt[group[75.0+0.0116*I,80.0+0.0116*I],0]),pnt(pnt[group[80.0+0.0116*I,80.0],0]),pnt(pnt[group[75.0,80.0],0]),pnt(pnt[line[80.0,85.0,85.0+0.0144*I,80.0+0.0144*I,80.0],56]),pnt(pnt[group[80.0,80.0+0.0144*I],0]),pnt(pnt[group[80.0+0.0144*I,85.0+0.0144*I],0]),pnt(pnt[group[85.0+0.0144*I,85.0],0]),pnt(pnt[group[80.0,85.0],0]),pnt(pnt[line[85.0,90.0,90.0+0.0104*I,85.0+0.0104*I,85.0],56]),pnt(pnt[group[85.0,85.0+0.0104*I],0]),pnt(pnt[group[85.0+0.0104*I,90.0+0.0104*I],0]),pnt(pnt[group[90.0+0.0104*I,90.0],0]),pnt(pnt[group[85.0,90.0],0]),pnt(pnt[line[90.0,95.0,95.0+0.0104*I,90.0+0.0104*I,90.0],56]),pnt(pnt[group[90.0,90.0+0.0104*I],0]),pnt(pnt[group[90.0+0.0104*I,95.0+0.0104*I],0]),pnt(pnt[group[95.0+0.0104*I,95.0],0]),pnt(pnt[group[90.0,95.0],0]),pnt(pnt[line[95.0,100.0,100.0+0.012*I,95.0+0.012*I,95.0],56]),pnt(pnt[group[95.0,95.0+0.012*I],0]),pnt(pnt[group[95.0+0.012*I,100.0+0.012*I],0]),pnt(pnt[group[100.0+0.012*I,100.0],0]),pnt(pnt[group[95.0,100.0],0])],
---
> [axes=3,pnt(pnt[line[0.0,5.0,5.0+0.0088*I,0.0088*I,0.0],1073741871]),pnt(pnt[group[0.0,0.0088*I],56]),pnt(pnt[group[0.0088*I,5.0+0.0088*I],56]),pnt(pnt[group[5.0+0.0088*I,5.0],56]),pnt(pnt[group[0.0,5.0],56]),pnt(pnt[line[5.0,10.0,10.0+0.0072*I,5.0+0.0072*I,5.0],1073741871]),pnt(pnt[group[5.0,5.0+0.0072*I],56]),pnt(pnt[group[5.0+0.0072*I,10.0+0.0072*I],56]),pnt(pnt[group[10.0+0.0072*I,10.0],56]),pnt(pnt[group[5.0,10.0],56]),pnt(pnt[line[10.0,15.0,15.0+0.012*I,10.0+0.012*I,10.0],1073741871]),pnt(pnt[group[10.0,10.0+0.012*I],56]),pnt(pnt[group[10.0+0.012*I,15.0+0.012*I],56]),pnt(pnt[group[15.0+0.012*I,15.0],56]),pnt(pnt[group[10.0,15.0],56]),pnt(pnt[line[15.0,20.0,20.0+0.0096*I,15.0+0.0096*I,15.0],1073741871]),pnt(pnt[group[15.0,15.0+0.0096*I],56]),pnt(pnt[group[15.0+0.0096*I,20.0+0.0096*I],56]),pnt(pnt[group[20.0+0.0096*I,20.0],56]),pnt(pnt[group[15.0,20.0],56]),pnt(pnt[line[20.0,25.0,25.0+0.0112*I,20.0+0.0112*I,20.0],1073741871]),pnt(pnt[group[20.0,20.0+0.0112*I],56]),pnt(pnt[group[20.0+0.0112*I,25.0+0.0112*I],56]),pnt(pnt[group[25.0+0.0112*I,25.0],56]),pnt(pnt[group[20.0,25.0],56]),pnt(pnt[line[25.0,30.0,30.0+0.0132*I,25.0+0.0132*I,25.0],1073741871]),pnt(pnt[group[25.0,25.0+0.0132*I],56]),pnt(pnt[group[25.0+0.0132*I,30.0+0.0132*I],56]),pnt(pnt[group[30.0+0.0132*I,30.0],56]),pnt(pnt[group[25.0,30.0],56]),pnt(pnt[line[30.0,35.0,35.0+0.0088*I,30.0+0.0088*I,30.0],1073741871]),pnt(pnt[group[30.0,30.0+0.0088*I],56]),pnt(pnt[group[30.0+0.0088*I,35.0+0.0088*I],56]),pnt(pnt[group[35.0+0.0088*I,35.0],56]),pnt(pnt[group[30.0,35.0],56]),pnt(pnt[line[35.0,40.0,40.0+0.008*I,35.0+0.008*I,35.0],1073741871]),pnt(pnt[group[35.0,35.0+0.008*I],56]),pnt(pnt[group[35.0+0.008*I,40.0+0.008*I],56]),pnt(pnt[group[40.0+0.008*I,40.0],56]),pnt(pnt[group[35.0,40.0],56]),pnt(pnt[line[40.0,45.0,45.0+0.0112*I,40.0+0.0112*I,40.0],1073741871]),pnt(pnt[group[40.0,40.0+0.0112*I],56]),pnt(pnt[group[40.0+0.0112*I,45.0+0.0112*I],56]),pnt(pnt[group[45.0+0.0112*I,45.0],56]),pnt(pnt[group[40.0,45.0],56]),pnt(pnt[line[45.0,50.0,50.0+0.0104*I,45.0+0.0104*I,45.0],1073741871]),pnt(pnt[group[45.0,45.0+0.0104*I],56]),pnt(pnt[group[45.0+0.0104*I,50.0+0.0104*I],56]),pnt(pnt[group[50.0+0.0104*I,50.0],56]),pnt(pnt[group[45.0,50.0],56]),pnt(pnt[line[50.0,55.0,55.0+0.0124*I,50.0+0.0124*I,50.0],1073741871]),pnt(pnt[group[50.0,50.0+0.0124*I],56]),pnt(pnt[group[50.0+0.0124*I,55.0+0.0124*I],56]),pnt(pnt[group[55.0+0.0124*I,55.0],56]),pnt(pnt[group[50.0,55.0],56]),pnt(pnt[line[55.0,60.0,60.0+0.0064*I,55.0+0.0064*I,55.0],1073741871]),pnt(pnt[group[55.0,55.0+0.0064*I],56]),pnt(pnt[group[55.0+0.0064*I,60.0+0.0064*I],56]),pnt(pnt[group[60.0+0.0064*I,60.0],56]),pnt(pnt[group[55.0,60.0],56]),pnt(pnt[line[60.0,65.0,65.0+0.0088*I,60.0+0.0088*I,60.0],1073741871]),pnt(pnt[group[60.0,60.0+0.0088*I],56]),pnt(pnt[group[60.0+0.0088*I,65.0+0.0088*I],56]),pnt(pnt[group[65.0+0.0088*I,65.0],56]),pnt(pnt[group[60.0,65.0],56]),pnt(pnt[line[65.0,70.0,70.0+0.0088*I,65.0+0.0088*I,65.0],1073741871]),pnt(pnt[group[65.0,65.0+0.0088*I],56]),pnt(pnt[group[65.0+0.0088*I,70.0+0.0088*I],56]),pnt(pnt[group[70.0+0.0088*I,70.0],56]),pnt(pnt[group[65.0,70.0],56]),pnt(pnt[line[70.0,75.0,75.0+0.0076*I,70.0+0.0076*I,70.0],1073741871]),pnt(pnt[group[70.0,70.0+0.0076*I],56]),pnt(pnt[group[70.0+0.0076*I,75.0+0.0076*I],56]),pnt(pnt[group[75.0+0.0076*I,75.0],56]),pnt(pnt[group[70.0,75.0],56]),pnt(pnt[line[75.0,80.0,80.0+0.012*I,75.0+0.012*I,75.0],1073741871]),pnt(pnt[group[75.0,75.0+0.012*I],56]),pnt(pnt[group[75.0+0.012*I,80.0+0.012*I],56]),pnt(pnt[group[80.0+0.012*I,80.0],56]),pnt(pnt[group[75.0,80.0],56]),pnt(pnt[line[80.0,85.0,85.0+0.0104*I,80.0+0.0104*I,80.0],1073741871]),pnt(pnt[group[80.0,80.0+0.0104*I],56]),pnt(pnt[group[80.0+0.0104*I,85.0+0.0104*I],56]),pnt(pnt[group[85.0+0.0104*I,85.0],56]),pnt(pnt[group[80.0,85.0],56]),pnt(pnt[line[85.0,90.0,90.0+0.008*I,85.0+0.008*I,85.0],1073741871]),pnt(pnt[group[85.0,85.0+0.008*I],56]),pnt(pnt[group[85.0+0.008*I,90.0+0.008*I],56]),pnt(pnt[group[90.0+0.008*I,90.0],56]),pnt(pnt[group[85.0,90.0],56]),pnt(pnt[line[90.0,95.0,95.0+0.0104*I,90.0+0.0104*I,90.0],1073741871]),pnt(pnt[group[90.0,90.0+0.0104*I],56]),pnt(pnt[group[90.0+0.0104*I,95.0+0.0104*I],56]),pnt(pnt[group[95.0+0.0104*I,95.0],56]),pnt(pnt[group[90.0,95.0],56]),pnt(pnt[line[95.0,100.0,100.0+0.0148*I,95.0+0.0148*I,95.0],1073741871]),pnt(pnt[group[95.0,95.0+0.0148*I],56]),pnt(pnt[group[95.0+0.0148*I,100.0+0.0148*I],56]),pnt(pnt[group[100.0+0.0148*I,100.0],56]),pnt(pnt[group[95.0,100.0],56])],
> [axes=3,pnt(pnt[line[0.0,5.0,5.0+0.0096*I,0.0096*I,0.0],1073741871]),pnt(pnt[group[0.0,0.0096*I],56]),pnt(pnt[group[0.0096*I,5.0+0.0096*I],56]),pnt(pnt[group[5.0+0.0096*I,5.0],56]),pnt(pnt[group[0.0,5.0],56]),pnt(pnt[line[5.0,10.0,10.0+0.0072*I,5.0+0.0072*I,5.0],1073741871]),pnt(pnt[group[5.0,5.0+0.0072*I],56]),pnt(pnt[group[5.0+0.0072*I,10.0+0.0072*I],56]),pnt(pnt[group[10.0+0.0072*I,10.0],56]),pnt(pnt[group[5.0,10.0],56]),pnt(pnt[line[10.0,15.0,15.0+0.0088*I,10.0+0.0088*I,10.0],1073741871]),pnt(pnt[group[10.0,10.0+0.0088*I],56]),pnt(pnt[group[10.0+0.0088*I,15.0+0.0088*I],56]),pnt(pnt[group[15.0+0.0088*I,15.0],56]),pnt(pnt[group[10.0,15.0],56]),pnt(pnt[line[15.0,20.0,20.0+0.0088*I,15.0+0.0088*I,15.0],1073741871]),pnt(pnt[group[15.0,15.0+0.0088*I],56]),pnt(pnt[group[15.0+0.0088*I,20.0+0.0088*I],56]),pnt(pnt[group[20.0+0.0088*I,20.0],56]),pnt(pnt[group[15.0,20.0],56]),pnt(pnt[line[20.0,25.0,25.0+0.0088*I,20.0+0.0088*I,20.0],1073741871]),pnt(pnt[group[20.0,20.0+0.0088*I],56]),pnt(pnt[group[20.0+0.0088*I,25.0+0.0088*I],56]),pnt(pnt[group[25.0+0.0088*I,25.0],56]),pnt(pnt[group[20.0,25.0],56]),pnt(pnt[line[25.0,30.0,30.0+0.012*I,25.0+0.012*I,25.0],1073741871]),pnt(pnt[group[25.0,25.0+0.012*I],56]),pnt(pnt[group[25.0+0.012*I,30.0+0.012*I],56]),pnt(pnt[group[30.0+0.012*I,30.0],56]),pnt(pnt[group[25.0,30.0],56]),pnt(pnt[line[30.0,35.0,35.0+0.0128*I,30.0+0.0128*I,30.0],1073741871]),pnt(pnt[group[30.0,30.0+0.0128*I],56]),pnt(pnt[group[30.0+0.0128*I,35.0+0.0128*I],56]),pnt(pnt[group[35.0+0.0128*I,35.0],56]),pnt(pnt[group[30.0,35.0],56]),pnt(pnt[line[35.0,40.0,40.0+0.0096*I,35.0+0.0096*I,35.0],1073741871]),pnt(pnt[group[35.0,35.0+0.0096*I],56]),pnt(pnt[group[35.0+0.0096*I,40.0+0.0096*I],56]),pnt(pnt[group[40.0+0.0096*I,40.0],56]),pnt(pnt[group[35.0,40.0],56]),pnt(pnt[line[40.0,45.0,45.0+0.012*I,40.0+0.012*I,40.0],1073741871]),pnt(pnt[group[40.0,40.0+0.012*I],56]),pnt(pnt[group[40.0+0.012*I,45.0+0.012*I],56]),pnt(pnt[group[45.0+0.012*I,45.0],56]),pnt(pnt[group[40.0,45.0],56]),pnt(pnt[line[45.0,50.0,50.0+0.0128*I,45.0+0.0128*I,45.0],1073741871]),pnt(pnt[group[45.0,45.0+0.0128*I],56]),pnt(pnt[group[45.0+0.0128*I,50.0+0.0128*I],56]),pnt(pnt[group[50.0+0.0128*I,50.0],56]),pnt(pnt[group[45.0,50.0],56]),pnt(pnt[line[50.0,55.0,55.0+0.006*I,50.0+0.006*I,50.0],1073741871]),pnt(pnt[group[50.0,50.0+0.006*I],56]),pnt(pnt[group[50.0+0.006*I,55.0+0.006*I],56]),pnt(pnt[group[55.0+0.006*I,55.0],56]),pnt(pnt[group[50.0,55.0],56]),pnt(pnt[line[55.0,60.0,60.0+0.0104*I,55.0+0.0104*I,55.0],1073741871]),pnt(pnt[group[55.0,55.0+0.0104*I],56]),pnt(pnt[group[55.0+0.0104*I,60.0+0.0104*I],56]),pnt(pnt[group[60.0+0.0104*I,60.0],56]),pnt(pnt[group[55.0,60.0],56]),pnt(pnt[line[60.0,65.0,65.0+0.0068*I,60.0+0.0068*I,60.0],1073741871]),pnt(pnt[group[60.0,60.0+0.0068*I],56]),pnt(pnt[group[60.0+0.0068*I,65.0+0.0068*I],56]),pnt(pnt[group[65.0+0.0068*I,65.0],56]),pnt(pnt[group[60.0,65.0],56]),pnt(pnt[line[65.0,70.0,70.0+0.0092*I,65.0+0.0092*I,65.0],1073741871]),pnt(pnt[group[65.0,65.0+0.0092*I],56]),pnt(pnt[group[65.0+0.0092*I,70.0+0.0092*I],56]),pnt(pnt[group[70.0+0.0092*I,70.0],56]),pnt(pnt[group[65.0,70.0],56]),pnt(pnt[line[70.0,75.0,75.0+0.0064*I,70.0+0.0064*I,70.0],1073741871]),pnt(pnt[group[70.0,70.0+0.0064*I],56]),pnt(pnt[group[70.0+0.0064*I,75.0+0.0064*I],56]),pnt(pnt[group[75.0+0.0064*I,75.0],56]),pnt(pnt[group[70.0,75.0],56]),pnt(pnt[line[75.0,80.0,80.0+0.0116*I,75.0+0.0116*I,75.0],1073741871]),pnt(pnt[group[75.0,75.0+0.0116*I],56]),pnt(pnt[group[75.0+0.0116*I,80.0+0.0116*I],56]),pnt(pnt[group[80.0+0.0116*I,80.0],56]),pnt(pnt[group[75.0,80.0],56]),pnt(pnt[line[80.0,85.0,85.0+0.0144*I,80.0+0.0144*I,80.0],1073741871]),pnt(pnt[group[80.0,80.0+0.0144*I],56]),pnt(pnt[group[80.0+0.0144*I,85.0+0.0144*I],56]),pnt(pnt[group[85.0+0.0144*I,85.0],56]),pnt(pnt[group[80.0,85.0],56]),pnt(pnt[line[85.0,90.0,90.0+0.0104*I,85.0+0.0104*I,85.0],1073741871]),pnt(pnt[group[85.0,85.0+0.0104*I],56]),pnt(pnt[group[85.0+0.0104*I,90.0+0.0104*I],56]),pnt(pnt[group[90.0+0.0104*I,90.0],56]),pnt(pnt[group[85.0,90.0],56]),pnt(pnt[line[90.0,95.0,95.0+0.0104*I,90.0+0.0104*I,90.0],1073741871]),pnt(pnt[group[90.0,90.0+0.0104*I],56]),pnt(pnt[group[90.0+0.0104*I,95.0+0.0104*I],56]),pnt(pnt[group[95.0+0.0104*I,95.0],56]),pnt(pnt[group[90.0,95.0],56]),pnt(pnt[line[95.0,100.0,100.0+0.012*I,95.0+0.012*I,95.0],1073741871]),pnt(pnt[group[95.0,95.0+0.012*I],56]),pnt(pnt[group[95.0+0.012*I,100.0+0.012*I],56]),pnt(pnt[group[100.0+0.012*I,100.0],56]),pnt(pnt[group[95.0,100.0],56])],
75c75
< [pnt(pnt[line[0.0,1.0,1.0+0.098*I,0.098*I,0.0],56]),pnt(pnt[group[0.0,0.098*I],0]),pnt(pnt[group[0.098*I,1.0+0.098*I],0]),pnt(pnt[group[1.0+0.098*I,1.0],0]),pnt(pnt[group[0.0,1.0],0]),pnt(pnt[line[1.0,2.0,2.0+0.104*I,1.0+0.104*I,1.0],56]),pnt(pnt[group[1.0,1.0+0.104*I],0]),pnt(pnt[group[1.0+0.104*I,2.0+0.104*I],0]),pnt(pnt[group[2.0+0.104*I,2.0],0]),pnt(pnt[group[1.0,2.0],0]),pnt(pnt[line[2.0,3.0,3.0+0.114*I,2.0+0.114*I,2.0],56]),pnt(pnt[group[2.0,2.0+0.114*I],0]),pnt(pnt[group[2.0+0.114*I,3.0+0.114*I],0]),pnt(pnt[group[3.0+0.114*I,3.0],0]),pnt(pnt[group[2.0,3.0],0]),pnt(pnt[line[3.0,4.0,4.0+0.08*I,3.0+0.08*I,3.0],56]),pnt(pnt[group[3.0,3.0+0.08*I],0]),pnt(pnt[group[3.0+0.08*I,4.0+0.08*I],0]),pnt(pnt[group[4.0+0.08*I,4.0],0]),pnt(pnt[group[3.0,4.0],0]),pnt(pnt[line[4.0,5.0,5.0+0.112*I,4.0+0.112*I,4.0],56]),pnt(pnt[group[4.0,4.0+0.112*I],0]),pnt(pnt[group[4.0+0.112*I,5.0+0.112*I],0]),pnt(pnt[group[5.0+0.112*I,5.0],0]),pnt(pnt[group[4.0,5.0],0]),pnt(pnt[line[5.0,6.0,6.0+0.08*I,5.0+0.08*I,5.0],56]),pnt(pnt[group[5.0,5.0+0.08*I],0]),pnt(pnt[group[5.0+0.08*I,6.0+0.08*I],0]),pnt(pnt[group[6.0+0.08*I,6.0],0]),pnt(pnt[group[5.0,6.0],0]),pnt(pnt[line[6.0,7.0,7.0+0.126*I,6.0+0.126*I,6.0],56]),pnt(pnt[group[6.0,6.0+0.126*I],0]),pnt(pnt[group[6.0+0.126*I,7.0+0.126*I],0]),pnt(pnt[group[7.0+0.126*I,7.0],0]),pnt(pnt[group[6.0,7.0],0]),pnt(pnt[line[7.0,8.0,8.0+0.092*I,7.0+0.092*I,7.0],56]),pnt(pnt[group[7.0,7.0+0.092*I],0]),pnt(pnt[group[7.0+0.092*I,8.0+0.092*I],0]),pnt(pnt[group[8.0+0.092*I,8.0],0]),pnt(pnt[group[7.0,8.0],0]),pnt(pnt[line[8.0,9.0,9.0+0.098*I,8.0+0.098*I,8.0],56]),pnt(pnt[group[8.0,8.0+0.098*I],0]),pnt(pnt[group[8.0+0.098*I,9.0+0.098*I],0]),pnt(pnt[group[9.0+0.098*I,9.0],0]),pnt(pnt[group[8.0,9.0],0]),pnt(pnt[line[9.0,10.0,10.0+0.096*I,9.0+0.096*I,9.0],56]),pnt(pnt[group[9.0,9.0+0.096*I],0]),pnt(pnt[group[9.0+0.096*I,10.0+0.096*I],0]),pnt(pnt[group[10.0+0.096*I,10.0],0]),pnt(pnt[group[9.0,10.0],0])],
---
> [axes=3,pnt(pnt[line[0.0,1.0,1.0+0.098*I,0.098*I,0.0],1073741871]),pnt(pnt[group[0.0,0.098*I],56]),pnt(pnt[group[0.098*I,1.0+0.098*I],56]),pnt(pnt[group[1.0+0.098*I,1.0],56]),pnt(pnt[group[0.0,1.0],56]),pnt(pnt[line[1.0,2.0,2.0+0.104*I,1.0+0.104*I,1.0],1073741871]),pnt(pnt[group[1.0,1.0+0.104*I],56]),pnt(pnt[group[1.0+0.104*I,2.0+0.104*I],56]),pnt(pnt[group[2.0+0.104*I,2.0],56]),pnt(pnt[group[1.0,2.0],56]),pnt(pnt[line[2.0,3.0,3.0+0.114*I,2.0+0.114*I,2.0],1073741871]),pnt(pnt[group[2.0,2.0+0.114*I],56]),pnt(pnt[group[2.0+0.114*I,3.0+0.114*I],56]),pnt(pnt[group[3.0+0.114*I,3.0],56]),pnt(pnt[group[2.0,3.0],56]),pnt(pnt[line[3.0,4.0,4.0+0.08*I,3.0+0.08*I,3.0],1073741871]),pnt(pnt[group[3.0,3.0+0.08*I],56]),pnt(pnt[group[3.0+0.08*I,4.0+0.08*I],56]),pnt(pnt[group[4.0+0.08*I,4.0],56]),pnt(pnt[group[3.0,4.0],56]),pnt(pnt[line[4.0,5.0,5.0+0.112*I,4.0+0.112*I,4.0],1073741871]),pnt(pnt[group[4.0,4.0+0.112*I],56]),pnt(pnt[group[4.0+0.112*I,5.0+0.112*I],56]),pnt(pnt[group[5.0+0.112*I,5.0],56]),pnt(pnt[group[4.0,5.0],56]),pnt(pnt[line[5.0,6.0,6.0+0.08*I,5.0+0.08*I,5.0],1073741871]),pnt(pnt[group[5.0,5.0+0.08*I],56]),pnt(pnt[group[5.0+0.08*I,6.0+0.08*I],56]),pnt(pnt[group[6.0+0.08*I,6.0],56]),pnt(pnt[group[5.0,6.0],56]),pnt(pnt[line[6.0,7.0,7.0+0.126*I,6.0+0.126*I,6.0],1073741871]),pnt(pnt[group[6.0,6.0+0.126*I],56]),pnt(pnt[group[6.0+0.126*I,7.0+0.126*I],56]),pnt(pnt[group[7.0+0.126*I,7.0],56]),pnt(pnt[group[6.0,7.0],56]),pnt(pnt[line[7.0,8.0,8.0+0.092*I,7.0+0.092*I,7.0],1073741871]),pnt(pnt[group[7.0,7.0+0.092*I],56]),pnt(pnt[group[7.0+0.092*I,8.0+0.092*I],56]),pnt(pnt[group[8.0+0.092*I,8.0],56]),pnt(pnt[group[7.0,8.0],56]),pnt(pnt[line[8.0,9.0,9.0+0.098*I,8.0+0.098*I,8.0],1073741871]),pnt(pnt[group[8.0,8.0+0.098*I],56]),pnt(pnt[group[8.0+0.098*I,9.0+0.098*I],56]),pnt(pnt[group[9.0+0.098*I,9.0],56]),pnt(pnt[group[8.0,9.0],56]),pnt(pnt[line[9.0,10.0,10.0+0.096*I,9.0+0.096*I,9.0],1073741871]),pnt(pnt[group[9.0,9.0+0.096*I],56]),pnt(pnt[group[9.0+0.096*I,10.0+0.096*I],56]),pnt(pnt[group[10.0+0.096*I,10.0],56]),pnt(pnt[group[9.0,10.0],56])],
82c82
< [pnt(pnt[line[0.0,1.0,1.0+0.25*I,0.25*I,0.0],56]),pnt(pnt[group[0.0,0.25*I],0]),pnt(pnt[group[0.25*I,1.0+0.25*I],0]),pnt(pnt[group[1.0+0.25*I,1.0],0]),pnt(pnt[group[0.0,1.0],0]),pnt(pnt[line[1.0,2.0,2.0+0.25*I,1.0+0.25*I,1.0],56]),pnt(pnt[group[1.0,1.0+0.25*I],0]),pnt(pnt[group[1.0+0.25*I,2.0+0.25*I],0]),pnt(pnt[group[2.0+0.25*I,2.0],0]),pnt(pnt[group[1.0,2.0],0]),pnt(pnt[line[2.0,3.0,3.0,2.0,2.0],56]),pnt(pnt[group[2.0,2.0],0]),pnt(pnt[group[2.0,3.0],0]),pnt(pnt[group[3.0,3.0],0]),pnt(pnt[group[2.0,3.0],0]),pnt(pnt[line[3.0,4.0,4.0,3.0,3.0],56]),pnt(pnt[group[3.0,3.0],0]),pnt(pnt[group[3.0,4.0],0]),pnt(pnt[group[4.0,4.0],0]),pnt(pnt[group[3.0,4.0],0]),pnt(pnt[line[4.0,5.0,5.0,4.0,4.0],56]),pnt(pnt[group[4.0,4.0],0]),pnt(pnt[group[4.0,5.0],0]),pnt(pnt[group[5.0,5.0],0]),pnt(pnt[group[4.0,5.0],0]),pnt(pnt[line[5.0,6.0,6.0,5.0,5.0],56]),pnt(pnt[group[5.0,5.0],0]),pnt(pnt[group[5.0,6.0],0]),pnt(pnt[group[6.0,6.0],0]),pnt(pnt[group[5.0,6.0],0]),pnt(pnt[line[6.0,7.0,7.0,6.0,6.0],56]),pnt(pnt[group[6.0,6.0],0]),pnt(pnt[group[6.0,7.0],0]),pnt(pnt[group[7.0,7.0],0]),pnt(pnt[group[6.0,7.0],0]),pnt(pnt[line[7.0,8.0,8.0+0.25*I,7.0+0.25*I,7.0],56]),pnt(pnt[group[7.0,7.0+0.25*I],0]),pnt(pnt[group[7.0+0.25*I,8.0+0.25*I],0]),pnt(pnt[group[8.0+0.25*I,8.0],0]),pnt(pnt[group[7.0,8.0],0]),pnt(pnt[line[8.0,9.0,9.0+0.25*I,8.0+0.25*I,8.0],56]),pnt(pnt[group[8.0,8.0+0.25*I],0]),pnt(pnt[group[8.0+0.25*I,9.0+0.25*I],0]),pnt(pnt[group[9.0+0.25*I,9.0],0]),pnt(pnt[group[8.0,9.0],0])],
---
> [axes=3,pnt(pnt[line[0.0,1.0,1.0+0.25*I,0.25*I,0.0],1073741871]),pnt(pnt[group[0.0,0.25*I],56]),pnt(pnt[group[0.25*I,1.0+0.25*I],56]),pnt(pnt[group[1.0+0.25*I,1.0],56]),pnt(pnt[group[0.0,1.0],56]),pnt(pnt[line[1.0,2.0,2.0+0.25*I,1.0+0.25*I,1.0],1073741871]),pnt(pnt[group[1.0,1.0+0.25*I],56]),pnt(pnt[group[1.0+0.25*I,2.0+0.25*I],56]),pnt(pnt[group[2.0+0.25*I,2.0],56]),pnt(pnt[group[1.0,2.0],56]),pnt(pnt[line[2.0,3.0,3.0,2.0,2.0],1073741871]),pnt(pnt[group[2.0,2.0],56]),pnt(pnt[group[2.0,3.0],56]),pnt(pnt[group[3.0,3.0],56]),pnt(pnt[group[2.0,3.0],56]),pnt(pnt[line[3.0,4.0,4.0,3.0,3.0],1073741871]),pnt(pnt[group[3.0,3.0],56]),pnt(pnt[group[3.0,4.0],56]),pnt(pnt[group[4.0,4.0],56]),pnt(pnt[group[3.0,4.0],56]),pnt(pnt[line[4.0,5.0,5.0,4.0,4.0],1073741871]),pnt(pnt[group[4.0,4.0],56]),pnt(pnt[group[4.0,5.0],56]),pnt(pnt[group[5.0,5.0],56]),pnt(pnt[group[4.0,5.0],56]),pnt(pnt[line[5.0,6.0,6.0,5.0,5.0],1073741871]),pnt(pnt[group[5.0,5.0],56]),pnt(pnt[group[5.0,6.0],56]),pnt(pnt[group[6.0,6.0],56]),pnt(pnt[group[5.0,6.0],56]),pnt(pnt[line[6.0,7.0,7.0,6.0,6.0],1073741871]),pnt(pnt[group[6.0,6.0],56]),pnt(pnt[group[6.0,7.0],56]),pnt(pnt[group[7.0,7.0],56]),pnt(pnt[group[6.0,7.0],56]),pnt(pnt[line[7.0,8.0,8.0+0.25*I,7.0+0.25*I,7.0],1073741871]),pnt(pnt[group[7.0,7.0+0.25*I],56]),pnt(pnt[group[7.0+0.25*I,8.0+0.25*I],56]),pnt(pnt[group[8.0+0.25*I,8.0],56]),pnt(pnt[group[7.0,8.0],56]),pnt(pnt[line[8.0,9.0,9.0+0.25*I,8.0+0.25*I,8.0],1073741871]),pnt(pnt[group[8.0,8.0+0.25*I],56]),pnt(pnt[group[8.0+0.25*I,9.0+0.25*I],56]),pnt(pnt[group[9.0+0.25*I,9.0],56]),pnt(pnt[group[8.0,9.0],56])],
FAIL: chk_fhan9
// Maximum number of parallel threads 48
[...]
// Time 0.02
// Time 0
// Total time 0.21
PASS: chk_fhan7
====================
2 of 30 tests failed
====================
Makefile:351: recipe for target 'check-TESTS' failed

it has always been flaky on that buildbot, but now seems to fail consistently. I'll exclude running the giac testsuite on kucalc from now on.

@kiwifb
Copy link
Member

kiwifb commented Mar 6, 2021

comment:104

I'd have to double check that. Some (mathematical) tests return different results depending on whether you build the GUI (linked to fltk) or not. The results distributed with giac are done with GUI. I officially gave up on patching for tests without GUI in sage-on-gentoo for giac-1.6.0-x, because it would have been a massive patch. Very much like what would be needed given your results above. I just cannot ascertain that it was chk_fhan9 on top of my head.

@vbraun
Copy link
Member

vbraun commented Mar 7, 2021

Changed branch from u/fbissey/giac-1.6.0.47 to f05720b

@tscrim
Copy link
Collaborator

tscrim commented Mar 25, 2021

comment:106

This is causing segfaults to happen on #30423. We don't understand why at this point, but we know if works before this ticket and does not after. See #30423 for the error.

@tscrim
Copy link
Collaborator

tscrim commented Mar 25, 2021

Changed commit from f05720b to none

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 26, 2021

comment:107

Another followup - unrelated to the segfault in #30423 - in #31562.

Next major update - #31563.

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 29, 2021

comment:108

Follow-up - speed regression because pari is forced to be --mt=pthread - in #31572.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants