From e3466df4724a0ecb5ceba05431dcfdedf6aadcfe Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Thu, 30 May 2024 19:39:23 -0400 Subject: [PATCH] Remove compiled files --- bin/sys/binarybuilder.bb.fc | 13 - bin/sys/mac64.osx.ifr | 13 - bin/sys/pc64.lnx.gfo | 13 - modules/pc64.lnx.gfo/double/cutest_double.mod | Bin 9906 -> 0 bytes .../double/cutest_interface_double.mod | Bin 14807 -> 0 bytes .../double/cutest_kinds_double.mod | Bin 455 -> 0 bytes .../double/cutest_kinds_double_long.mod | Bin 444 -> 0 bytes .../pc64.lnx.gfo/double/cutest_kinds_half.mod | Bin 457 -> 0 bytes .../double/cutest_kinds_half_long.mod | Bin 451 -> 0 bytes .../pc64.lnx.gfo/double/cutest_kinds_int.mod | Bin 292 -> 0 bytes .../pc64.lnx.gfo/double/cutest_kinds_long.mod | Bin 274 -> 0 bytes .../double/cutest_kinds_quadruple.mod | Bin 466 -> 0 bytes .../double/cutest_kinds_quadruple_long.mod | Bin 449 -> 0 bytes .../pc64.lnx.gfo/double/cutest_kinds_r16.mod | Bin 338 -> 0 bytes .../pc64.lnx.gfo/double/cutest_kinds_r2.mod | Bin 338 -> 0 bytes .../pc64.lnx.gfo/double/cutest_kinds_r4.mod | Bin 337 -> 0 bytes .../pc64.lnx.gfo/double/cutest_kinds_r8.mod | Bin 334 -> 0 bytes .../pc64.lnx.gfo/double/cutest_kinds_real.mod | Bin 245 -> 0 bytes .../double/cutest_kinds_single.mod | Bin 453 -> 0 bytes .../double/cutest_kinds_single_long.mod | Bin 449 -> 0 bytes .../pc64.lnx.gfo/double/cutest_lqp_double.mod | Bin 795 -> 0 bytes .../double/cutest_problem_double.mod | Bin 4316 -> 0 bytes .../single/cutest_interface_single.mod | Bin 14831 -> 0 bytes .../single/cutest_kinds_double.mod | Bin 455 -> 0 bytes .../single/cutest_kinds_double_long.mod | Bin 444 -> 0 bytes .../pc64.lnx.gfo/single/cutest_kinds_half.mod | Bin 457 -> 0 bytes .../single/cutest_kinds_half_long.mod | Bin 451 -> 0 bytes .../pc64.lnx.gfo/single/cutest_kinds_int.mod | Bin 292 -> 0 bytes .../pc64.lnx.gfo/single/cutest_kinds_long.mod | Bin 274 -> 0 bytes .../single/cutest_kinds_quadruple.mod | Bin 466 -> 0 bytes .../single/cutest_kinds_quadruple_long.mod | Bin 449 -> 0 bytes .../pc64.lnx.gfo/single/cutest_kinds_r16.mod | Bin 338 -> 0 bytes .../pc64.lnx.gfo/single/cutest_kinds_r2.mod | Bin 338 -> 0 bytes .../pc64.lnx.gfo/single/cutest_kinds_r4.mod | Bin 337 -> 0 bytes .../pc64.lnx.gfo/single/cutest_kinds_r8.mod | Bin 334 -> 0 bytes .../pc64.lnx.gfo/single/cutest_kinds_real.mod | Bin 245 -> 0 bytes .../single/cutest_kinds_single.mod | Bin 453 -> 0 bytes .../single/cutest_kinds_single_long.mod | Bin 449 -> 0 bytes .../pc64.lnx.gfo/single/cutest_lqp_single.mod | Bin 791 -> 0 bytes .../single/cutest_problem_single.mod | Bin 4292 -> 0 bytes modules/pc64.lnx.gfo/single/cutest_single.mod | Bin 9896 -> 0 bytes objects/mac64.osx.ifr/double/cutest.f90 | 4196 ----------------- objects/pc64.lnx.gfo/double/algencan_main.o | Bin 19856 -> 0 bytes objects/pc64.lnx.gfo/double/bobyqa_main.o | Bin 8432 -> 0 bytes objects/pc64.lnx.gfo/double/cg_descent_main.o | Bin 16472 -> 0 bytes objects/pc64.lnx.gfo/double/cgplus_main.o | Bin 8904 -> 0 bytes objects/pc64.lnx.gfo/double/cobyla_main.o | Bin 12440 -> 0 bytes objects/pc64.lnx.gfo/double/derchk_main.o | Bin 14448 -> 0 bytes objects/pc64.lnx.gfo/double/dfo_main.o | Bin 23424 -> 0 bytes .../pc64.lnx.gfo/double/directsearch_main.o | Bin 10264 -> 0 bytes objects/pc64.lnx.gfo/double/e04nqf_main.o | Bin 17072 -> 0 bytes objects/pc64.lnx.gfo/double/filtersd_main.o | Bin 19216 -> 0 bytes objects/pc64.lnx.gfo/double/filtersqp_main.o | Bin 23008 -> 0 bytes objects/pc64.lnx.gfo/double/gen77_main.o | Bin 9424 -> 0 bytes objects/pc64.lnx.gfo/double/gen90.o | Bin 5096 -> 0 bytes objects/pc64.lnx.gfo/double/gen90_main.o | Bin 13536 -> 0 bytes objects/pc64.lnx.gfo/double/genc.o | Bin 3168 -> 0 bytes objects/pc64.lnx.gfo/double/genc_main.o | Bin 10856 -> 0 bytes objects/pc64.lnx.gfo/double/hrb_main.o | Bin 37456 -> 0 bytes objects/pc64.lnx.gfo/double/ipopt_main.o | Bin 11440 -> 0 bytes objects/pc64.lnx.gfo/double/knitro_main.o | Bin 22192 -> 0 bytes objects/pc64.lnx.gfo/double/la04_main.o | Bin 22200 -> 0 bytes objects/pc64.lnx.gfo/double/lbfgs_main.o | Bin 8984 -> 0 bytes objects/pc64.lnx.gfo/double/lbfgsb_main.o | Bin 10888 -> 0 bytes objects/pc64.lnx.gfo/double/libcutest.a | Bin 763156 -> 0 bytes objects/pc64.lnx.gfo/double/lincoa_main.o | Bin 12760 -> 0 bytes objects/pc64.lnx.gfo/double/loqo_main.o | Bin 35920 -> 0 bytes objects/pc64.lnx.gfo/double/minos_main.o | Bin 22648 -> 0 bytes objects/pc64.lnx.gfo/double/newuoa_main.o | Bin 8408 -> 0 bytes objects/pc64.lnx.gfo/double/nitsol_main.o | Bin 15656 -> 0 bytes objects/pc64.lnx.gfo/double/nlpqlp_main.o | Bin 15296 -> 0 bytes objects/pc64.lnx.gfo/double/npsol_main.o | Bin 20376 -> 0 bytes objects/pc64.lnx.gfo/double/osqp_main.o | Bin 24864 -> 0 bytes objects/pc64.lnx.gfo/double/pds_main.o | Bin 12584 -> 0 bytes objects/pc64.lnx.gfo/double/pennlp_main.o | Bin 13856 -> 0 bytes objects/pc64.lnx.gfo/double/praxis_main.o | Bin 8048 -> 0 bytes objects/pc64.lnx.gfo/double/ql_main.o | Bin 14928 -> 0 bytes objects/pc64.lnx.gfo/double/qplib_main.o | Bin 71904 -> 0 bytes objects/pc64.lnx.gfo/double/snopt_main.o | Bin 18520 -> 0 bytes objects/pc64.lnx.gfo/double/spg_main.o | Bin 8112 -> 0 bytes objects/pc64.lnx.gfo/double/stats_main.o | Bin 17656 -> 0 bytes objects/pc64.lnx.gfo/double/stenmin_main.o | Bin 11584 -> 0 bytes objects/pc64.lnx.gfo/double/tenmin_main.o | Bin 11400 -> 0 bytes objects/pc64.lnx.gfo/double/test_main.o | Bin 147424 -> 0 bytes objects/pc64.lnx.gfo/double/tron_main.o | Bin 13136 -> 0 bytes objects/pc64.lnx.gfo/double/uncmin_main.o | Bin 11480 -> 0 bytes objects/pc64.lnx.gfo/double/vf13_main.o | Bin 14336 -> 0 bytes objects/pc64.lnx.gfo/double/worhp_main.o | Bin 16992 -> 0 bytes objects/pc64.lnx.gfo/single/algencan_main.o | Bin 19632 -> 0 bytes objects/pc64.lnx.gfo/single/bobyqa_main.o | Bin 8440 -> 0 bytes objects/pc64.lnx.gfo/single/cg_descent_main.o | Bin 16368 -> 0 bytes objects/pc64.lnx.gfo/single/cgplus_main.o | Bin 8904 -> 0 bytes objects/pc64.lnx.gfo/single/cobyla_main.o | Bin 12432 -> 0 bytes objects/pc64.lnx.gfo/single/derchk_main.o | Bin 14696 -> 0 bytes objects/pc64.lnx.gfo/single/dfo_main.o | Bin 23384 -> 0 bytes .../pc64.lnx.gfo/single/directsearch_main.o | Bin 10280 -> 0 bytes objects/pc64.lnx.gfo/single/e04nqf_main.o | Bin 17056 -> 0 bytes objects/pc64.lnx.gfo/single/filtersd_main.o | Bin 19144 -> 0 bytes objects/pc64.lnx.gfo/single/filtersqp_main.o | Bin 22872 -> 0 bytes objects/pc64.lnx.gfo/single/gen77_main.o | Bin 9400 -> 0 bytes objects/pc64.lnx.gfo/single/gen90.o | Bin 5008 -> 0 bytes objects/pc64.lnx.gfo/single/gen90_main.o | Bin 13256 -> 0 bytes objects/pc64.lnx.gfo/single/genc.o | Bin 3272 -> 0 bytes objects/pc64.lnx.gfo/single/genc_main.o | Bin 10952 -> 0 bytes objects/pc64.lnx.gfo/single/hrb_main.o | Bin 37352 -> 0 bytes objects/pc64.lnx.gfo/single/ipopt_main.o | Bin 11424 -> 0 bytes objects/pc64.lnx.gfo/single/la04_main.o | Bin 22200 -> 0 bytes objects/pc64.lnx.gfo/single/lbfgs_main.o | Bin 8912 -> 0 bytes objects/pc64.lnx.gfo/single/lbfgsb_main.o | Bin 10856 -> 0 bytes objects/pc64.lnx.gfo/single/libcutest.a | Bin 762766 -> 0 bytes objects/pc64.lnx.gfo/single/lincoa_main.o | Bin 12640 -> 0 bytes objects/pc64.lnx.gfo/single/minos_main.o | Bin 22152 -> 0 bytes objects/pc64.lnx.gfo/single/newuoa_main.o | Bin 8416 -> 0 bytes objects/pc64.lnx.gfo/single/nitsol_main.o | Bin 15640 -> 0 bytes objects/pc64.lnx.gfo/single/nlpqlp_main.o | Bin 14984 -> 0 bytes objects/pc64.lnx.gfo/single/npsol_main.o | Bin 20040 -> 0 bytes objects/pc64.lnx.gfo/single/osqp_main.o | Bin 25152 -> 0 bytes objects/pc64.lnx.gfo/single/pds_main.o | Bin 12576 -> 0 bytes objects/pc64.lnx.gfo/single/pennlp_main.o | Bin 13792 -> 0 bytes objects/pc64.lnx.gfo/single/praxis_main.o | Bin 7784 -> 0 bytes objects/pc64.lnx.gfo/single/ql_main.o | Bin 14696 -> 0 bytes objects/pc64.lnx.gfo/single/snopt_main.o | Bin 18104 -> 0 bytes objects/pc64.lnx.gfo/single/spg_main.o | Bin 8128 -> 0 bytes objects/pc64.lnx.gfo/single/stats_main.o | Bin 17736 -> 0 bytes objects/pc64.lnx.gfo/single/stenmin_main.o | Bin 11560 -> 0 bytes objects/pc64.lnx.gfo/single/tenmin_main.o | Bin 11256 -> 0 bytes objects/pc64.lnx.gfo/single/test_main.o | Bin 145616 -> 0 bytes objects/pc64.lnx.gfo/single/tron_main.o | Bin 12968 -> 0 bytes objects/pc64.lnx.gfo/single/uncmin_main.o | Bin 11504 -> 0 bytes objects/pc64.lnx.gfo/single/vf13_main.o | Bin 14200 -> 0 bytes 130 files changed, 4235 deletions(-) delete mode 100644 bin/sys/binarybuilder.bb.fc delete mode 100644 bin/sys/mac64.osx.ifr delete mode 100644 bin/sys/pc64.lnx.gfo delete mode 100644 modules/pc64.lnx.gfo/double/cutest_double.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_interface_double.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_double.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_double_long.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_half.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_half_long.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_int.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_long.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_quadruple.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_quadruple_long.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_r16.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_r2.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_r4.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_r8.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_real.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_single.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_kinds_single_long.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_lqp_double.mod delete mode 100644 modules/pc64.lnx.gfo/double/cutest_problem_double.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_interface_single.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_double.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_double_long.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_half.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_half_long.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_int.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_long.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_quadruple.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_quadruple_long.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_r16.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_r2.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_r4.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_r8.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_real.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_single.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_kinds_single_long.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_lqp_single.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_problem_single.mod delete mode 100644 modules/pc64.lnx.gfo/single/cutest_single.mod delete mode 100644 objects/mac64.osx.ifr/double/cutest.f90 delete mode 100644 objects/pc64.lnx.gfo/double/algencan_main.o delete mode 100644 objects/pc64.lnx.gfo/double/bobyqa_main.o delete mode 100644 objects/pc64.lnx.gfo/double/cg_descent_main.o delete mode 100644 objects/pc64.lnx.gfo/double/cgplus_main.o delete mode 100644 objects/pc64.lnx.gfo/double/cobyla_main.o delete mode 100644 objects/pc64.lnx.gfo/double/derchk_main.o delete mode 100644 objects/pc64.lnx.gfo/double/dfo_main.o delete mode 100644 objects/pc64.lnx.gfo/double/directsearch_main.o delete mode 100644 objects/pc64.lnx.gfo/double/e04nqf_main.o delete mode 100644 objects/pc64.lnx.gfo/double/filtersd_main.o delete mode 100644 objects/pc64.lnx.gfo/double/filtersqp_main.o delete mode 100644 objects/pc64.lnx.gfo/double/gen77_main.o delete mode 100644 objects/pc64.lnx.gfo/double/gen90.o delete mode 100644 objects/pc64.lnx.gfo/double/gen90_main.o delete mode 100644 objects/pc64.lnx.gfo/double/genc.o delete mode 100644 objects/pc64.lnx.gfo/double/genc_main.o delete mode 100644 objects/pc64.lnx.gfo/double/hrb_main.o delete mode 100644 objects/pc64.lnx.gfo/double/ipopt_main.o delete mode 100644 objects/pc64.lnx.gfo/double/knitro_main.o delete mode 100644 objects/pc64.lnx.gfo/double/la04_main.o delete mode 100644 objects/pc64.lnx.gfo/double/lbfgs_main.o delete mode 100644 objects/pc64.lnx.gfo/double/lbfgsb_main.o delete mode 100644 objects/pc64.lnx.gfo/double/libcutest.a delete mode 100644 objects/pc64.lnx.gfo/double/lincoa_main.o delete mode 100644 objects/pc64.lnx.gfo/double/loqo_main.o delete mode 100644 objects/pc64.lnx.gfo/double/minos_main.o delete mode 100644 objects/pc64.lnx.gfo/double/newuoa_main.o delete mode 100644 objects/pc64.lnx.gfo/double/nitsol_main.o delete mode 100644 objects/pc64.lnx.gfo/double/nlpqlp_main.o delete mode 100644 objects/pc64.lnx.gfo/double/npsol_main.o delete mode 100644 objects/pc64.lnx.gfo/double/osqp_main.o delete mode 100644 objects/pc64.lnx.gfo/double/pds_main.o delete mode 100644 objects/pc64.lnx.gfo/double/pennlp_main.o delete mode 100644 objects/pc64.lnx.gfo/double/praxis_main.o delete mode 100644 objects/pc64.lnx.gfo/double/ql_main.o delete mode 100644 objects/pc64.lnx.gfo/double/qplib_main.o delete mode 100644 objects/pc64.lnx.gfo/double/snopt_main.o delete mode 100644 objects/pc64.lnx.gfo/double/spg_main.o delete mode 100644 objects/pc64.lnx.gfo/double/stats_main.o delete mode 100644 objects/pc64.lnx.gfo/double/stenmin_main.o delete mode 100644 objects/pc64.lnx.gfo/double/tenmin_main.o delete mode 100644 objects/pc64.lnx.gfo/double/test_main.o delete mode 100644 objects/pc64.lnx.gfo/double/tron_main.o delete mode 100644 objects/pc64.lnx.gfo/double/uncmin_main.o delete mode 100644 objects/pc64.lnx.gfo/double/vf13_main.o delete mode 100644 objects/pc64.lnx.gfo/double/worhp_main.o delete mode 100644 objects/pc64.lnx.gfo/single/algencan_main.o delete mode 100644 objects/pc64.lnx.gfo/single/bobyqa_main.o delete mode 100644 objects/pc64.lnx.gfo/single/cg_descent_main.o delete mode 100644 objects/pc64.lnx.gfo/single/cgplus_main.o delete mode 100644 objects/pc64.lnx.gfo/single/cobyla_main.o delete mode 100644 objects/pc64.lnx.gfo/single/derchk_main.o delete mode 100644 objects/pc64.lnx.gfo/single/dfo_main.o delete mode 100644 objects/pc64.lnx.gfo/single/directsearch_main.o delete mode 100644 objects/pc64.lnx.gfo/single/e04nqf_main.o delete mode 100644 objects/pc64.lnx.gfo/single/filtersd_main.o delete mode 100644 objects/pc64.lnx.gfo/single/filtersqp_main.o delete mode 100644 objects/pc64.lnx.gfo/single/gen77_main.o delete mode 100644 objects/pc64.lnx.gfo/single/gen90.o delete mode 100644 objects/pc64.lnx.gfo/single/gen90_main.o delete mode 100644 objects/pc64.lnx.gfo/single/genc.o delete mode 100644 objects/pc64.lnx.gfo/single/genc_main.o delete mode 100644 objects/pc64.lnx.gfo/single/hrb_main.o delete mode 100644 objects/pc64.lnx.gfo/single/ipopt_main.o delete mode 100644 objects/pc64.lnx.gfo/single/la04_main.o delete mode 100644 objects/pc64.lnx.gfo/single/lbfgs_main.o delete mode 100644 objects/pc64.lnx.gfo/single/lbfgsb_main.o delete mode 100644 objects/pc64.lnx.gfo/single/libcutest.a delete mode 100644 objects/pc64.lnx.gfo/single/lincoa_main.o delete mode 100644 objects/pc64.lnx.gfo/single/minos_main.o delete mode 100644 objects/pc64.lnx.gfo/single/newuoa_main.o delete mode 100644 objects/pc64.lnx.gfo/single/nitsol_main.o delete mode 100644 objects/pc64.lnx.gfo/single/nlpqlp_main.o delete mode 100644 objects/pc64.lnx.gfo/single/npsol_main.o delete mode 100644 objects/pc64.lnx.gfo/single/osqp_main.o delete mode 100644 objects/pc64.lnx.gfo/single/pds_main.o delete mode 100644 objects/pc64.lnx.gfo/single/pennlp_main.o delete mode 100644 objects/pc64.lnx.gfo/single/praxis_main.o delete mode 100644 objects/pc64.lnx.gfo/single/ql_main.o delete mode 100644 objects/pc64.lnx.gfo/single/snopt_main.o delete mode 100644 objects/pc64.lnx.gfo/single/spg_main.o delete mode 100644 objects/pc64.lnx.gfo/single/stats_main.o delete mode 100644 objects/pc64.lnx.gfo/single/stenmin_main.o delete mode 100644 objects/pc64.lnx.gfo/single/tenmin_main.o delete mode 100644 objects/pc64.lnx.gfo/single/test_main.o delete mode 100644 objects/pc64.lnx.gfo/single/tron_main.o delete mode 100644 objects/pc64.lnx.gfo/single/uncmin_main.o delete mode 100644 objects/pc64.lnx.gfo/single/vf13_main.o diff --git a/bin/sys/binarybuilder.bb.fc b/bin/sys/binarybuilder.bb.fc deleted file mode 100644 index 552b363..0000000 --- a/bin/sys/binarybuilder.bb.fc +++ /dev/null @@ -1,13 +0,0 @@ -RM="rm -f" -MAKE="make" -CAT="cat" -SED="sed" -MV="mv" -CP="cp" -LS="ls" -LN="ln" -FORTRAN="$(FC)" -FFLAGS=" -I$CUTEST/modules/binarybuilder.bb.fc/$PRECIS -fno-second-underscore -fPIC -fopenmp" -PROBFLAGS=" -I$CUTEST/modules/binarybuilder.bb.fc/$PRECIS -c -fno-second-underscore -fPIC -O2 -ffixed-form " -BLAS="-lblastrampoline" -LAPACK="-lblastrampoline" diff --git a/bin/sys/mac64.osx.ifr b/bin/sys/mac64.osx.ifr deleted file mode 100644 index 5778fea..0000000 --- a/bin/sys/mac64.osx.ifr +++ /dev/null @@ -1,13 +0,0 @@ -RM="/bin/rm -f" -MAKE="/usr/bin/make" -CAT="/bin/cat" -SED="/usr/bin/sed" -MV="/bin/mv" -CP="/bin/cp" -LS="/bin/ls" -LN="/bin/ln" -FORTRAN="ifort" -FFLAGS=" -module $CUTEST/modules/mac64.osx.ifr/$PRECIS -I$CUTEST/modules/mac64.osx.ifr/$PRECIS -nowarn -fopenmp" -PROBFLAGS=" -module $CUTEST/modules/mac64.osx.ifr/$PRECIS -I$CUTEST/modules/mac64.osx.ifr/$PRECIS -nowarn -c -fpic -fpp -fpp -diag-disable=10441 -diag-disable=3850 -O -fixed -nowarn " -BLAS="" -LAPACK="" diff --git a/bin/sys/pc64.lnx.gfo b/bin/sys/pc64.lnx.gfo deleted file mode 100644 index 418bff1..0000000 --- a/bin/sys/pc64.lnx.gfo +++ /dev/null @@ -1,13 +0,0 @@ -RM="/bin/rm -f" -MAKE="/usr/bin/make" -CAT="/bin/cat" -SED="/bin/sed" -MV="/bin/mv" -CP="/bin/cp" -LS="/bin/ls" -LN="/bin/ln" -FORTRAN="gfortran" -FFLAGS=" -I$CUTEST/modules/pc64.lnx.gfo/$PRECIS -fno-second-underscore -fPIC -cpp -fopenmp" -PROBFLAGS=" -I$CUTEST/modules/pc64.lnx.gfo/$PRECIS -c -fno-second-underscore -fPIC -cpp -O -ffixed-form " -BLAS="" -LAPACK="" diff --git a/modules/pc64.lnx.gfo/double/cutest_double.mod b/modules/pc64.lnx.gfo/double/cutest_double.mod deleted file mode 100644 index 793ef519fdae9ffcbc34c70fe87fa2e095d0fd14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9906 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 diff --git a/modules/pc64.lnx.gfo/double/cutest_interface_double.mod b/modules/pc64.lnx.gfo/double/cutest_interface_double.mod deleted file mode 100644 index 3d0920f0d61779f13a8cff3408440d5fb0c7b764..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14807 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 diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_half.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_half.mod deleted file mode 100644 index 14b0fe5fb9f031e52a8c5b09f4d22ef0af6fef46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 457 zcmV;)0XF_0iwFP!000001KpKdZ-Ous$KU%Y&RgNZrFfe@GKPjs!4!0l#0hR>h>PHo zefzcC#-!>rE;9?ab4pvz@AS{IC0Yu+)b0UU{FAkCMs3Ox}#H=nh&P+ zXf_Pf(M_jxC)CnV?tn3#j10|i8n!yqfdI)q&xZ`z6m8zbj>2bgr9SV2G|RLdmCbyl zJ8t9DlH`13ZW0-_b~s+<;c}NPZ_DV$*8Oy(@1UV7TJf%YmQa<3^eFr)g1RYAxQ?C=GR;(KsCVZo=QxZ=Ik!Bt#c!q>4BORQ zK7?8m?ijY^YW0{EP>^T=#QA5v59A+xhwK67|APDU!4S`>OX4LsT~+8Xlt5HXp{Njp z>NBYSQ)Cswaq2?69M35_q`Er#p$IEo>v*WdQvkOV( diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_half_long.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_half_long.mod deleted file mode 100644 index 7ba5beac060ad88cec2a313ad519eba20de029cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmV;!0X+U6iwFP!000001KpNOZ-PJ&fba7w=C*LKS@2Ok5{iaY!2q^LVg*}Mlm@g( z|9yAmQ3{C0*w{A9V`kZf`DSNk84XR#u@nQ>p|=ZseD|Yx6>gA7U4o0qpKpB+mr=OJ z*VV?0Z-xU3f*|504#)%%m{@blNEUA{Vb|T(kGJmL1UHgd4?zh9VX9clL~}F?XU4r@ zJ{m3Ea5Tfo)v0BwkSeH8rej^zotCXUXh@MJpXXCX>=hl}#agB_yY@OC1FC7*j>6u2 zWH{-Ny(Ea~%v7Wzv`ZW>^I+));pVvvSbUIhPRzU6Sc3-0Ov&##UZI1x+#5x_s<9m; zUXAPhdGMQ^-#_U5E|OK1=bMxN6i<)yEY1Uh+Q6v*p>DgX%cof8lqg!D!AYZr6j74?+zX)c>i}66HA6 z?7AFJQ*M=#1uRV&pO{yLp;bJ{@gyYinZ^Bj!B@XrJoxypLh_?PQ9itvQf#N28fD)| twgZaYtdLUd!B?@Ncw5R-iv2XmDGsvuU~Z?WGnpuf@Ch+3;_*-k008e=-mm}w diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_int.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_int.mod deleted file mode 100644 index d3084eba4786231558d86e98203685032b8b2c1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmV+<0o(o`iwFP!000001GQ37PlGTJe!pLFZ-s}Mvf+b|m9V98Ye}i|u`z&#xPbxY z@3&>JOh;x+G;P!Su6OPCU2nCNN-HLCU+0HifgeTFmUV?BxFwi1#dBBW_|nvSd@HNG zy;g;3kZ+PTkGP(tY#Sp*dVJrdtn3w`bJ;OsORUE(1|lg^&FsxTgp-i;mgf(d zgGqf@^m2A}^?Fs)mMPBe*YP(=a4u;)JMF&^0~6FjM=kr$QX@}IWL%1pi32>9Cc5Mt qU;tAeFkOEeeWm{JRitaFV?$A#pZ^8L#i*ZR=))(^KJZ=@0{{SkU5iHm diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_long.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_long.mod deleted file mode 100644 index be131b9ad2f27816c6fac94e450f9c6d394a6db0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmV+t0qy=DiwFP!000001Km==PQx$^z56SCOM4hfw<5tYs=6tHB~=>W7@@YHimgR$ z$M+MjL>dTof(vpYy_eY0d$BibZLARr_kDfXHTc#HW7~Jgl1qlw&^%5}jZZ_r$CtLN z$BXqfhbW5iHx>jCgNNVjC9?L_F=W+YYR1VOCAeMRJ^M3;2}V&NjM(NjH+ZLRlzvbP zscfz+1X>uKg*%kn;#OwTE=qBqBS$_9ppuP$BBdiAfs-=gl#^*yTA}ROY|q#gJEAE5 zD4Zei7*=Gb`cpqBOP4t+F}ffkOYO2*1)K^`e0&yu&gPeF_|c~SQAo)qnfgDSqhXv! Yk>fISk>l#bDaSO1cdZ}@(M|&Z0N?6;mjD0& diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_quadruple.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_quadruple.mod deleted file mode 100644 index a95117979bcbdd0c342be6d19ad0a6fa9c4371c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmV;@0WJO?iwFP!000001KpKdZ-Ous$KU%Y&RgNZrSu=PS`?*mmx0M zw_nS}Fs$f|%P!$|PHEx%PX9d}4K2rY6cd(fe-{Pt7R1|dy#h=-7#49bPXZsF;`I_< z!j-?h84d`NBpI%8qQa07GX+-@@M7a(cHbqzHu2IByqI=b69x*BWGjv`)?Cejsd;Z& z4`xF*UCng&uI*SV${ot@ey=(H1K122a^R?hTzB9y&N|bmGzAh_NPbE+l z4^AK}#IObo>mOBIN;uD<7Oyxzby`GKc{!S5oTOA zpY8bsn#XrV00O IUK|Mk04|W(g#Z8m diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_quadruple_long.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_quadruple_long.mod deleted file mode 100644 index b326e0de530d40cf3854fa059914d5550b0597f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmV;y0Y3g8iwFP!000001KpNOZ-PJ&fbaV&=C*LKS$umW6b-3@0c?*OE3`31u^>(Q z?>j4CDBz>Urm^8Qv+TlrJCEJb(6U`yHDMKcN#MhWAH~aX4OHn+SVaDO>wEALg)4Yl zuD$qfIABDQWVpsjazQ32)?7`Xiw&oEPqu!%Rc&>mySfcC^TD*9 z%!XmQy6NuKscmT_Q^1%^$A)IO4M%;{fdNbZFNTcp6K&CiN3Nq`J6-f4nq@k!ieEm_ zo%ZQYlH_b;CNi0{N+9pa+>4S;;PW6{zm_p8Z&PA2vF>MM{TOeq?4NtmLIV+|=X#N} zYIhr`SK|hM9^9rMIzX3Io^P{!Q#@V4v$zb1)CNuk2n>g7Tnw?TsZb2Z;#z72DH^We zQO8-2S?W!WV)g{4fcjO^lddDjkO*b70Usv8*y^Wy>4GAEgTe rgHBdb(W-8t>@et+GL}I<3w8#BJWO!zSvI36Dl+*3bM#pRW(fcQdg;)? diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_r16.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_r16.mod deleted file mode 100644 index 69f880cf78fa524a07d2be1629fa9744ced2a997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmV-Y0j>TYiwFP!000001KpHSPlGTJ$KU%Y{%?hcnX&=XM?%;_+zKhEkIe*37Pn!5 znfUE(H!z#SXcm2#p^*DGcjbP)_NJ3aq{8D^m-%*8;I*jgWw`;h9Ez+e7EO`ksVdia zUT*UGYI4JfVVL-hK{~@E%ItZEpxKM0>bq@f$jgVL#Ap8TTiK{(<-r@);`3Kc#?W*wVQCN<``bVeE z)i~K-@*qs4FLj8BVlBcXlKv^B1&fHln;jwc6Dn66xSryX4sQ%vU*4s%zbu#Td;6}( kFl-wJ!|2mhW3by(%HVVbW^mihU>KX^9UL?1)7u3A0NzomJOBUy diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_r2.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_r2.mod deleted file mode 100644 index 6f393da1b2647510989ba8b13e30d42252cd321d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmV-Y0j>TYiwFP!000001KpHSPlGTJ$KU%Y{%?hcnZjVxM?%;_+zKhEkIe*37Pn!5 znfUE(H!#z&XckS>P{{q8yK=u?d(%lIQsHr|%Y3^k@LW{&vfO}LE=5)qi>Ao&P?c*u zE;o67F}Y&IFid>MAe~_nW%j%_X!azj`fi(|ZsaZnS=nla!h&JMp77>D8VKC*YaZS4 zLCDj9r*ASAkxyEIa30S>KTHRScN>6#?SHRBrfLaCPpPNVDzBZ^KE#iBl6q?8Pu!_P zca~wck*�G6coLH(a2 zH_|lO58@z9q%U=dh+-|mB$ECyqy>wJz?;1z><3h?IB-3tBOToswElY+>U6bq%iA|R k2D@z*48srCjKOKoD1+P8mtoXy2E*7SuZBN)zt#l+0I8#+{{R30 diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_r4.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_r4.mod deleted file mode 100644 index f8602df8e811b94227f8815b29175fedecf8e289..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmV-X0j~ZZiwFP!000001KpHSPlGTJ$KU%Y{%?hcnX<7>9|>U#acfCIeQYLRvbYTc z%*1bRyMdXG#bj!thC=S&+?D(F+M7;hHGBt6J?+P^GJ9C>&T;YzvkkO z_d=coJb9Cm6h3JL!g(|c{V?gp-faK|w*S2end&86Go_za>%4Z__z++4IPvt#pSV+< zoUtssiEK<}lL2VfL6a|5znSOqB##Sfl2`XH8t0rUkwYq+Peod)FBXYtsG)}XKSyq4 zXwo0VK^QAvnGh)=Bf?lH{}|GNLuBC1-Vt^KYF8Y%9@CMQZVX!ey$f}^TBhag8y-Wy jX%-BF57&&rZO$meu&pn{sM!pLu}xk9vJLi>)&&3nW9p!h diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_r8.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_r8.mod deleted file mode 100644 index 5a8cb1cdbcad55f35b98e9625b4524b886a49d2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQrciwFP!000001KpHSZ-Ouo$KU%Y{%?f`m!hcKBOz$Wv?YaYkBtMCn5is) zOZM&8Dl9r#mbmS~g+lJ%+?D(F+M7;hHGBt6J?+Q029rp>SYXkte-*kOUHU{FaLc z-V1pW@Z>{AQuw412WU7~N&6Ivxt@GMx<3oJGlakCbBV^O$MM@2Ti_MT_%qUYLZuvZyM*EDv?7foKHnssvklT4K>tI|L4e!3{Con zI0$3qD-$9`WJDMX<)1=2aEJ`N*%4tkpmxQ9>nR;+>BgYdRd9g-KBGFS6(fY-qgY87>3}yP)03Nn;LxRh0Zs6kZGH0 zOED}=p2Rz3%i=vtGCNqQbqWdD8wf3P|HLGu{EBgK7UEEoUh)vm5adB(x vB}qYJu=YtD+~d&mIEXm(XP(JJ9{(4G5%mL-7~R+;#)5tT+qxG2RRRD2o@#Rj diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_single.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_single.mod deleted file mode 100644 index 8c77026a6c90d598b7a412ec41bd13a5ddaebf28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 453 zcmV;$0XqI4iwFP!000001KpL|Zh}A%hVS<&=5FD_X7NbPVj)z;Es0esO!6jMBB96~j<{{zHpvIB-;WqHrZEQ=#PFwP5`rS!Fl_ph}ZO{_E&JZt57%8*``7i zYD%I0PootG!)Y4vc08B((3C~>OcPe7Ht|r2Cjd^a?9lgUKDN_m`#gdEk=>BMAm5e< veL&XG35=?}kiZz_{fEF~?JFfP$t_M`TDXIXPI4(}DDdb9&F%4g4G91M3k}?^ diff --git a/modules/pc64.lnx.gfo/double/cutest_kinds_single_long.mod b/modules/pc64.lnx.gfo/double/cutest_kinds_single_long.mod deleted file mode 100644 index 81811be3f6fd2838ac58b562c07e0947808a38b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmV;y0Y3g8iwFP!000001KpP0Z-Ouoz~B2<+*{$nrTFb5VQ9z{2;lbEIAMkiVF6vT z|9-7}41u9BE^|xyxGQbB-?ew`Y-(7JCF`(_+KP;#D=>Ic>P8(d+v8$vZDtRXxwKt7$gt`Q?}%V>Zleh^#|Q} z(mR^&sJc_Are!E7Q$Smob4}5ljx9f`K!Bvb=UrxOh(51kCD)l<2c5S;ilN(%%tk)Z z95ds%B#2qhOe7-eRX7qq+yovCqHt41JpPojE{yx-TtzLQxl+6f#8L$>g-6PWb%XnW z-3Ir2tKgO=VEpX_3;_Feo+Bs!DV`zcSziW(8W&Ct2sE22ly|WVlPj8SP$jhjl?|6z zY2s|gth7e0m?MtKp?;L~dq_bxZF{CkI9!B)}gV9`);C>IPIlpnJ34{7S*;*nT zrygC`<7tbnO0XbHmFH*1RjFwm4;6S4;N-&Oev6Bb9~aWY0)cMZZc3n+ZEJ-6CEXAR r4DwV;V2Hlb4S`W5QVEQ+Wlms{uMp;VlDU(Kl88P5D_MK#RtW$ACfLzQ diff --git a/modules/pc64.lnx.gfo/double/cutest_lqp_double.mod b/modules/pc64.lnx.gfo/double/cutest_lqp_double.mod deleted file mode 100644 index 5960b98af2731558e8d87a9da54e4cb6e29af382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 795 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 KH9|@^!~g(H2T(r% diff --git a/modules/pc64.lnx.gfo/single/cutest_interface_single.mod b/modules/pc64.lnx.gfo/single/cutest_interface_single.mod deleted file mode 100644 index 533c7d5b9f00bfb5e3917984446848cc559d0efb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14831 zcmZvDbyOTdv+pi0i@UqK1$PbZ8eq{t2p-%Phu{PY?oQAk!4@aD1PkuLA-Lbockg@m z{qgqfIbA)|T~k#({VSOnsu&c&e}3>M0VZC{O38bofrx9zz8T`fetT9Psbysop6w5< zRh}(*pRB+BxEn53z+LrxeuxGrvGE0u(c*IB0=#_f(%))D`T6@qM|HpK*PaFX-EJ@c zojvV)3DgN(6O&jyY2Ia{HA^)}$Qs=rkNo@KdRx)4Ea6O9%T@d4^+-}puOskTR(SB0 zXz2B>0P=e5J^goX?#1Ww%HP$)Bf$OQ>TtQc8|Tx-r^|dGDK(m+Kg}hfiN(nBuyY;Ns+vO}T z=b$H(`^oj!zo!f9L65s9SzAM1XMs-(h)>(&?J;@lux2@Lz2o`79An_d>mq0<2%e20 zG^l&8gxRJ-*)%gmmw|?%fWhLrrHY6I>J`L{;P9Ek~^=mnN4gN7SFv z#LB|L!okAE!d1asalDhwnsr%LVwdq@CoD5rkAV)ch{1|sn*opE3xf{BECXK-`Q^yA zx5da_akG=Lo4%Wwi2-#ErqJE{DLS zRzb_gwY_!X;DF?Kh-e7js=89aBYGQd(C`me$k<>1Kwg^4x(BS)R{vm~O8}wk<5?~~ zkFCUO)_r8BGk*Ziguj;973@ocMe0Imkn-b!yFDS{fIm!tdsJ|sB>N&7sHv=umkdioQ%4|!$*2ca$I;R3l(x$cCee&V;Bx}3!) zJ5^{pNZ$CeyiJ|)l}+1HpeKMLaD!a(w80sk&NEv2!m*rc&(&+iMIb>ii3@x-{An5F zkp+Ij=vF3@cl6PjGQF3*wlmMI&QTqG#C4Q}7^zhQc&dX5f^RB=d|`oDv%)oVl=nT& z=yH3FOwBsLfNAi)0HC3P? zQA2Q9`9aexL7@Y<$=J(PKRs) z8FDqZa2Rs6wrFes$lUW=KCXN5`G7GBDd2X#Yy40nR2%|R00LwN1JH=i27^=$@6Mcf zND`w-Z+RfRs@xlJ8pXj@0C-gdaud7s+3-zDM$%g(|33Ow!3{E`y9i*H1+K<6Jk9Ew zc)Oo5XwhbTjpPgVAb~XxR1kEI0q@@jSm%Zcve&Kmr%e9c$~G1d21$|4<~sxIK-8H3 z=QM2OEKq0RHvv@pjp|pYkK}cveBf=!95Gk`$uRD#6KFE_%EvUjSuMbK2xL~m!%)lW zjpME5&ExHHw&LQqzvsk5me8?OzX=fVDG5g3Aa)@|&K?AoxkBy9T}ZLA=iO*czY!4* z3Rf&Rk%JkTN;e?$LWuLg8doU?@+nf}ra>6_`(!QK__UKgY{dR#jT}JszIX$4rVpHi z4b2z8w2Ol`-UeCY{m`{tXMJo{>L0wYG`h &dQ~K;n{+K6>s+V#d|?XhWV2mq>#3 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 diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_half.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_half.mod deleted file mode 100644 index 14b0fe5fb9f031e52a8c5b09f4d22ef0af6fef46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 457 zcmV;)0XF_0iwFP!000001KpKdZ-Ous$KU%Y&RgNZrFfe@GKPjs!4!0l#0hR>h>PHo zefzcC#-!>rE;9?ab4pvz@AS{IC0Yu+)b0UU{FAkCMs3Ox}#H=nh&P+ zXf_Pf(M_jxC)CnV?tn3#j10|i8n!yqfdI)q&xZ`z6m8zbj>2bgr9SV2G|RLdmCbyl zJ8t9DlH`13ZW0-_b~s+<;c}NPZ_DV$*8Oy(@1UV7TJf%YmQa<3^eFr)g1RYAxQ?C=GR;(KsCVZo=QxZ=Ik!Bt#c!q>4BORQ zK7?8m?ijY^YW0{EP>^T=#QA5v59A+xhwK67|APDU!4S`>OX4LsT~+8Xlt5HXp{Njp z>NBYSQ)Cswaq2?69M35_q`Er#p$IEo>v*WdQvkOV( diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_half_long.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_half_long.mod deleted file mode 100644 index 7ba5beac060ad88cec2a313ad519eba20de029cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmV;!0X+U6iwFP!000001KpNOZ-PJ&fba7w=C*LKS@2Ok5{iaY!2q^LVg*}Mlm@g( z|9yAmQ3{C0*w{A9V`kZf`DSNk84XR#u@nQ>p|=ZseD|Yx6>gA7U4o0qpKpB+mr=OJ z*VV?0Z-xU3f*|504#)%%m{@blNEUA{Vb|T(kGJmL1UHgd4?zh9VX9clL~}F?XU4r@ zJ{m3Ea5Tfo)v0BwkSeH8rej^zotCXUXh@MJpXXCX>=hl}#agB_yY@OC1FC7*j>6u2 zWH{-Ny(Ea~%v7Wzv`ZW>^I+));pVvvSbUIhPRzU6Sc3-0Ov&##UZI1x+#5x_s<9m; zUXAPhdGMQ^-#_U5E|OK1=bMxN6i<)yEY1Uh+Q6v*p>DgX%cof8lqg!D!AYZr6j74?+zX)c>i}66HA6 z?7AFJQ*M=#1uRV&pO{yLp;bJ{@gyYinZ^Bj!B@XrJoxypLh_?PQ9itvQf#N28fD)| twgZaYtdLUd!B?@Ncw5R-iv2XmDGsvuU~Z?WGnpuf@Ch+3;_*-k008e=-mm}w diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_int.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_int.mod deleted file mode 100644 index d3084eba4786231558d86e98203685032b8b2c1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmV+<0o(o`iwFP!000001GQ37PlGTJe!pLFZ-s}Mvf+b|m9V98Ye}i|u`z&#xPbxY z@3&>JOh;x+G;P!Su6OPCU2nCNN-HLCU+0HifgeTFmUV?BxFwi1#dBBW_|nvSd@HNG zy;g;3kZ+PTkGP(tY#Sp*dVJrdtn3w`bJ;OsORUE(1|lg^&FsxTgp-i;mgf(d zgGqf@^m2A}^?Fs)mMPBe*YP(=a4u;)JMF&^0~6FjM=kr$QX@}IWL%1pi32>9Cc5Mt qU;tAeFkOEeeWm{JRitaFV?$A#pZ^8L#i*ZR=))(^KJZ=@0{{SkU5iHm diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_long.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_long.mod deleted file mode 100644 index be131b9ad2f27816c6fac94e450f9c6d394a6db0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmV+t0qy=DiwFP!000001Km==PQx$^z56SCOM4hfw<5tYs=6tHB~=>W7@@YHimgR$ z$M+MjL>dTof(vpYy_eY0d$BibZLARr_kDfXHTc#HW7~Jgl1qlw&^%5}jZZ_r$CtLN z$BXqfhbW5iHx>jCgNNVjC9?L_F=W+YYR1VOCAeMRJ^M3;2}V&NjM(NjH+ZLRlzvbP zscfz+1X>uKg*%kn;#OwTE=qBqBS$_9ppuP$BBdiAfs-=gl#^*yTA}ROY|q#gJEAE5 zD4Zei7*=Gb`cpqBOP4t+F}ffkOYO2*1)K^`e0&yu&gPeF_|c~SQAo)qnfgDSqhXv! Yk>fISk>l#bDaSO1cdZ}@(M|&Z0N?6;mjD0& diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_quadruple.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_quadruple.mod deleted file mode 100644 index a95117979bcbdd0c342be6d19ad0a6fa9c4371c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmV;@0WJO?iwFP!000001KpKdZ-Ous$KU%Y&RgNZrSu=PS`?*mmx0M zw_nS}Fs$f|%P!$|PHEx%PX9d}4K2rY6cd(fe-{Pt7R1|dy#h=-7#49bPXZsF;`I_< z!j-?h84d`NBpI%8qQa07GX+-@@M7a(cHbqzHu2IByqI=b69x*BWGjv`)?Cejsd;Z& z4`xF*UCng&uI*SV${ot@ey=(H1K122a^R?hTzB9y&N|bmGzAh_NPbE+l z4^AK}#IObo>mOBIN;uD<7Oyxzby`GKc{!S5oTOA zpY8bsn#XrV00O IUK|Mk04|W(g#Z8m diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_quadruple_long.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_quadruple_long.mod deleted file mode 100644 index b326e0de530d40cf3854fa059914d5550b0597f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmV;y0Y3g8iwFP!000001KpNOZ-PJ&fbaV&=C*LKS$umW6b-3@0c?*OE3`31u^>(Q z?>j4CDBz>Urm^8Qv+TlrJCEJb(6U`yHDMKcN#MhWAH~aX4OHn+SVaDO>wEALg)4Yl zuD$qfIABDQWVpsjazQ32)?7`Xiw&oEPqu!%Rc&>mySfcC^TD*9 z%!XmQy6NuKscmT_Q^1%^$A)IO4M%;{fdNbZFNTcp6K&CiN3Nq`J6-f4nq@k!ieEm_ zo%ZQYlH_b;CNi0{N+9pa+>4S;;PW6{zm_p8Z&PA2vF>MM{TOeq?4NtmLIV+|=X#N} zYIhr`SK|hM9^9rMIzX3Io^P{!Q#@V4v$zb1)CNuk2n>g7Tnw?TsZb2Z;#z72DH^We zQO8-2S?W!WV)g{4fcjO^lddDjkO*b70Usv8*y^Wy>4GAEgTe rgHBdb(W-8t>@et+GL}I<3w8#BJWO!zSvI36Dl+*3bM#pRW(fcQdg;)? diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_r16.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_r16.mod deleted file mode 100644 index 69f880cf78fa524a07d2be1629fa9744ced2a997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmV-Y0j>TYiwFP!000001KpHSPlGTJ$KU%Y{%?hcnX&=XM?%;_+zKhEkIe*37Pn!5 znfUE(H!z#SXcm2#p^*DGcjbP)_NJ3aq{8D^m-%*8;I*jgWw`;h9Ez+e7EO`ksVdia zUT*UGYI4JfVVL-hK{~@E%ItZEpxKM0>bq@f$jgVL#Ap8TTiK{(<-r@);`3Kc#?W*wVQCN<``bVeE z)i~K-@*qs4FLj8BVlBcXlKv^B1&fHln;jwc6Dn66xSryX4sQ%vU*4s%zbu#Td;6}( kFl-wJ!|2mhW3by(%HVVbW^mihU>KX^9UL?1)7u3A0NzomJOBUy diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_r2.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_r2.mod deleted file mode 100644 index 6f393da1b2647510989ba8b13e30d42252cd321d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmV-Y0j>TYiwFP!000001KpHSPlGTJ$KU%Y{%?hcnZjVxM?%;_+zKhEkIe*37Pn!5 znfUE(H!#z&XckS>P{{q8yK=u?d(%lIQsHr|%Y3^k@LW{&vfO}LE=5)qi>Ao&P?c*u zE;o67F}Y&IFid>MAe~_nW%j%_X!azj`fi(|ZsaZnS=nla!h&JMp77>D8VKC*YaZS4 zLCDj9r*ASAkxyEIa30S>KTHRScN>6#?SHRBrfLaCPpPNVDzBZ^KE#iBl6q?8Pu!_P zca~wck*�G6coLH(a2 zH_|lO58@z9q%U=dh+-|mB$ECyqy>wJz?;1z><3h?IB-3tBOToswElY+>U6bq%iA|R k2D@z*48srCjKOKoD1+P8mtoXy2E*7SuZBN)zt#l+0I8#+{{R30 diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_r4.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_r4.mod deleted file mode 100644 index f8602df8e811b94227f8815b29175fedecf8e289..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmV-X0j~ZZiwFP!000001KpHSPlGTJ$KU%Y{%?hcnX<7>9|>U#acfCIeQYLRvbYTc z%*1bRyMdXG#bj!thC=S&+?D(F+M7;hHGBt6J?+P^GJ9C>&T;YzvkkO z_d=coJb9Cm6h3JL!g(|c{V?gp-faK|w*S2end&86Go_za>%4Z__z++4IPvt#pSV+< zoUtssiEK<}lL2VfL6a|5znSOqB##Sfl2`XH8t0rUkwYq+Peod)FBXYtsG)}XKSyq4 zXwo0VK^QAvnGh)=Bf?lH{}|GNLuBC1-Vt^KYF8Y%9@CMQZVX!ey$f}^TBhag8y-Wy jX%-BF57&&rZO$meu&pn{sM!pLu}xk9vJLi>)&&3nW9p!h diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_r8.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_r8.mod deleted file mode 100644 index 5a8cb1cdbcad55f35b98e9625b4524b886a49d2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQrciwFP!000001KpHSZ-Ouo$KU%Y{%?f`m!hcKBOz$Wv?YaYkBtMCn5is) zOZM&8Dl9r#mbmS~g+lJ%+?D(F+M7;hHGBt6J?+Q029rp>SYXkte-*kOUHU{FaLc z-V1pW@Z>{AQuw412WU7~N&6Ivxt@GMx<3oJGlakCbBV^O$MM@2Ti_MT_%qUYLZuvZyM*EDv?7foKHnssvklT4K>tI|L4e!3{Con zI0$3qD-$9`WJDMX<)1=2aEJ`N*%4tkpmxQ9>nR;+>BgYdRd9g-KBGFS6(fY-qgY87>3}yP)03Nn;LxRh0Zs6kZGH0 zOED}=p2Rz3%i=vtGCNqQbqWdD8wf3P|HLGu{EBgK7UEEoUh)vm5adB(x vB}qYJu=YtD+~d&mIEXm(XP(JJ9{(4G5%mL-7~R+;#)5tT+qxG2RRRD2o@#Rj diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_single.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_single.mod deleted file mode 100644 index 8c77026a6c90d598b7a412ec41bd13a5ddaebf28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 453 zcmV;$0XqI4iwFP!000001KpL|Zh}A%hVS<&=5FD_X7NbPVj)z;Es0esO!6jMBB96~j<{{zHpvIB-;WqHrZEQ=#PFwP5`rS!Fl_ph}ZO{_E&JZt57%8*``7i zYD%I0PootG!)Y4vc08B((3C~>OcPe7Ht|r2Cjd^a?9lgUKDN_m`#gdEk=>BMAm5e< veL&XG35=?}kiZz_{fEF~?JFfP$t_M`TDXIXPI4(}DDdb9&F%4g4G91M3k}?^ diff --git a/modules/pc64.lnx.gfo/single/cutest_kinds_single_long.mod b/modules/pc64.lnx.gfo/single/cutest_kinds_single_long.mod deleted file mode 100644 index 81811be3f6fd2838ac58b562c07e0947808a38b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmV;y0Y3g8iwFP!000001KpP0Z-Ouoz~B2<+*{$nrTFb5VQ9z{2;lbEIAMkiVF6vT z|9-7}41u9BE^|xyxGQbB-?ew`Y-(7JCF`(_+KP;#D=>Ic>P8(d+v8$vZDtRXxwKt7$gt`Q?}%V>Zleh^#|Q} z(mR^&sJc_Are!E7Q$Smob4}5ljx9f`K!Bvb=UrxOh(51kCD)l<2c5S;ilN(%%tk)Z z95ds%B#2qhOe7-eRX7qq+yovCqHt41JpPojE{yx-TtzLQxl+6f#8L$>g-6PWb%XnW z-3Ir2tKgO=VEpX_3;_Feo+Bs!DV`zcSziW(8W&Ct2sE22ly|WVlPj8SP$jhjl?|6z zY2s|gth7e0m?MtKp?;L~dq_bxZF{CkI9!B)}gV9`);C>IPIlpnJ34{7S*;*nT zrygC`<7tbnO0XbHmFH*1RjFwm4;6S4;N-&Oev6Bb9~aWY0)cMZZc3n+ZEJ-6CEXAR r4DwV;V2Hlb4S`W5QVEQ+Wlms{uMp;VlDU(Kl88P5D_MK#RtW$ACfLzQ diff --git a/modules/pc64.lnx.gfo/single/cutest_lqp_single.mod b/modules/pc64.lnx.gfo/single/cutest_lqp_single.mod deleted file mode 100644 index 7ee3fb2113b80457b8a02f9581b035071f9b5a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 791 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 0 ) THEN - -! if we have reached the end of the list of the elements using the variable -! IELVAR( K ), add the iel-th element to it. Otherwise, find the next entry -! in the list - - 30 CONTINUE - IF ( LINK_elem_uses_var( ientry ) > 0 ) THEN - ientry = LINK_elem_uses_var( ientry ) - GO TO 30 - ELSE - IF ( iielts == llink ) THEN - nlink = llink - ulink = iielts; mlink = iielts + 1 - CALL CUTEST_extend_array( LINK_elem_uses_var, llink, ulink, & - nlink, mlink, buffer, status, & - alloc_status) - IF ( status /= 0 ) THEN - bad_alloc = 'LINK_elem_uses_var' ; GO TO 610 ; END IF - llink = nlink - END IF - iielts = iielts + 1 - LINK_elem_uses_var( ientry ) = iielts - LINK_elem_uses_var( iielts ) = 0 - END IF - ELSE - -! the list of elements involving the variable IELVAR(k) was -! previously empty. Indicate that the list has now been started and -! that its end has been reached - - LINK_elem_uses_var( ientry ) = 0 - END IF - END DO - END DO - END IF - - l_link_e_u_v = iielts - -! -- Calculate the starting addresses for the integer workspace -- - -! ISWKSP( j ), j = 1, ..., MAX( ntotel, nel, n ), is used for workspace - - lnwksp = MAX( MAX( ntotel, nel ), n ) - - reallocate = .TRUE. - IF ( ALLOCATED( ISWKSP ) ) THEN - IF ( SIZE( ISWKSP ) < lnwksp ) THEN ; DEALLOCATE( ISWKSP ) - ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( ISWKSP( lnwksp ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'ISWKSP' ; GO TO 600 ; END IF - END IF - -! IUSED( j ), j = 1, ..., MAX( n, ng ) Will be used as workspace by -! the matrix-vector product subroutine hessian_times_sp_vector - - reallocate = .TRUE. - IF ( ALLOCATED( IUSED ) ) THEN - IF ( SIZE( IUSED ) < MAX( n, ng ) ) THEN ; DEALLOCATE( IUSED ) - ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( IUSED( MAX( n, ng ) ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'IUSED' ; GO TO 600 ; END IF - END IF - -! ISLGRP( j ), j = 1, ..., ntotel, will contain the number of the group -! which uses nonlinear element j - - reallocate = .TRUE. - IF ( ALLOCATED( ISLGRP ) ) THEN - IF ( SIZE( ISLGRP ) < ntotel ) THEN ; DEALLOCATE( ISLGRP ) - ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( ISLGRP( ntotel ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'ISLGRP' ; GO TO 600 ; END IF - END IF - -! ISTAJC( j ), j = 1, ..., n, will contain the starting addresses for -! the list of nontrivial groups which use the j-th variable. -! ISTAJC( n + 1 ) will point to the first free location in IGCOLJ after -! the list of nontrivial groups for the n-th variable - - reallocate = .TRUE. - IF ( ALLOCATED( ISTAJC ) ) THEN - IF ( SIZE( ISTAJC ) < n + 1 ) THEN ; DEALLOCATE( ISTAJC ) - ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( ISTAJC( n + 1 ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'ISTAJC' ; GO TO 600 ; END IF - END IF - -! ISTAGV( j ), j = 1, ..., ng, will contain the starting addresses for -! the list of variables which occur in the J-th group. ISTAGV( ng + 1 ) -! will point to the first free location in ISVGRP after the list of variables -! for the NG-th group - - reallocate = .TRUE. - IF ( ALLOCATED( ISTAGV ) ) THEN - IF ( SIZE( ISTAGV ) < ng + 1 ) THEN ; DEALLOCATE( ISTAGV ) - ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( ISTAGV( ng + 1 ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'ISTAGV' ; GO TO 600 ; END IF - END IF - -! Allocate LIST_elements - - reallocate = .TRUE. - IF ( ALLOCATED( LIST_elements ) ) THEN - IF ( SIZE( LIST_elements ) < l_link_e_u_v ) THEN - DEALLOCATE( LIST_elements ) - ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( LIST_elements( l_link_e_u_v ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'LIST_e' ; GO TO 600 ; END IF - END IF - -! determine which elements use each variable. Initialization - - IF ( .NOT. alllin ) THEN - -! LINK_elem_uses_var( i ) will be used as a list of links chaining the -! elements using variable i. If LINK_elem_uses_var( i ) is negative, the -! list is empty - - LINK_elem_uses_var( : n ) = - 1 - LIST_elements( : n ) = - 1 ! needed for epcf90 debugging compiler - iielts = n - -! loop over the groups, considering each nonlinear element in turn - - DO i = 1, ntotel - iel = IELING( i ) - -! loop on the variables of the I-th element - - DO k = ISTAEV( iel ), ISTAEV( iel + 1 ) - 1 - ientry = IELVAR( k ) - IF ( LINK_elem_uses_var( ientry ) >= 0 ) THEN - -! if we have reached the end of the list of the elements using the variable -! IELVAR( K ), add the I-th element to it and record that the end of the list -! has occured. Otherwise, find the next entry in the list - - 110 CONTINUE - IF ( LINK_elem_uses_var( ientry ) > 0 ) THEN - ientry = LINK_elem_uses_var( ientry ) - GO TO 110 - ELSE - iielts = iielts + 1 - LINK_elem_uses_var( ientry ) = iielts - LINK_elem_uses_var( iielts ) = 0 - LIST_elements( iielts ) = i - END IF - ELSE - -! the list of elements involving the variable IELVAR( K ) was previously -! empty. Indicate that the list has now been started, record the element -! which contains the variable and indicate that the end of the list has -! been reached - - LINK_elem_uses_var( ientry ) = 0 - LIST_elements( ientry ) = i - END IF - END DO - END DO - END IF - -! deallocate arrays that have no further use - -! DEALLOCATE( LINK_elem_uses_var, STAT = alloc_status ) -! IF ( alloc_status /= 0 ) THEN -! bad_alloc = 'LINK_elem_uses_var' ; GO TO 600 ; END IF - -! set up symmetric addresses for the upper triangular storage -! schemes for the element hessians - - IF ( maxsin > 0 ) THEN - reallocate = .TRUE. - IF ( ALLOCATED( ISYMMH ) ) THEN - IF ( SIZE( ISYMMH, 1 ) /= maxsin .OR. SIZE( ISYMMH, 2 ) /= maxsin ) & - THEN ; DEALLOCATE( ISYMMH ) ; ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( ISYMMH( maxsin, maxsin ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN ; bad_alloc = 'ISYMMH' ; GO TO 600 - END IF - END IF - - CALL CUTEST_symmh( maxsin, ISYMMH ) - ELSE - ALLOCATE( ISYMMH( 0, 0 ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN ; bad_alloc = 'ISYMMH' ; GO TO 600 - END IF - END IF - -! set up the starting addresses for the element Hessians -! with respect to their internal variables and a pointer beyond -! the end of the space required for the Hessians - - lggfx = INTVAR( nel1 ) - IF ( .NOT. alllin ) THEN - DO i = 1, nel - ISTADH( i ) = lggfx - nsizeh = INTVAR( i + 1 ) - INTVAR( i ) - lggfx = lggfx + nsizeh * ( nsizeh + 1 ) / 2 - END DO - END IF - ISTADH( nel1 ) = lggfx - -! altriv specifies whether all the groups are trivial - - altriv = .TRUE. - -! pass 1: Count the total number of variables in all the groups, nvargp - - nvargp = 0 - -! start by initializing the counting array to zero - - ISWKSP( : n ) = 0 - -! loop over the groups. See if the ig-th group is trivial - - DO ig = 1, ng - -! check to see if all of the groups are trivial - - IF ( .NOT. GXEQX( ig ) ) altriv = .FALSE. - -! loop over the nonlinear elements from the ig-th group - - DO k = ISTADG( ig ), ISTADG( ig + 1 ) - 1 - iel = IELING( k ) - -! run through all the elemental variables changing the I-th entry of -! ISWKSP from zero to one if variable I appears in an element - - DO j = ISTAEV( iel ), ISTAEV( iel + 1 ) - 1 - i = IELVAR( j ) - IF ( ISWKSP( i ) < ig ) THEN - ISWKSP( i ) = ig - nvargp = nvargp + 1 - END IF - END DO - END DO - -! consider variables which arise from the linear element - - DO j = ISTADA( ig ), ISTADA( ig + 1 ) - 1 - i = ICNA( j ) - IF ( i <= n ) THEN - IF ( ISWKSP( i ) < ig ) THEN - ISWKSP( i ) = ig - nvargp = nvargp + 1 - END IF - END IF - END DO - END DO - -! ISVGRP( j ), j = 1, ..., nvargp, will contain the indices of the -! variables which are used by each group in turn. Those for group i occur -! in locations ISTAGV( i ) to ISTAGV( i + 1 ) - 1 - -! allocate the array ISVGRP - - reallocate = .TRUE. - IF ( ALLOCATED( ISVGRP ) ) THEN - IF ( SIZE( ISVGRP ) < nvargp ) THEN ; DEALLOCATE( ISVGRP ) - ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( ISVGRP( nvargp ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'ISVGRP' ; GO TO 600 ; END IF - END IF - -! store the indices of variables which appears in each group and how many -! groups use each variable. Reinitialize counting arrays to zero - - ISTAJC( 2 : n + 1 ) = 0 - ISWKSP( : n ) = 0 - -! pass 2: store the list of variables - - nvargp = 0 - ISTAGV( 1 ) = 1 - -! loop over the groups. See if the ig-th group is trivial - - DO ig = 1, ng - -! again, loop over the nonlinear elements from the ig-th group - - DO k = ISTADG( ig ), ISTADG( ig + 1 ) - 1 - iel = IELING( k ) - -! run through all the elemental variables changing the i-th entry of -! ISWKSP from zero to one if variable I appears in an element - - DO j = ISTAEV( iel ), ISTAEV( iel + 1 ) - 1 - i = IELVAR( j ) - IF ( ISWKSP( i ) < ig ) THEN - ISWKSP( i ) = ig - -! record the nonlinear variables from the ig-th group - - nvargp = nvargp + 1 - ISVGRP( nvargp ) = i - END IF - END DO - -! record that nonlinear element K occurs in group IELGRP(iel) - - ISLGRP( k ) = ig - END DO - -! consider variables which arise from the linear element - - DO j = ISTADA( ig ), ISTADA( ig + 1 ) - 1 - i = ICNA( j ) - IF ( i <= n ) THEN - IF ( ISWKSP( i ) < ig ) THEN - ISWKSP( i ) = ig - -! record the linear variables from the ig-th group - - nvargp = nvargp + 1 - ISVGRP( nvargp ) = i - END IF - END IF - END DO - -! record that one further nontrivial group uses variable l-1 - - IF ( .NOT. GXEQX( ig ) ) THEN - DO j = ISTAGV( ig ), nvargp - l = ISVGRP( j ) + 1 - ISTAJC( l ) = ISTAJC( l ) + 1 - END DO - END IF - -! record the starting address of the variables in the next group - - ISTAGV( ig + 1 ) = nvargp + 1 - END DO - -! deallocate arrays that have no further use - - nbprod = 0 - ISWKSP( : lnwksp ) = 0 - -! DEALLOCATE( ISWKSP, STAT = alloc_status ) -! IF ( alloc_status /= 0 ) THEN -! bad_alloc = 'ISWKSP' ; GO TO 600 ; END IF - -! IGCOLJ( j ), j = 1, ..., nvargp, will contain the indices of the -! nontrivial groups which use each variable in turn. Those for variable i -! occur in locations ISTAJC( i ) to ISTAJC( i + 1 ) - 1 - - reallocate = .TRUE. - IF ( ALLOCATED( IGCOLJ ) ) THEN - IF ( SIZE( IGCOLJ ) < nvargp ) THEN ; DEALLOCATE( IGCOLJ ) - ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( IGCOLJ( nvargp ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'IGCOLJ' ; GO TO 600 ; END IF - END IF - -! IVALJR( j ), j = 1, ..., nvargp, will contain the positions in GRJAC of the -! nonzeros of the Jacobian of the groups corresponding to the variables as -! ordered in ISVGRP( j ) - - reallocate = .TRUE. - IF ( ALLOCATED( IVALJR ) ) THEN - IF ( SIZE( IVALJR ) < nvargp ) THEN ; DEALLOCATE( IVALJR ) - ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( IVALJR( nvargp ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN ; bad_alloc = 'IVALJR' ; GO TO 600 - END IF - END IF - -! set the starting addresses for the lists of nontrivial groups which use -! each variable in turn - - k = 1 - ISTAJC( k ) = 1 - DO i = 2, n + 1 - k = k + 1 - ISTAJC( k ) = ISTAJC( k ) + ISTAJC( k - 1 ) - END DO - -! consider the ig-th group in order to associate variables with groups - - DO ig = 1, ng - IF ( .NOT. GXEQX( ig ) ) THEN - DO i = ISTAGV( ig ), ISTAGV( ig + 1 ) - 1 - l = ISVGRP( i ) - -! record that group ig uses variable ISVGRP( i ) - - j = ISTAJC( l ) - IGCOLJ( j ) = ig - -! store the locations in the Jacobian of the groups of the nonzeros -! corresponding to each variable in the IG-TH group. Increment the starting -! address for the pointer to the next group using variable ISVGRP( i ) - - IVALJR( i ) = j - ISTAJC( l ) = j + 1 - END DO - END IF - END DO - -! reset the starting addresses for the lists of groups using each variable - - DO i = n, 2, - 1 - ISTAJC( i ) = ISTAJC( i - 1 ) - END DO - ISTAJC( 1 ) = 1 - -! Initialize workspace values for subroutine hessian_times_sp_vector - - IUSED( : MAX( n, ng ) ) = 0 - -! initialize general workspace arrays - - maxsin = MAX( 1, maxsin ) - maxsel = MAX( 1, maxsel ) - - IF ( ALLOCATED( NZ_components_w ) ) DEALLOCATE( NZ_components_w ) - ALLOCATE( NZ_components_w( ng ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN ; bad_alloc = 'NZ_com' ; GO TO 600 - END IF - - IF ( ALLOCATED( W_ws ) ) DEALLOCATE( W_ws ) - ALLOCATE( W_ws( MAX( n, ng ) ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN ; bad_alloc = 'W_ws' ; GO TO 600 - END IF - - IF ( ALLOCATED( W_el ) ) DEALLOCATE( W_el ) - ALLOCATE( W_el( maxsel ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN ; bad_alloc = 'W_el' ; GO TO 600 - END IF - - IF ( ALLOCATED( W_in ) ) DEALLOCATE( W_in ) - ALLOCATE( W_in( maxsin ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN ; bad_alloc = 'W_in' ; GO TO 600 - END IF - - IF ( ALLOCATED( H_el ) ) DEALLOCATE( H_el ) - ALLOCATE( H_el( maxsel ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN ; bad_alloc = 'H_el' ; GO TO 600 - END IF - - IF ( ALLOCATED( H_in ) ) DEALLOCATE( H_in ) - ALLOCATE( H_in( maxsin ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN ; bad_alloc = 'H_in' ; GO TO 600 - END IF - -! set the length of the remaining partitions of the workspace for array bound -! checking in calls to other subprograms - -! -- set the starting addresses for the partitions within FUVALS -- - -! a full description of the partitions of FUVALS is given in the introductory -! comments to the LANCELOT package - - lfxi = 0 - lgxi = lfxi + nel - lhxi = INTVAR( nel1 ) - 1 - lggfx = lggfx - 1 - ldx = lggfx + n - lgrjac = ldx + n - lfuval = lgrjac + nvargp + 1 - -! print all of the starting addresses for the workspace array partitions - - IF ( iprint >= 3 ) WRITE( out, & - "( /,' Starting addresses for the partitions of FUVALS ', /, & - & ' ----------------------------------------------- ', //, & - & ' lfxi lgxi lhxi lggfx ldx lgrjac', /, 6I7 )" ) & - lfxi, lgxi, lhxi, lggfx, ldx, lgrjac - -! set the length of each partition of the real workspace array FUVALS for -! array bound checking in calls to other subprograms - - lnguvl = MAX( 1, lhxi - lfxi ) - lnhuvl = MAX( 1, lggfx - lfxi ) - -! allocate FUVALS - - reallocate = .TRUE. - IF ( ALLOCATED( FUVALS ) ) THEN - IF ( SIZE( FUVALS ) < lfuval ) THEN ; DEALLOCATE( FUVALS ) - ELSE ; reallocate = .FALSE. ; END IF - END IF - IF ( reallocate ) THEN - ALLOCATE( FUVALS( lfuval ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'FUVALS' ; GO TO 600 ; END IF - END IF - -! set defalt gradient and Hessian values to zero - - FUVALS( lgxi + 1 : lggfx ) = 0.0_wp - -! mark remaining arrays as unallocated - - array_status = .FALSE. - - status = 0 - RETURN - -! unsuccessful returns - - 600 CONTINUE - status = 1000 + alloc_status - - 610 CONTINUE - WRITE( out, 2600 ) bad_alloc, alloc_status - RETURN - -! non-executable statements - - 2600 FORMAT( ' ** Message from -CUTEST_initialize_workspace-', /, & - ' Allocation error, for ', A, ', status = ', I0 ) - -! end of subroutine CUTEST_initialize_workspace - - END SUBROUTINE CUTEST_initialize_workspace - -!-*-*-*- C U T E S T _ f o r m _ g r a d i e n t s S U B R O U T I N E -*-*-*- - - SUBROUTINE CUTEST_form_gradients( & - n, ng, nel, ntotel, nvrels, nnza, nvargp, & - firstg, ICNA, ISTADA, IELING, ISTADG, ISTAEV, & - IELVAR, INTVAR, A, GVALS2, GUVALS, lguval, & - GRAD, GSCALE, ESCALE, GRJAC, GXEQX, INTREP, & - ISVGRP, ISTAGV, ITYPEE, ISTAJC, GRAD_el, W_el, & - RANGE, KNDOFG ) - -! Calculate the the gradient, GRAD, of the objective function and the -! Jacobian matrix of gradients, GRJAC, of each group - -! History - -! ( based on Conn-Gould-Toint fortran 77 version LANCELOT A, ~1992 ) -! fortran 90 version originally released pre GALAHAD Version 1.0. February -! 7th 1995 as LANCELOT_form_gradients as part of the LANCELOT module -! update released with GALAHAD Version 2.0. February 16th 2005 -! fortran 2003 version released in CUTEst, 5th November 2012 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: n, ng, nel, ntotel, nnza, nvargp - INTEGER, INTENT( IN ) :: nvrels, lguval - LOGICAL, INTENT( IN ) :: firstg - INTEGER, INTENT( IN ), DIMENSION( ng + 1 ) :: ISTADA, ISTADG - INTEGER, INTENT( IN ), DIMENSION( nel + 1 ) :: ISTAEV, INTVAR - INTEGER, INTENT( IN ), DIMENSION( nvrels ) :: IELVAR - INTEGER, INTENT( IN ), DIMENSION( nnza ) :: ICNA - INTEGER, INTENT( IN ), DIMENSION( ntotel ) :: IELING - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( nnza ) :: A - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GVALS2 - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( lguval ) :: GUVALS - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GSCALE - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ntotel ) :: ESCALE - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( n ) :: GRAD - REAL ( KIND = wp ), INTENT( INOUT ), DIMENSION( nvargp ) :: GRJAC - LOGICAL, INTENT( IN ), DIMENSION( ng ) :: GXEQX - LOGICAL, INTENT( IN ), DIMENSION( nel ) :: INTREP - INTEGER, INTENT( IN ), DIMENSION( : ) :: ISVGRP - INTEGER, INTENT( IN ), DIMENSION( : ) :: ISTAGV - INTEGER, INTENT( IN ), DIMENSION( nel ) :: ITYPEE - INTEGER, INTENT( INOUT ), DIMENSION( : ) :: ISTAJC - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: GRAD_el - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: W_el - INTEGER, INTENT( IN ), OPTIONAL, DIMENSION( ng ) :: KNDOFG - -!----------------------------------------------- -! I n t e r f a c e B l o c k s -!----------------------------------------------- - - INTERFACE - SUBROUTINE RANGE( ielemn, transp, W1, W2, nelvar, ninvar, ieltyp, & - lw1, lw2 ) - INTEGER, INTENT( IN ) :: ielemn, nelvar, ninvar, ieltyp, lw1, lw2 - LOGICAL, INTENT( IN ) :: transp - REAL ( KIND = KIND( 1.0D+0 ) ), INTENT( IN ), DIMENSION ( lw1 ) :: W1 - REAL ( KIND = KIND( 1.0D+0 ) ), INTENT( OUT ), DIMENSION ( lw2 ) :: W2 - END SUBROUTINE RANGE - END INTERFACE - -!----------------------------------------------- -! L o c a l V a r i a b l e s -!----------------------------------------------- - - INTEGER :: i, iel, ig, ii, k, ig1, j, jj, l, ll - INTEGER :: nin, nvarel, nelow, nelup, istrgv, iendgv - REAL ( KIND = wp ) :: gi, scalee - LOGICAL :: nontrv - -! Initialize the gradient as zero - - GRAD = 0.0_wp - -! consider the IG-th group - - DO ig = 1, ng - IF ( PRESENT( KNDOFG ) ) THEN - IF ( KNDOFG( ig ) == 0 ) CYCLE ; END IF - ig1 = ig + 1 - istrgv = ISTAGV( ig ) ; iendgv = ISTAGV( ig1 ) - 1 - nelow = ISTADG( ig ) ; nelup = ISTADG( ig1 ) - 1 - nontrv = .NOT. GXEQX( ig ) - -! compute the first derivative of the group - - IF ( nontrv ) THEN - gi = GSCALE( ig ) * GVALS2( ig ) - ELSE - gi = GSCALE( ig ) - END IF - -! this is the first gradient evaluation or the group has nonlinear elements - - IF ( firstg .OR. nelow <= nelup ) THEN - GRAD_el( ISVGRP( istrgv : iendgv ) ) = 0.0_wp - -! loop over the group's nonlinear elements - - DO ii = nelow, nelup - iel = IELING( ii ) - k = INTVAR( iel ) ; l = ISTAEV( iel ) - nvarel = ISTAEV( iel + 1 ) - l - scalee = ESCALE( ii ) - IF ( INTREP( iel ) ) THEN - -! the iel-th element has an internal representation - - nin = INTVAR( iel + 1 ) - k - CALL RANGE( iel, .TRUE., GUVALS( k : k + nin - 1 ), & - W_el( : nvarel ), nvarel, nin, ITYPEE( iel ), & - nin, nvarel ) -!DIR$ IVDEP - DO i = 1, nvarel - j = IELVAR( l ) - GRAD_el( j ) = GRAD_el( j ) + scalee * W_el( i ) - l = l + 1 - END DO - ELSE - -! the iel-th element has no internal representation - -!DIR$ IVDEP - DO i = 1, nvarel - j = IELVAR( l ) - GRAD_el( j ) = GRAD_el( j ) + scalee * GUVALS( k ) - k = k + 1 - l = l + 1 - END DO - END IF - END DO - -! include the contribution from the linear element - -!DIR$ IVDEP - DO k = ISTADA( ig ), ISTADA( ig1 ) - 1 - GRAD_el( ICNA( k ) ) = GRAD_el( ICNA( k ) ) + A( k ) - END DO - -! find the gradient of the group - - IF ( nontrv ) THEN - -! The group is non-trivial - -!DIR$ IVDEP - DO i = istrgv, iendgv - ll = ISVGRP( i ) - GRAD( ll ) = GRAD( ll ) + gi * GRAD_el( ll ) - -! as the group is non-trivial, also store the nonzero entries of the -! gradient of the function in GRJAC - - jj = ISTAJC( ll ) - GRJAC( jj ) = GRAD_el( ll ) - -! increment the address for the next nonzero in the column of the Jacobian -! for variable ll - - ISTAJC( ll ) = jj + 1 - END DO - ELSE - -! the group is trivial - -!DIR$ IVDEP - DO i = istrgv, iendgv - ll = ISVGRP( i ) - GRAD( ll ) = GRAD( ll ) + gi * GRAD_el( ll ) - END DO - END IF - -! this is not the first gradient evaluation and there is only a linear element - - ELSE - -! add the gradient of the linear element to the overall gradient - -!DIR$ IVDEP - DO k = ISTADA( ig ), ISTADA( ig1 ) - 1 - GRAD( ICNA( k ) ) = GRAD( ICNA( k ) ) + gi * A( k ) - END DO - -! the group is non-trivial; increment the starting addresses for -! the groups used by each variable in the (unchanged) linear -! element to avoid resetting the nonzeros in the Jacobian - - IF ( nontrv ) THEN -!DIR$ IVDEP - DO i = istrgv, iendgv - ISTAJC( ISVGRP( i ) ) = ISTAJC( ISVGRP( i ) ) + 1 - END DO - END IF - END IF - END DO - -! reset the starting addresses for the lists of groups using each variable to -! their values on entry - - DO i = n, 2, - 1 - ISTAJC( i ) = ISTAJC( i - 1 ) - END DO - ISTAJC( 1 ) = 1 - - RETURN - -! end of subroutine CUTEST_form_gradients - - END SUBROUTINE CUTEST_form_gradients - -!-*-*- C U T E S T _ a s s e m b l e _ h e s s i a n S U B R O U T I N E -*-*- - - SUBROUTINE CUTEST_assemble_hessian( & - n, ng, nel, ntotel, nvrels, nnza, maxsel, nvargp, & - ISTADH, ICNA, ISTADA, INTVAR, IELVAR, IELING, ISTADG, & - ISTAEV, ISTAGV, ISVGRP, A, GUVALS, lnguvl, HUVALS, & - lnhuvl, GVALS2, GVALS3, GSCALE, ESCALE, GXEQX, & - ITYPEE, INTREP, RANGE, iprint, error, out, & - fixed_structure, use_band, nsemib, status, & - alloc_status, bad_alloc, hessian_setup_complete, & - lh_row, lh_col, lh_val, H_row, H_col, H_val, ROW_start, & - POS_in_H, USED, FILLED, lrowst, lpos, lused, lfilled, & - GRAD_el, W_el, W_in, H_el, H_in, & - nnzh, maxsbw, DIAG, OFFDIA ) - -! Assemble the second derivative matrix of a groups partially separable -! function in either co-ordinate or band format - -! History - -! ( based on Conn-Gould-Toint fortran 77 version LANCELOT A, ~1992 ) -! fortran 90 version originally released pre GALAHAD Version 1.0. January -! 25th 1995 as ASMBL_assemble_hessian as part of the ASMBL module -! update released with GALAHAD Version 2.0. February 16th 2005 -! fortran 2003 version released in CUTEst, 5th November 2012 -! completely revised version 14th June 2013 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: n, nel, ng, maxsel, nsemib, nvargp, nnza - INTEGER, INTENT( IN ) :: nvrels, ntotel - INTEGER, INTENT( IN ) :: lnguvl, lnhuvl, iprint, error, out - INTEGER, INTENT( OUT ) :: status, alloc_status - LOGICAL, INTENT( IN ) :: fixed_structure, use_band - LOGICAL, INTENT( INOUT ) :: hessian_setup_complete - CHARACTER ( LEN = 24 ) :: bad_alloc - INTEGER, INTENT( IN ), DIMENSION( nnza ) :: ICNA - INTEGER, INTENT( IN ), DIMENSION( ng + 1 ) :: ISTADA, ISTADG, ISTAGV - INTEGER, INTENT( IN ), DIMENSION( nel + 1 ) :: INTVAR, ISTAEV, ISTADH - INTEGER, INTENT( IN ), DIMENSION( nvrels ) :: IELVAR - INTEGER, INTENT( IN ), DIMENSION( ntotel ) :: IELING - INTEGER, INTENT( IN ), DIMENSION( nvargp ) :: ISVGRP - INTEGER, INTENT( IN ), DIMENSION( nel ) :: ITYPEE - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( nnza ) :: A - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( lnguvl ) :: GUVALS - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( lnhuvl ) :: HUVALS - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GVALS2 - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GVALS3 - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GSCALE - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ntotel ) :: ESCALE - LOGICAL, INTENT( IN ), DIMENSION( ng ) :: GXEQX - LOGICAL, INTENT( IN ), DIMENSION( nel ) :: INTREP - -!--------------------------------------------------------------- -! D u m m y A r g u m e n t s f o r W o r k s p a c e -!-------------------------------------------------------------- - - INTEGER, INTENT( INOUT ) :: lh_row, lh_col, lh_val - INTEGER, INTENT( INOUT ) :: lrowst, lpos, lused, lfilled - INTEGER, ALLOCATABLE, DIMENSION( : ) :: ROW_start - INTEGER, ALLOCATABLE, DIMENSION( : ) :: POS_in_H - INTEGER, ALLOCATABLE, DIMENSION( : ) :: USED - INTEGER, ALLOCATABLE, DIMENSION( : ) :: FILLED - INTEGER, ALLOCATABLE, DIMENSION( : ) :: H_row - INTEGER, ALLOCATABLE, DIMENSION( : ) :: H_col - REAL ( KIND = wp ), ALLOCATABLE, DIMENSION( : ) :: H_val - - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: GRAD_el - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: W_el - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: W_in - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: H_el - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: H_in - -!-------------------------------------------------- -! O p t i o n a l D u m m y A r g u m e n t s -!-------------------------------------------------- - - INTEGER, INTENT( OUT ), OPTIONAL :: maxsbw, nnzh - REAL ( KIND = wp ), INTENT( OUT ), OPTIONAL, & - DIMENSION( n ) :: DIAG - REAL ( KIND = wp ), INTENT( OUT ), OPTIONAL, & - DIMENSION( nsemib, n ) :: OFFDIA - -!----------------------------------------------- -! I n t e r f a c e B l o c k s -!----------------------------------------------- - - INTERFACE - SUBROUTINE RANGE( ielemn, transp, W1, W2, nelvar, ninvar, ieltyp, & - lw1, lw2 ) - INTEGER, INTENT( IN ) :: ielemn, nelvar, ninvar, ieltyp, lw1, lw2 - LOGICAL, INTENT( IN ) :: transp - REAL ( KIND = KIND( 1.0D+0 ) ), INTENT( IN ), DIMENSION ( lw1 ) :: W1 - REAL ( KIND = KIND( 1.0D+0 ) ), INTENT( OUT ), DIMENSION ( lw2 ) :: W2 - END SUBROUTINE RANGE - END INTERFACE - -!----------------------------------------------- -! L o c a l V a r i a b l e s -!----------------------------------------------- - - INTEGER :: i, ii, j, jj, k, kk, ig, l, ijhess, irow, jcol, jcolst, ihnext - INTEGER :: iel, iell, ielh, nvarel, ig1, listvs, listve, n_filled, nin - REAL ( KIND = wp ) :: wki, hesnew, gdash, g2dash, scalee - CHARACTER ( LEN = 2 ), DIMENSION( 36, 36 ) :: MATRIX -! CHARACTER ( LEN = 80 ) :: array - -! if a band storage scheme is to be used, initialize the entries within the -! band as zero - - IF ( use_band ) THEN - maxsbw = 0 - DIAG = 0.0_wp ; OFFDIA = 0.0_wp - -! if a co-ordinate scheme is to be used, determine the rows structure of the -! second derivative matrix of a groups partially separable function with -! possible repititions if this has not already been done - - ELSE - IF ( .NOT. hessian_setup_complete ) THEN - CALL CUTEST_sparse_hessian_by_rows( & - n, ng, nel, ntotel, nvrels, nvargp, IELVAR, & - IELING, ISTADG, ISTAEV, ISTAGV, ISVGRP, GXEQX, & - error, status, alloc_status, bad_alloc, & - ROW_start, POS_in_H, lrowst, lpos ) - IF ( status /= 0 ) RETURN - -! allocate workspace if required - - lused = n - CALL CUTEST_allocate_array( USED, lused, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'USED' ; GO TO 980 ; END IF - - lfilled = n - CALL CUTEST_allocate_array( FILLED, lfilled, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'FILLED' ; GO TO 980 ; END IF - -! now pass through the nonzeros, setting up the position in the future -! H_row and H_col arrays of the data gathered from the groups - - USED = 0 - k = 1 - DO i = 1, n - n_filled = 0 - DO l = ROW_start( i ), ROW_start( i + 1 ) - 1 - j = POS_in_H( l ) - IF ( USED( j ) == 0 ) THEN - n_filled = n_filled + 1 - FILLED( n_filled ) = j - USED( j ) = k - POS_in_H( l ) = k - k = k + 1 - ELSE - POS_in_H( l ) = USED( j ) - END IF - END DO - USED( FILLED( 1 : n_filled ) ) = 0 - END DO - nnzh = k - 1 - -! allocate space for the row and column indices and values - - lh_row = nnzh - CALL CUTEST_allocate_array( H_row, lh_row, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'H_row' ; GO TO 980 ; END IF - - lh_col = nnzh - CALL CUTEST_allocate_array( H_col, lh_col, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'H_col' ; GO TO 980 ; END IF - - lh_val = nnzh - CALL CUTEST_allocate_array( H_val, lh_val, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'H_val' ; GO TO 980 ; END IF - - hessian_setup_complete = .TRUE. - ELSE - nnzh = lh_row - END IF - H_val( : nnzh ) = 0.0_wp - END IF - -! --------------------------------------- -! set the row and column lists and values -! --------------------------------------- - -! consider the rank-one second order term for the i-th group - - DO ig = 1, ng - IF ( GXEQX( ig ) ) CYCLE - IF ( .NOT. fixed_structure .AND. GSCALE( ig ) == 0.0_wp ) CYCLE - IF ( iprint >= 100 ) WRITE( out, & - "( ' Group ', I5, ' rank-one terms ' )" ) ig - g2dash = GSCALE( ig ) * GVALS3( ig ) - IF ( iprint >= 100 ) WRITE( 6, * ) ' GVALS3( ig ) ', GVALS3( ig ) - ig1 = ig + 1 - listvs = ISTAGV( ig ) - listve = ISTAGV( ig1 ) - 1 - -! form the gradient of the ig-th group - - GRAD_el( ISVGRP( listvs : listve ) ) = 0.0_wp - -! consider any nonlinear elements for the group - - DO iell = ISTADG( ig ), ISTADG( ig1 ) - 1 - iel = IELING( iell ) - k = INTVAR( iel ) - l = ISTAEV( iel ) - nvarel = ISTAEV( iel + 1 ) - l - scalee = ESCALE( iell ) - -! the iel-th element has an internal representation - - IF ( INTREP( iel ) ) THEN - nin = INTVAR( iel + 1 ) - k - CALL RANGE( iel, .TRUE., GUVALS( k : k + nin - 1 ), & - H_el, nvarel, nin, ITYPEE( iel ), nin, nvarel ) - DO i = 1, nvarel - j = IELVAR( l ) - GRAD_el( j ) = GRAD_el( j ) + scalee * H_el( i ) - l = l + 1 - END DO - -! the iel-th element has no internal representation - - ELSE - DO i = 1, nvarel - j = IELVAR( l ) - GRAD_el( j ) = GRAD_el( j ) + scalee * GUVALS( k ) - k = k + 1 ; l = l + 1 - END DO - END IF - END DO - -! include the contribution from the linear element - - DO k = ISTADA( ig ), ISTADA( ig1 ) - 1 - j = ICNA( k ) - GRAD_el( j ) = GRAD_el( j ) + A( k ) - END DO - -! the gradient is complete. Form the j-th column of the rank-one matrix - - DO l = listvs, listve - j = ISVGRP( l ) - IF ( j == 0 ) CYCLE - -! find the entry in row i of this column - - DO k = listvs, listve - i = ISVGRP( k ) - IF ( i == 0 .OR. i > j ) CYCLE - -! Skip all elements which lie outside a band of width nsemib - - IF ( use_band ) maxsbw = MAX( maxsbw, j - i ) - IF ( j - i > nsemib ) CYCLE - hesnew = GRAD_el( i ) * GRAD_el( j ) * g2dash - IF ( iprint >= 100 ) WRITE( out, & - "( ' Row ', I6, ' column ', I6, ' used. Value = ', ES24.16 )" ) & - i, j, hesnew - -! obtain the appropriate storage location in H for the new entry - -! Case 1: band matrix storage scheme - - IF ( use_band ) THEN - -! the entry belongs on the diagonal - - IF ( i == j ) THEN - DIAG( i ) = DIAG( i ) + hesnew - -! the entry belongs off the diagonal - - ELSE - OFFDIA( j - i, i ) = OFFDIA( j - i, i ) + hesnew - END IF - -! Case 2: co-ordinate storage scheme - - ELSE - -! there is an entry in position (i,j) to be stored in -! H_row/col(COL(ROW_start(i))) - - kk = POS_in_H( ROW_start( i ) ) - H_row( kk ) = i - H_col( kk ) = j - H_val( kk ) = H_val( kk ) + hesnew - ROW_start( i ) = ROW_start( i ) + 1 - END IF - END DO - END DO - END DO - -! reset the workspace array to zero - - W_el( : maxsel ) = 0.0_wp - -! now consider the low rank first order terms for the i-th group - - DO ig = 1, ng - IF ( .NOT. fixed_structure .AND. GSCALE( ig ) == 0.0_wp ) CYCLE - IF ( iprint >= 100 ) WRITE( out, & - "( ' Group ', I5, ' second-order terms ' )" ) ig - IF ( GXEQX( ig ) ) THEN - gdash = GSCALE( ig ) - ELSE - gdash = GSCALE( ig ) * GVALS2( ig ) - IF ( iprint >= 100 ) WRITE( 6, * ) ' GVALS2( ig )', GVALS2( ig ) - END IF - ig1 = ig + 1 - -! see if the group has any nonlinear elements - - DO iell = ISTADG( ig ), ISTADG( ig + 1 ) - 1 - iel = IELING( iell ) - listvs = ISTAEV( iel ) - listve = ISTAEV( iel + 1 ) - 1 - nvarel = listve - listvs + 1 - ielh = ISTADH( iel ) - ihnext = ielh - scalee = ESCALE( iell ) - DO l = listvs, listve - j = IELVAR( l ) - IF ( j /= 0 ) THEN - -! the iel-th element has an internal representation. Compute the j-th column -! of the element Hessian matrix - - IF ( INTREP( iel ) ) THEN - -! compute the j-th column of the Hessian - - W_el( l - listvs + 1 ) = 1.0_wp - -! find the internal variables - - nin = INTVAR( iel + 1 ) - INTVAR( iel ) - CALL RANGE( iel, .FALSE., W_el, W_in, nvarel, nin, & - ITYPEE( iel ), nvarel, nin ) - -! multiply the internal variables by the element Hessian - - H_in( : nin ) = 0.0_wp - -! only the upper triangle of the element Hessian is stored - - jcolst = ielh - 1 - DO jcol = 1, nin - ijhess = jcolst - jcolst = jcolst + jcol - wki = W_in( jcol ) * gdash - DO irow = 1, nin - IF ( irow <= jcol ) THEN - ijhess = ijhess + 1 - ELSE - ijhess = ijhess + irow - 1 - END IF - H_in( irow ) = H_in( irow ) + wki * HUVALS( ijhess ) - END DO - END DO - -! scatter the product back onto the elemental variables - - CALL RANGE( iel, .TRUE., H_in, H_el, nvarel, nin, & - ITYPEE( iel ), nin, nvarel ) - W_el( l - listvs + 1 ) = 0.0_wp - END IF - -! find the entry in row i of this column - - DO k = listvs, l - i = IELVAR( k ) - -! skip all elements which lie outside a band of width nsemib; only the upper -! triangle of the matrix is stored - - IF ( use_band .AND. i /= 0 ) maxsbw = MAX( maxsbw, ABS( j - i )) - IF ( ABS( i - j ) <= nsemib .AND. i /= 0 ) THEN - IF ( i <= j ) THEN - ii = i - jj = j - ELSE - ii = j - jj = i - END IF - -! obtain the appropriate storage location in H for the new entry - - IF ( INTREP( iel ) ) THEN - hesnew = scalee * H_el( k - listvs + 1 ) - ELSE - hesnew = scalee * HUVALS( ihnext ) * gdash - END IF - IF ( iprint >= 100 ) WRITE( 6, "( ' Row ', I6, ' Column ', & - & I6, ' used from element ', I6, ' value = ', ES24.16 )" ) & - ii, jj, iel, hesnew - -! Case 1: band matrix storage scheme - - IF ( use_band ) THEN - -! The entry belongs on the diagonal - - IF ( ii == jj ) THEN - DIAG( ii ) = DIAG( ii ) + hesnew - IF ( k /= l ) DIAG( ii ) = DIAG( ii ) + hesnew - -! the entry belongs off the diagonal - - ELSE - OFFDIA( jj - ii, ii ) = OFFDIA( jj - ii, ii ) + hesnew - END IF - -! Case 2: co-ordinate storage scheme - - ELSE - -! there is an entry in position (i,j) to be stored in -! H_row/col(COL(ROW_start(i))) - - kk = POS_in_H( ROW_start( ii ) ) - H_row( kk ) = ii - H_col( kk ) = jj - H_val( kk ) = H_val( kk ) + hesnew - IF ( k /= l .AND. ii == jj ) & - H_val( kk ) = H_val( kk ) + hesnew - ROW_start( ii ) = ROW_start( ii ) + 1 - END IF - END IF - ihnext = ihnext + 1 - END DO - END IF - END DO - END DO - END DO - -! restore the starting addresses - - IF ( .NOT. use_band ) THEN - DO i = n - 1, 1, - 1 - ROW_start( i + 1 ) = ROW_start( i ) - END DO - ROW_start( 1 ) = 1 - END IF - -! --------------------------------------- -! For debugging, print the nonzero values -! --------------------------------------- - - IF ( iprint >= 10 ) THEN - IF ( .NOT. use_band ) & - WRITE( out, & - "( ' Row Column Value Row Column Value ', / & - & ' --- ------ ----- --- ------ ----- ', / & - & ( 2I6, ES24.16, 2I6, ES24.16 ) )" ) & - ( H_row( i ), H_col( i ), H_val( i ), i = 1, nnzh ) - -! for debugging, print the nonzero pattern of the matrix - - IF ( n <= 36 ) THEN - MATRIX( : n, : n ) = ' ' - IF ( use_band ) THEN - DO i = 1, n - IF ( DIAG( i ) /= 0.0_wp ) MATRIX( i, i ) = ' *' - DO j = 1, MIN( nsemib, n - i ) - IF ( OFFDIA( j, i ) /= 0.0_wp ) THEN - MATRIX( i + j, i ) = ' *' - MATRIX( i, i + j ) = ' *' - END IF - END DO - END DO - ELSE - DO i = 1, nnzh - IF ( H_row( i ) > n ) THEN - WRITE( out, & - "( ' Entry out of bounds in CUTEST_assemble_hessian', & - & ' row number = ', I0 )" ) H_row( i ) -! STOP - END IF - IF ( H_col( i ) > n ) THEN - WRITE( out, & - "( ' Entry out of bounds in CUTEST_assemble_hessian', & - & ' col number = ', I0 )" ) H_col( i ) -! STOP - END IF - MATRIX( H_row( i ), H_col( i ) ) = ' *' - MATRIX( H_col( i ), H_row( i ) ) = ' *' - END DO - END IF - WRITE( out, "( /, 5X, 36I2 )" ) ( i, i = 1, n ) - DO i = 1, n - WRITE( out, "( I3, 2X, 36A2 )" ) i, ( MATRIX( i, j ), j = 1, n ) - END DO - END IF - END IF - -! successful return - - status = 0 - RETURN - -! unsuccessful returns - - 980 CONTINUE - WRITE( error, "( ' ** Message from -CUTEST_assemble_hessian-', & - & /, ' Allocation error (status = ', I0, ') for ', A )" ) & - alloc_status, bad_alloc - RETURN - -! end of subroutine CUTEST_assemble_hessian - - END SUBROUTINE CUTEST_assemble_hessian - -!- C U T E S T _ a s s e m b l e _ h e s s i a n _ p a t t e r n SUBROUTINE - - - SUBROUTINE CUTEST_assemble_hessian_pattern( & - n, ng, nel, ntotel, nvrels, nvargp, & - IELVAR, IELING, ISTADG, ISTAEV, ISTAGV, ISVGRP, GXEQX, & - iprint, error, out, status, alloc_status, bad_alloc, & - hessian_setup_complete, & - lh_row, lh_col, H_row, H_col, ROW_start, POS_in_H, & - USED, FILLED, lrowst, lpos, lused, lfilled, nnzh ) - -! Determine the sparisity pattern of the second derivative matrix of a groups -! partially separable function in co-ordinate format - -! History - -! fortran 2003 version released in CUTEst, 14th June 2013 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: n, nel, ng, nvargp - INTEGER, INTENT( IN ) :: nvrels, ntotel - INTEGER, INTENT( IN ) :: iprint, error, out - INTEGER, INTENT( OUT ) :: status, alloc_status, nnzh - LOGICAL, INTENT( INOUT ) :: hessian_setup_complete - CHARACTER ( LEN = 24 ) :: bad_alloc - INTEGER, INTENT( IN ), DIMENSION( ng + 1 ) :: ISTADG, ISTAGV - INTEGER, INTENT( IN ), DIMENSION( nel + 1 ) :: ISTAEV - INTEGER, INTENT( IN ), DIMENSION( nvrels ) :: IELVAR - INTEGER, INTENT( IN ), DIMENSION( ntotel ) :: IELING - INTEGER, INTENT( IN ), DIMENSION( nvargp ) :: ISVGRP - LOGICAL, INTENT( IN ), DIMENSION( ng ) :: GXEQX - -!--------------------------------------------------------------- -! D u m m y A r g u m e n t s f o r W o r k s p a c e -!-------------------------------------------------------------- - - INTEGER, INTENT( INOUT ) :: lh_row, lh_col, lrowst, lpos, lused, lfilled - INTEGER, ALLOCATABLE, DIMENSION( : ) :: H_row - INTEGER, ALLOCATABLE, DIMENSION( : ) :: H_col - INTEGER, ALLOCATABLE, DIMENSION( : ) :: ROW_start - INTEGER, ALLOCATABLE, DIMENSION( : ) :: POS_in_H - INTEGER, ALLOCATABLE, DIMENSION( : ) :: USED - INTEGER, ALLOCATABLE, DIMENSION( : ) :: FILLED - -!----------------------------------------------- -! L o c a l V a r i a b l e s -!----------------------------------------------- - - INTEGER :: i, ii, j, jj, k, kk, ig, l, iel - INTEGER :: iell, listvs, listve, n_filled - CHARACTER ( LEN = 2 ), DIMENSION( 36, 36 ) :: MATRIX -! CHARACTER ( LEN = 80 ) :: array - -! determine the rows structure of the second derivative matrix of a -! groups partially separable function with possible repititions - - IF ( .NOT. hessian_setup_complete ) THEN - CALL CUTEST_sparse_hessian_by_rows( & - n, ng, nel, ntotel, nvrels, nvargp, & - IELVAR, IELING, ISTADG, ISTAEV, ISTAGV, ISVGRP, GXEQX, & - error, status, alloc_status, bad_alloc, & - ROW_start, POS_in_H, lrowst, lpos ) - IF ( status /= 0 ) RETURN - -! allocate workspace if required - - lused = n - CALL CUTEST_allocate_array( USED, lused, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'USED' ; GO TO 980 ; END IF - - lfilled = n - CALL CUTEST_allocate_array( FILLED, lfilled, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'FILLED' ; GO TO 980 ; END IF - -! now pass through the nonzeros, setting up the position in the future -! H_row and H_col arrays of the data gathered from the groups - - USED = 0 - k = 1 - DO i = 1, n - n_filled = 0 - DO l = ROW_start( i ), ROW_start( i + 1 ) - 1 - j = POS_in_H( l ) - IF ( USED( j ) == 0 ) THEN - n_filled = n_filled + 1 - FILLED( n_filled ) = j - USED( j ) = k - POS_in_H( l ) = k - k = k + 1 - ELSE - POS_in_H( l ) = USED( j ) - END IF - END DO - USED( FILLED( 1 : n_filled ) ) = 0 - END DO - nnzh = k - 1 - -! allocate space for the row and column indices - - lh_row = nnzh - CALL CUTEST_allocate_array( H_row, lh_row, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'H_row' ; GO TO 980 ; END IF - - lh_col = nnzh - CALL CUTEST_allocate_array( H_col, lh_col, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'H_col' ; GO TO 980 ; END IF - END IF - -! ---------------------------- -! set the row and column lists -! ---------------------------- - -! consider the rank-one second order term for the i-th group - - DO ig = 1, ng - IF ( GXEQX( ig ) ) CYCLE - listvs = ISTAGV( ig ) - listve = ISTAGV( ig + 1 ) - 1 - -! Form the j-th column of the rank-one matrix - - DO l = listvs, listve - j = ISVGRP( l ) - IF ( j == 0 ) CYCLE - -! find the entry in row i of this column - - DO k = listvs, listve - i = ISVGRP( k ) - IF ( i == 0 .OR. i > j ) CYCLE - -! there is an entry in position (i,j) to be stored in -! H_row/col(COL(ROW_start(i))) - - kk = POS_in_H( ROW_start( i ) ) - H_row( kk ) = i - H_col( kk ) = j - ROW_start( i ) = ROW_start( i ) + 1 - END DO - END DO - END DO - -! now consider the low rank first order terms for the i-th group - - DO ig = 1, ng - -! see if the group has any nonlinear elements - - DO iell = ISTADG( ig ), ISTADG( ig + 1 ) - 1 - iel = IELING( iell ) - listvs = ISTAEV( iel ) - listve = ISTAEV( iel + 1 ) - 1 - DO l = listvs, listve - j = IELVAR( l ) - -! find the entry in row i of this column - - IF ( j /= 0 ) THEN - DO k = listvs, l - i = IELVAR( k ) - -! only the upper triangle of the matrix is stored - - IF ( i /= 0 ) THEN - IF ( i <= j ) THEN - ii = i - jj = j - ELSE - ii = j - jj = i - END IF - -! there is an entry in position (i,j) to be stored in -! H_row/col(COL(ROW_start(i))) - - kk = POS_in_H( ROW_start( ii ) ) - H_row( kk ) = ii - H_col( kk ) = jj - ROW_start( ii ) = ROW_start( ii ) + 1 - END IF - END DO - END IF - END DO - END DO - END DO - -! restore the starting addresses - - DO i = n - 1, 1, - 1 - ROW_start( i + 1 ) = ROW_start( i ) - END DO - ROW_start( 1 ) = 1 - -! --------------------------------------- -! For debugging, print the nonzero values -! --------------------------------------- - - IF ( iprint >= 10 ) THEN - WRITE( out, & - "( ' Row Column Row Column Row Column Row Column', /, & - & ' --- ------ --- ------ --- ------ --- ------', /, & - & ( 2I6, 2I6, 2I6, 2I6 ) )" ) & - ( H_row( i ), H_col( i ), i = 1, nnzh ) - -! for debugging, print the nonzero pattern of the matrix - - IF ( n <= 36 ) THEN - MATRIX( : n, : n ) = ' ' - DO i = 1, nnzh - IF ( H_row( i ) > n ) THEN - WRITE( out, & - "( ' Entry out of bounds in CUTEST_assemble_hessian', & - & ' row number = ', I0 )" ) H_row( i ) - END IF - IF ( H_col( i ) > n ) THEN - WRITE( out, & - "( ' Entry out of bounds in CUTEST_assemble_hessian', & - & ' col number = ', I0 )" ) H_col( i ) - END IF - MATRIX( H_row( i ), H_col( i ) ) = ' *' - MATRIX( H_col( i ), H_row( i ) ) = ' *' - END DO - WRITE( out, "( /, 5X, 36I2 )" ) ( i, i = 1, n ) - DO i = 1, n - WRITE( out, "( I3, 2X, 36A2 )" ) i, ( MATRIX( i, j ), j = 1, n ) - END DO - END IF - END IF - -! successful return - - status = 0 - RETURN - -! unsuccessful returns - - 980 CONTINUE - WRITE( error, "( ' ** Message from -CUTEST_assemble_hessian-', & - & /, ' Allocation error (status = ', I0, ') for ', A )" ) & - alloc_status, bad_alloc - RETURN - -! end of subroutine CUTEST_assemble_hessian_pattern - - END SUBROUTINE CUTEST_assemble_hessian_pattern - -!- C U T E S T _ s i z e _ s p a r s e _ h e s s i a n S U B R O U T I N E - - - SUBROUTINE CUTEST_size_sparse_hessian( & - n, ng, nel, ntotel, nvrels, nvargp, IELVAR, IELING, & - ISTADG, ISTAEV, ISTAGV, ISVGRP, GXEQX, error, status, & - alloc_status, bad_alloc, hessian_setup_complete, & - ROW_start, POS_in_H, USED, lrowst, lpos, lused, nnzh ) - -! Determine the number of nonzeros in the second derivative matrix of a -! groups partially separable function in co-ordinate format - -! History - -! Derived from CUTEst_assemble_hessian in this module -! fortran 2003 version released in CUTEst, 14th June 2013 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: n, ng, nvargp - INTEGER, INTENT( IN ) :: nvrels, ntotel, nel, error - INTEGER, INTENT( OUT ) :: status, nnzh, alloc_status - LOGICAL, INTENT( IN ) :: hessian_setup_complete - CHARACTER ( LEN = 24 ) :: bad_alloc - INTEGER, INTENT( IN ), DIMENSION( ng + 1 ) :: ISTADG, ISTAGV - INTEGER, INTENT( IN ), DIMENSION( nel + 1 ) :: ISTAEV - INTEGER, INTENT( IN ), DIMENSION( nvrels ) :: IELVAR - INTEGER, INTENT( IN ), DIMENSION( ntotel ) :: IELING - INTEGER, INTENT( IN ), DIMENSION( nvargp ) :: ISVGRP - LOGICAL, INTENT( IN ), DIMENSION( ng ) :: GXEQX - -!--------------------------------------------------------------- -! D u m m y A r g u m e n t s f o r W o r k s p a c e -!-------------------------------------------------------------- - - INTEGER, INTENT( INOUT ) :: lrowst, lpos, lused - INTEGER, ALLOCATABLE, DIMENSION( : ) :: ROW_start - INTEGER, ALLOCATABLE, DIMENSION( : ) :: POS_in_H - INTEGER, ALLOCATABLE, DIMENSION( : ) :: USED - -!----------------------------------------------- -! L o c a l V a r i a b l e s -!----------------------------------------------- - - INTEGER :: i, j, k, l - -! determine the rows structure of the second derivative matrix of a -! groups partially separable function with possible repititions - - IF ( .NOT. hessian_setup_complete ) THEN - CALL CUTEST_sparse_hessian_by_rows( & - n, ng, nel, ntotel, nvrels, nvargp, & - IELVAR, IELING, ISTADG, ISTAEV, ISTAGV, ISVGRP, GXEQX, & - error, status, alloc_status, bad_alloc, & - ROW_start, POS_in_H, lrowst, lpos ) - IF ( status /= 0 ) RETURN - -! allocate workspace if required - - lused = n - CALL CUTEST_allocate_array( USED, lused, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'USED' ; GO TO 980 ; END IF - END IF - -! now pass through the nonzeros, removing duplicates - - USED = 0 - k = 1 - DO i = 1, n - DO l = ROW_start( i ), ROW_start( i + 1 ) - 1 - j = POS_in_H( l ) - IF ( USED( j ) /= i ) THEN - USED( j ) = i - k = k + 1 - END IF - END DO - END DO - nnzh = k - 1 - -! deallocate temporary storage - - DEALLOCATE( USED, STAT = alloc_status ) - -! successful return - - status = 0 - RETURN - -! unsuccessful returns - - 980 CONTINUE - WRITE( error, "( ' ** Message from -CUTEST_size_sparse_hessian-', & - & /, ' Allocation error (status = ', I0, ') for ', A )" ) & - alloc_status, bad_alloc - RETURN - -! end of subroutine CUTEST_size_sparse_hessian - - END SUBROUTINE CUTEST_size_sparse_hessian - -! -*- C U T E S T _ s p a r s e _ h e s s i a n _ b y _ r o w s SUBROUTINE -*- - - SUBROUTINE CUTEST_sparse_hessian_by_rows( & - n, ng, nel, ntotel, nvrels, nvargp, & - IELVAR, IELING, ISTADG, ISTAEV, ISTAGV, ISVGRP, GXEQX, & - error, status, alloc_status, bad_alloc, & - ROW_start, POS_in_H, lrowst, lpos ) - -! Determine the rows structure of the second derivative matrix of a -! groups partially separable function with possible repititions - -! History - -! Derived from CUTEst_assemble_hessian in this module -! fortran 2003 version released in CUTEst, 14th June 2013 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: n, ng, nvargp - INTEGER, INTENT( IN ) :: nvrels, ntotel, nel, error - INTEGER, INTENT( OUT ) :: status, alloc_status - CHARACTER ( LEN = 24 ) :: bad_alloc - INTEGER, INTENT( IN ), DIMENSION( ng + 1 ) :: ISTADG, ISTAGV - INTEGER, INTENT( IN ), DIMENSION( nel + 1 ) :: ISTAEV - INTEGER, INTENT( IN ), DIMENSION( nvrels ) :: IELVAR - INTEGER, INTENT( IN ), DIMENSION( ntotel ) :: IELING - INTEGER, INTENT( IN ), DIMENSION( nvargp ) :: ISVGRP - LOGICAL, INTENT( IN ), DIMENSION( ng ) :: GXEQX - -!--------------------------------------------------------------- -! D u m m y A r g u m e n t s f o r W o r k s p a c e -!-------------------------------------------------------------- - - INTEGER, INTENT( INOUT ) :: lrowst, lpos - INTEGER, ALLOCATABLE, DIMENSION( : ) :: ROW_start - INTEGER, ALLOCATABLE, DIMENSION( : ) :: POS_in_H - -!----------------------------------------------- -! L o c a l V a r i a b l e s -!----------------------------------------------- - - INTEGER :: i, ii, iel, iell, ig, j, jj, k, l, listvs, listve - -! allocate workspace - - lrowst = n + 1 - CALL CUTEST_allocate_array( ROW_start, lrowst, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'ROW_start' ; GO TO 980 ; END IF - -! ====== -! PASS 1 -! ====== - -! ROW_start(i+1) will hold the number of entries (with repeats) in row i - - ROW_start( 2 : n + 1 ) = 0 - -! consider the rank-one second order term for the i-th group - - DO ig = 1, ng - IF ( GXEQX( ig ) ) CYCLE - listvs = ISTAGV( ig ) - listve = ISTAGV( ig + 1 ) - 1 - -! Form the j-th column of the rank-one matrix - - DO l = listvs, listve - j = ISVGRP( l ) - IF ( j == 0 ) CYCLE - -! find the entry in row i of this column - - DO k = listvs, listve - i = ISVGRP( k ) - IF ( i == 0 .OR. i > j ) CYCLE - ROW_start( i + 1 ) = ROW_start( i + 1 ) + 1 - -! there is an entry in position (i,j) - - END DO - END DO - END DO - -! now consider the low rank first order terms for the i-th group - - DO ig = 1, ng - -! see if the group has any nonlinear elements - - DO iell = ISTADG( ig ), ISTADG( ig + 1 ) - 1 - iel = IELING( iell ) - listvs = ISTAEV( iel ) - listve = ISTAEV( iel + 1 ) - 1 - DO l = listvs, listve - j = IELVAR( l ) - -! find the entry in row i of this column - - IF ( j /= 0 ) THEN - DO k = listvs, l - i = IELVAR( k ) - -! only the upper triangle of the matrix is stored - - IF ( i /= 0 ) THEN - IF ( i <= j ) THEN - ii = i - jj = j - ELSE - ii = j - jj = i - END IF - -! there is an entry in position (ii,jj) - - ROW_start( ii + 1 ) = ROW_start( ii + 1 ) + 1 - END IF - END DO - END IF - END DO - END DO - END DO - -! ROW_start(i) is changed to give the starting address for the list of -! column entries (with repeats) in row i (and ROW_start(n+1) points one -! beyond the end) - -! compute starting addesses - - ROW_start( 1 ) = 1 - DO i = 2, n + 1 - ROW_start( i ) = ROW_start( i ) + ROW_start( i - 1 ) - END DO - -! ====== -! PASS 2 -! ====== - -! set the lists of column entries in each row - -! allocate space for column indices - - lpos = ROW_start( n + 1 ) - 1 - CALL CUTEST_allocate_array( POS_in_H, lpos, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'ROW_start' ; GO TO 980 ; END IF - -! consider the rank-one second order term for the i-th group - - DO ig = 1, ng - IF ( GXEQX( ig ) ) CYCLE - listvs = ISTAGV( ig ) - listve = ISTAGV( ig + 1 ) - 1 - -! Form the j-th column of the rank-one matrix - - DO l = listvs, listve - j = ISVGRP( l ) - IF ( j == 0 ) CYCLE - -! find the entry in row i of this column - - DO k = listvs, listve - i = ISVGRP( k ) - IF ( i == 0 .OR. i > j ) CYCLE - POS_in_H( ROW_start( i ) ) = j - ROW_start( i ) = ROW_start( i ) + 1 - -! there is an entry in position (i,j) - - END DO - END DO - END DO - -! now consider the low rank first order terms for the i-th group - - DO ig = 1, ng - -! see if the group has any nonlinear elements - - DO iell = ISTADG( ig ), ISTADG( ig + 1 ) - 1 - iel = IELING( iell ) - listvs = ISTAEV( iel ) - listve = ISTAEV( iel + 1 ) - 1 - DO l = listvs, listve - j = IELVAR( l ) - -! find the entry in row i of this column - - IF ( j /= 0 ) THEN - DO k = listvs, l - i = IELVAR( k ) - -! only the upper triangle of the matrix is stored - - IF ( i /= 0 ) THEN - IF ( i <= j ) THEN - ii = i - jj = j - ELSE - ii = j - jj = i - END IF - -! there is an entry in position (i,j) - - POS_in_H( ROW_start( ii ) ) = jj - ROW_start( ii ) = ROW_start( ii ) + 1 - END IF - END DO - END IF - END DO - END DO - END DO - -! restore the starting addresses - - DO i = n - 1, 1, - 1 - ROW_start( i + 1 ) = ROW_start( i ) - END DO - ROW_start( 1 ) = 1 - -! successful return - - status = 0 - RETURN - -! unsuccessful returns - - 980 CONTINUE - WRITE( error, "( ' ** Message from -CUTEST_sparse_hessian_by_rows-', & - & /, ' Allocation error (status = ', I0, ') for ', A )" ) & - alloc_status, bad_alloc - RETURN - -! end of subroutine CUTEST_sparse_hessian_by_rows - - END SUBROUTINE CUTEST_sparse_hessian_by_rows - -! - C U T E S T _ a s s e m b l e _ e l e m e n t _ h e s s i a n SUBROUTINE - - - SUBROUTINE CUTEST_assemble_element_hessian( & - ng, nel, ntotel, nvrels, nnza, maxsel, nvargp, & - lnguvl, lnhuvl, ISTADH, ICNA, ISTADA, INTVAR, IELVAR, & - IELING, ISTADG, ISTAEV, ISTAGV, ISVGRP, ITYPEE, & - A, GUVALS, HUVALS, GVALS2, GVALS3, GSCALE, ESCALE, & - GXEQX, INTREP, ISWKSP, GRAD_el, W_el, W_in, H_el, & - H_in, RANGE, ne, lhe_ptr, lhe_row, lhe_val, & - HE_row, HE_row_ptr, HE_val, HE_val_ptr, BYROWS, & - iprint, out, error, buffer, alloc_status, bad_alloc, & - status ) - -! ------------------------------------------------------------------ -! assemble the second derivative matrix of a groups partially -! separable function into finite-element format - -! ne -! H = sum H_e, -! e=1 - -! where each element H_e involves a small subset of the rows of H. -! H is stored as a list of the row indices involved in each element -! and the upper triangle of H_e (stored by rows or columns) -! ------------------------------------------------------------------ - -! History - -! fortran 77 version released in CUTEr as ASMBE, November 25th 1994 -! fortran 2003 version released in CUTEst, 26th November 2012 - - INTEGER, INTENT( IN ) :: ng, nel, ntotel, nvrels, nnza, maxsel, iprint - INTEGER, INTENT( IN ) :: nvargp, lnguvl, lnhuvl, lhe_ptr - INTEGER, INTENT( IN ) :: out, error, buffer - INTEGER, INTENT( INOUT ) :: lhe_row, lhe_val - INTEGER, INTENT( OUT ) :: ne, status, alloc_status - LOGICAL, INTENT( IN ) :: byrows - CHARACTER ( LEN = 24 ), INTENT( OUT ) :: bad_alloc - INTEGER, INTENT( IN ), DIMENSION( nnza ) :: ICNA - INTEGER, INTENT( IN ), DIMENSION( ng + 1 ) :: ISTADA, ISTADG, ISTAGV - INTEGER, INTENT( IN ), DIMENSION( nel + 1 ) :: INTVAR, ISTAEV, ISTADH - INTEGER, INTENT( IN ), DIMENSION( nvrels ) :: IELVAR - INTEGER, INTENT( IN ), DIMENSION( ntotel ) :: IELING - INTEGER, INTENT( IN ), DIMENSION( nvargp ) :: ISVGRP - INTEGER, INTENT( IN ), DIMENSION( nel ) :: ITYPEE - INTEGER, DIMENSION( lhe_ptr ) :: HE_row_ptr - INTEGER, DIMENSION( lhe_ptr ) :: HE_val_ptr - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( nnza ) :: A - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( lnguvl ) :: GUVALS - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( lnhuvl ) :: HUVALS - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GVALS2 - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GVALS3 - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GSCALE - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ntotel ) :: ESCALE - LOGICAL, INTENT( IN ), DIMENSION( ng ) :: GXEQX - LOGICAL, INTENT( IN ), DIMENSION( nel ) :: INTREP - INTEGER, INTENT( OUT ), DIMENSION( : ) :: ISWKSP - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: GRAD_el - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: W_el - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: W_in - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: H_el - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: H_in - EXTERNAL :: RANGE - -!--------------------------------------------------------------- -! D u m m y A r g u m e n t s f o r W o r k s p a c e -!-------------------------------------------------------------- - - INTEGER, ALLOCATABLE, DIMENSION( : ) :: HE_row - REAL ( KIND = wp ), ALLOCATABLE, DIMENSION( : ) :: HE_val - -! local variables - - INTEGER :: i, ii, ig, iel, iell, ielh, ihi, j, jj, k, l, nin - INTEGER :: nvarel, ig1, listvs, listve, ihnext, nvarg, nsizee - INTEGER :: ijhess, irow, jcol, jcolst, nlh, ulh, mlh - REAL ( KIND = wp ) :: wki, hesnew, gdash, g2dash, scalee - -! ensure that there is sufficient space - - CALL CUTEST_allocate_array( HE_row, lhe_row, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'HE_row' ; status = 1 ; GO TO 980 ; END IF - - CALL CUTEST_allocate_array( HE_val, lhe_val, alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'HE_val' ; status = 1 ; GO TO 980 ; END IF - -! ------------------------------------------------------- -! form the rank-one second order term for the i-th group -! ------------------------------------------------------- - - ne = 0 - HE_row_ptr( 1 ) = 1 ; HE_val_ptr( 1 ) = 1 - DO ig = 1, ng - IF ( iprint >= 100 ) WRITE( out, & - "( ' Group ', I5, ' rank-one terms ' )" ) ig - ig1 = ig + 1 - IF ( GXEQX( ig ) ) THEN - g2dash = 0.0_wp - ELSE - g2dash = GSCALE( ig ) * GVALS3( ig ) - IF ( iprint >= 100 ) WRITE( out, * ) ' GVALS3(ig) ', GVALS3( ig ) - END IF - -! ignore linear groups - - IF ( ISTADG( ig ) >= ISTADG( ig1 ) .AND. GXEQX( ig ) ) CYCLE - -! the group is nonlinear - - ne = ne + 1 - listvs = ISTAGV( ig ) - listve = ISTAGV( ig1 ) - 1 - nvarg = listve - listvs + 1 - -! set the starting addresses for the integer and real arrays for group ig + 1 - - HE_row_ptr( ne + 1 ) = HE_row_ptr( ne ) + nvarg - IF ( HE_row_ptr( ne + 1 ) > lhe_row ) THEN - nlh = 3 * HE_row_ptr( ne + 1 ) / 2 ; ulh = HE_row_ptr( ne ) - 1 - mlh = HE_row_ptr( ne + 1 ) - CALL CUTEST_extend_array( HE_row, lhe_row, ulh, nlh, mlh, buffer, & - status, alloc_status ) - IF ( status /= 0 ) THEN - bad_alloc = 'HE_row' ; GO TO 980 ; END IF - lhe_row = nlh - END IF - nsizee = ( nvarg * ( nvarg + 1 ) ) / 2 - HE_val_ptr( ne + 1 ) = HE_val_ptr( ne ) + nsizee - IF ( HE_val_ptr( ne + 1 ) >= lhe_val ) THEN - nlh = 3 * HE_val_ptr( ne + 1 ) / 2 ; ulh = HE_val_ptr( ne ) - 1 - mlh = HE_val_ptr( ne + 1 ) - CALL CUTEST_extend_array( HE_val, lhe_val, ulh, nlh, mlh, buffer, & - status, alloc_status ) - IF ( status /= 0 ) THEN - bad_alloc = 'HE_val' ; GO TO 980 ; END IF - lhe_val = nlh - END IF - -! record the row indices involved in super-element ne - - k = HE_row_ptr( ne ) - DO l = listvs, listve - HE_row( k ) = ISVGRP( l ) - k = k + 1 - END DO - -! skip if the group contributes nothing to the Hessian - - IF ( GXEQX( ig ) .OR. g2dash == 0.0_wp ) THEN - HE_val( HE_val_ptr( ne ) : HE_val_ptr( ne ) + nsizee - 1 ) = 0.0_wp - CYCLE - END IF - -! form the gradient of the ig-th group - - GRAD_el( ISVGRP( listvs : listve ) ) = 0.0_wp - -! consider any nonlinear elements for the group - - DO iell = ISTADG( ig ), ISTADG( ig1 ) - 1 - iel = IELING( iell ) - k = INTVAR( iel ) ; l = ISTAEV( iel ) - nvarel = ISTAEV( iel + 1 ) - l - scalee = ESCALE( iell ) - IF ( INTREP( iel ) ) THEN - -! the iel-th element has an internal representation - - nin = INTVAR( iel + 1 ) - k - CALL RANGE( iel, .TRUE., GUVALS( k : k + nin - 1 ), & - H_el, nvarel, nin, ITYPEE( iel ), nin, nvarel ) - DO i = 1, nvarel - j = IELVAR( l ) - GRAD_el( j ) = GRAD_el( j ) + scalee * H_el( i ) - l = l + 1 - END DO - ELSE - -! the iel-th element has no internal representation - - DO i = 1, nvarel - j = IELVAR( l ) - GRAD_el( j ) = GRAD_el( j ) + scalee * GUVALS( k ) - k = k + 1 ; l = l + 1 - END DO - END IF - END DO - -! include the contribution from the linear element - - DO k = ISTADA( ig ), ISTADA( ig1 ) - 1 - j = ICNA( k ) - GRAD_el( j ) = GRAD_el( j ) + A( k ) - END DO - -! the gradient is complete. Form the j-th column of the rank-one matrix - - DO l = listvs, listve - jj = ISVGRP( l ) - j = l - listvs + 1 - -! find the entry in row i of this column. - - DO k = listvs, l - ii = ISVGRP( k ) - i = k - listvs + 1 - IF ( byrows ) THEN - ihi = HE_val_ptr( ne ) - 1 & - + nvarg * ( i - 1 ) - ( ( i - 1 ) * i ) / 2 + j - ELSE - ihi = HE_val_ptr( ne ) - 1 + i + ( j * ( j - 1 ) ) / 2 - END IF - HE_val( ihi ) = GRAD_el( ii ) * GRAD_el( jj ) * g2dash - IF ( iprint >= 100 ) WRITE( out, & - "( ' Row ', I6, ' column ', I6, ' used. Value = ', ES24.16 )" ) & - ii, jj, HE_val( ihi ) - END DO - END DO - END DO - -! reset the workspace array to zero - - W_el( : maxsel ) = 0.0_wp - -! --------------------------------------------------------- -! add on the low rank first order terms for the I-th group -! --------------------------------------------------------- - - ne = 0 - DO ig = 1, ng - ig1 = ig + 1 - -! once again, ignore linear groups - - IF ( ISTADG( ig ) >= ISTADG( ig1 ) .AND. GXEQX( ig ) ) CYCLE - -! the group is nonlinear - - ne = ne + 1 - IF ( iprint >= 100 ) WRITE( out, & - "( ' Group ', I5, ' second-order terms ' )" ) ig - IF ( GXEQX( ig ) ) THEN - gdash = GSCALE( ig ) - ELSE - gdash = GSCALE( ig ) * GVALS2( ig ) - IF ( iprint >= 100 ) WRITE( out, * ) ' GVALS2(ig) ', GVALS2(IG) - END IF - IF ( gdash == 0.0_wp ) THEN - CYCLE - END IF - -! map the problem variables to the elemental variables - - nvarg = HE_row_ptr( ne + 1 ) - HE_row_ptr( ne ) - DO i = HE_row_ptr( ne ), HE_row_ptr( ne + 1 ) - 1 - ISWKSP( HE_row( i ) ) = i + 1 - HE_row_ptr( ne ) - END DO - -! see if the group has any nonlinear elements - - DO iell = ISTADG( ig ), ISTADG( ig1 ) - 1 - iel = IELING( iell ) - listvs = ISTAEV( iel ) - listve = ISTAEV( iel + 1 ) - 1 - nvarel = listve - listvs + 1 - ielh = ISTADH( iel ) - ihnext = ielh - scalee = ESCALE( iell ) - DO l = listvs, listve - j = ISWKSP( IELVAR( l ) ) - -! the iel-th element has an internal representation. Compute the j-th column -! of the element Hessian matrix - - IF ( INTREP( iel ) ) THEN - -! compute the j-th column of the Hessian - - W_el( l - listvs + 1 ) = 1.0_wp - -! find the internal variables - - nin = INTVAR( iel + 1 ) - INTVAR( iel ) - CALL RANGE( iel, .FALSE., W_el, W_in, nvarel, nin, & - ITYPEE( iel ), nvarel, nin ) - -! multiply the internal variables by the element Hessian - - H_in( : nin ) = 0.0_wp - -! only the upper triangle of the element Hessian is stored - - jcolst = ielh - 1 - DO jcol = 1, nin - ijhess = jcolst - jcolst = jcolst + jcol - wki = W_in( jcol ) * gdash - DO irow = 1, nin - IF ( irow <= jcol ) THEN - ijhess = ijhess + 1 - ELSE - ijhess = ijhess + irow - 1 - END IF - H_in( irow ) = H_in( irow ) + wki * HUVALS( ijhess ) - END DO - END DO - -! scatter the product back onto the elemental variables - - CALL RANGE( iel, .TRUE., H_in, H_el, nvarel, nin, & - ITYPEE( iel ), nin, nvarel ) - W_el( l - listvs + 1 ) = 0.0_wp - -! find the entry in row i of this column - - END IF - DO k = listvs, l - i = ISWKSP( IELVAR( k ) ) - -! only the upper triangle of the matrix is stored - - IF ( i > j ) THEN - ii = i ; i = j ; j = ii - END IF - -! obtain the appropriate storage location in H for the new entry - - IF ( INTREP( iel ) ) THEN - hesnew = scalee * H_el( k - listvs + 1 ) - ELSE - hesnew = scalee * HUVALS( ihnext ) * gdash - END IF - IF ( iprint >= 100 ) WRITE( out, "( ' Row ', I6, ' Column ', & - & I6, ' used from element ', I6, ' value = ', ES24.16 )" ) & - i, j, iel, hesnew - IF ( byrows ) THEN - ihi = HE_val_ptr( ne ) - 1 + nvarg * ( i - 1 ) - & - ( ( i - 1 ) * i ) / 2 + j - ELSE - ihi = HE_val_ptr( ne ) - 1 + i + ( j * ( j - 1 ) ) / 2 - END IF - HE_val( ihi ) = HE_val( ihi ) + hesnew - IF ( k /= l .AND. i == j ) & - HE_val( ihi ) = HE_val( ihi ) + hesnew - ihnext = ihnext + 1 - END DO - END DO - END DO - END DO - ISWKSP = 0 - -! ---------------------------------------- -! for debugging, print the nonzero values -! ---------------------------------------- - - IF ( iprint >= 10 ) THEN - DO ig = 1, ne - WRITE( out, "( ' Super-element ', I10 )" ) ig - WRITE( out, "( ' Super-element variables ', 8I7, /, ( 11I7 ) )") & - ( HE_row( i ), i = HE_row_ptr( ig ), HE_row_ptr( ig + 1 ) - 1 ) - WRITE( out, "( ' Nonzeros ', 6ES12.4, /, ( 7ES12.4 ) )" ) & - ( HE_val( i ), i = HE_val_ptr( ig ), HE_val_ptr( ig + 1 ) - 1 ) - END DO - END IF - status = 0 - RETURN - -! unsuccessful returns - -! 610 CONTINUE -! status = 1 -! RETURN - -! unsuccessful returns - - 980 CONTINUE - WRITE( error, "( ' ** Message from -CUTEST_assemble_element_hessian-', & - & /, ' Allocation error (status = ', I0, ') for ', A )" ) & - alloc_status, bad_alloc - RETURN - -! end of subroutine CUTEST_assemble_element_hessian - - END SUBROUTINE CUTEST_assemble_element_hessian - -! -*-*- C U T E S T _ s i z e _ e l e m e n t _ h e s s i a n SUBROUTINE -*-*- - - SUBROUTINE CUTEST_size_element_hessian( ng, ISTADG, ISTAGV, GXEQX, ne, & - he_val_ne, he_row_ne, status ) - -! -------------------------------------------------------------------------- -! compute the number of elements and the space required to store the Hessian -! matrix of a problem initially written in Standard Input Format (SIF) - -! The matrix is represented in "finite element format", i.e., - -! ne -! H = sum H_e, -! e=1 - -! where each element H_i involves a small subset of the rows of H. -! H is stored as a list of the row indices involved in each element -! and the upper triangle of H_e (stored by rows or columns). - -! ne (integer) number of elements -! he_val_ne (integer) number of entries needed to store the real values of H. -! Specifically, the sum of the number of entries in the upper triangle -! of each H_e -! he_row_ne (integer) number of entries needed to store the integer entries of -! H. Specifically, the sum of the row dimensions of each H_e -! --------------------------------------------------------------------------- - -! History - -! fortran 77 version released in CUTEr as U/CDIMSE, November 25th 1994 -! fortran 2003 version released in CUTEst, 26th November 2012 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: ng - INTEGER, INTENT( OUT ) :: ne, he_val_ne, he_row_ne, status - INTEGER, INTENT( IN ), DIMENSION( ng + 1 ) :: ISTADG, ISTAGV - LOGICAL, INTENT( IN ), DIMENSION( ng ) :: GXEQX - -!----------------------------------------------- -! L o c a l V a r i a b l e s -!----------------------------------------------- - -! local variables - - INTEGER :: ig, nvarg, ig1 - -! initilaize counts - - ne = 0 ; he_val_ne = 0 ; he_row_ne = 0 - -! loop over the groups - - DO ig = 1, ng - ig1 = ig + 1 - -! only consider nonlinear groups - - IF ( ISTADG( ig ) < ISTADG( ig1 ) .OR. .NOT. GXEQX( ig ) ) THEN - ne = ne + 1 - nvarg = ISTAGV( ig1 ) - ISTAGV( ig ) - he_row_ne = he_row_ne + nvarg - he_val_ne = he_val_ne + ( nvarg * ( nvarg + 1 ) ) / 2 - END IF - END DO - status = 0 - - RETURN - -! end of subroutine CUTEST_size_element_hessian - - END SUBROUTINE CUTEST_size_element_hessian - -!- C U T E S T _ h e s s i a n _ t i m e s _ v e c t o r S U B R O U T I N E - - - SUBROUTINE CUTEST_hessian_times_vector( & - n, ng, nel, ntotel, nvrels, nvargp, alllin, & - ISTAEV, ISTADH, INTVAR, IELING, IELVAR, P, Q, GVALS2, & - GVALS3, GRJAC, GSCALE, ESCALE, HUVALS, lhuval, GXEQX, & - INTREP, IGCOLJ, ISLGRP, ITYPEE, ISYMMH, ISTAJC, AP, & - W_el, W_in, H_in, RANGE ) - -! ---------------------------------------------------------------------- -! evaluate Q, the product of the hessian of a groups partially separable -! function with the vector P -! ---------------------------------------------------------------------- - -! History - -! fortran 77 version originally released in CUTE, September 23rd, 1991 -! fortran 90 version originally released pre GALAHAD Version 1.0. Febrauary -! 1st 1995 as HSPRD_hessian_times_vector as part of the HSPRD module -! update released with GALAHAD Version 2.0. February 16th 2005 with -! sparse products removed -! fortran 2003 version released in CUTEst, 5th November 2012 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: n, ng, nel, ntotel, nvrels, nvargp, lhuval - LOGICAL, INTENT( IN ) :: alllin - INTEGER, INTENT( IN ), DIMENSION( nel + 1 ) :: ISTAEV, ISTADH - INTEGER, INTENT( IN ), DIMENSION( nel + 1 ) :: INTVAR - INTEGER, INTENT( IN ), DIMENSION( ntotel ) :: IELING - INTEGER, INTENT( IN ), DIMENSION( nvrels ) :: IELVAR - INTEGER, INTENT( IN ), DIMENSION( nel ) :: ITYPEE - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( n ) :: P - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GVALS2 - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GVALS3 - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GSCALE - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( nvargp ) :: GRJAC - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ntotel ) :: ESCALE - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( lhuval ) :: HUVALS - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( n ) :: Q - LOGICAL, INTENT( IN ), DIMENSION( ng ) :: GXEQX - LOGICAL, INTENT( IN ), DIMENSION( nel ) :: INTREP - INTEGER, INTENT( IN ), DIMENSION( : ) :: IGCOLJ - INTEGER, INTENT( IN ), DIMENSION( : ) :: ISLGRP - INTEGER, INTENT( IN ), DIMENSION( : ) :: ISTAJC - INTEGER, INTENT( IN ), DIMENSION( : , : ) :: ISYMMH - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: AP - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: W_el - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: W_in - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: H_in - -!----------------------------------------------- -! I n t e r f a c e B l o c k s -!----------------------------------------------- - - INTERFACE - SUBROUTINE RANGE( ielemn, transp, W1, W2, nelvar, ninvar, ieltyp, & - lw1, lw2 ) - INTEGER, INTENT( IN ) :: ielemn, nelvar, ninvar, ieltyp, lw1, lw2 - LOGICAL, INTENT( IN ) :: transp - REAL ( KIND = KIND( 1.0D+0 ) ), INTENT( IN ), DIMENSION ( lw1 ) :: W1 - REAL ( KIND = KIND( 1.0D+0 ) ), INTENT( OUT ), DIMENSION ( lw2 ) :: W2 - END SUBROUTINE RANGE - END INTERFACE - -!----------------------------------------------- -! L o c a l V a r i a b l e s -!----------------------------------------------- - - INTEGER :: i, iel, ig, ii, irow, jcol, ijhess, lthvar - INTEGER :: iell, nin, k, l, ll, nvarel, ielhst - REAL ( KIND = wp ) :: pi, gi - LOGICAL :: nullwk - -! =========================== rank-one terms ============================ - -! if the ig-th group is non-trivial, form the product of P with the sum of -! rank-one first order terms, A(trans) * GVALS3 * A. A is stored by both -! rows and columns - -! initialize AP and Q as zero - - AP( : ng ) = 0.0_wp ; Q = 0.0_wp - -! form the matrix-vector product AP = A * P, using the column-wise -! storage of A - - DO i = 1, n - pi = P( i ) -!DIR$ IVDEP - DO k = ISTAJC( i ), ISTAJC( i + 1 ) - 1 - AP( IGCOLJ( k ) ) = AP( IGCOLJ( k ) ) + pi * GRJAC( k ) - END DO - END DO - -! multiply W by the diagonal matrix GVALS3 - - WHERE ( GXEQX( : ng ) ) - AP( : ng ) = AP( : ng ) * GSCALE( : ng ) - ELSEWHERE - AP( : ng ) = AP( : ng ) * GSCALE( : ng ) * GVALS3( : ng ) - END WHERE - -! form the matrix-vector product Q = A(trans) * W, once again using the -! column-wise storage of A - - DO i = 1, n -! Q( i ) = & -! DOT_PRODUCT( AP( IGCOLJ( ISTAJC( i ) : ISTAJC( i + 1 ) - 1 ) ), & -! GRJAC ( ISTAJC( i ) : ISTAJC( i + 1 ) - 1 ) ) - pi = 0.0_wp - DO ii = ISTAJC( i ), ISTAJC( i + 1 ) - 1 - pi = pi + AP( IGCOLJ( ii ) ) * GRJAC( ii ) - END DO - Q( i ) = pi - END DO - - IF ( .NOT. alllin ) THEN - -! ======================= second-order terms ======================= - -! now consider the product of P with the second order terms (that is, the -! 2nd derivatives of the elements) - - DO iell = 1, ntotel - ig = ISLGRP( iell ) - iel = IELING( iell ) - nvarel = ISTAEV( iel + 1 ) - ISTAEV( iel ) - IF ( GXEQX( ig ) ) THEN - gi = GSCALE( ig ) * ESCALE( iell ) - ELSE - gi = GSCALE( ig ) * ESCALE( iell ) * GVALS2( ig ) - END IF - IF ( INTREP( iel ) ) THEN - -! the iel-th element Hessian has an internal representation. Copy the -! elemental variables into W - - nullwk = .TRUE. - ll = ISTAEV( iel ) -!DIR$ IVDEP - DO ii = 1, nvarel - pi = P( IELVAR( ll ) ) - W_el( ii ) = pi - IF ( pi /= 0.0_wp ) nullwk = .FALSE. - ll = ll + 1 - END DO - IF ( nullwk ) CYCLE - -! find the internal variables, W_in - - nin = INTVAR( iel + 1 ) - INTVAR( iel ) - CALL RANGE( iel, .FALSE., W_el, W_in, nvarel, nin, & - ITYPEE( iel ), nvarel, nin ) - -! multiply the internal variables by the element Hessian and put the -! product in H_in. Consider the first column of the element Hessian - - ielhst = ISTADH( iel ) - pi = gi * W_in( 1 ) - H_in( : nin ) = pi * HUVALS( ISYMMH( 1, : nin ) + ielhst ) - -! now consider the remaining columns of the element Hessian - - DO jcol = 2, nin - pi = gi * W_in( jcol ) - IF ( pi /= 0.0_wp ) THEN - H_in( : nin ) = H_in( : nin ) + & - pi * HUVALS( ISYMMH( jcol, : nin ) + ielhst ) - END IF - END DO - -! scatter the product back onto the elemental variables, W - - CALL RANGE( iel, .TRUE., H_in, W_el, nvarel, nin, & - ITYPEE( iel ), nin, nvarel ) - -! add the scattered product to Q - - ll = ISTAEV( iel ) -!DIR$ IVDEP - DO ii = 1, nvarel - l = IELVAR( ll ) - Q( l ) = Q( l ) + W_el( ii ) - ll = ll + 1 - END DO - ELSE - -! the iel-th element Hessian has no internal representation - - lthvar = ISTAEV( iel ) - 1 - ielhst = ISTADH( iel ) - DO jcol = 1, nvarel - pi = gi * P( IELVAR( lthvar + jcol ) ) - IF ( pi /= 0.0_wp ) THEN -!DIR$ IVDEP - DO irow = 1, nvarel - ijhess = ISYMMH( jcol, irow ) + ielhst - l = IELVAR( lthvar + irow ) - Q( l ) = Q( l ) + pi * HUVALS( ijhess ) - END DO - END IF - END DO - END IF - END DO - END IF - -! ==================== the product is complete ======================= - - RETURN - -! end of subroutine CUTEST_hessian_times_vector - - END SUBROUTINE CUTEST_hessian_times_vector - -!- C U T E S T _ h e s s i a n _ t i m e s _ s p _ v e c t o r SUBROUTINE - - - SUBROUTINE CUTEST_hessian_times_sp_vector( & - n, ng, nel, ntotel, nvrels, nvargp, nvar1, nvar2, & - nnonnz, nbprod, alllin, IVAR, ISTAEV, ISTADH, & - INTVAR, IELING, IELVAR, ISWKSP, INONNZ, P, Q, GVALS2, & - GVALS3, GRJAC, GSCALE, ESCALE, HUVALS, lhuval, GXEQX, & - INTREP, IGCOLJ, ISLGRP, ISVGRP, ISTAGV, IVALJR, & - ITYPEE, ISYMMH, ISTAJC, IUSED, LIST_elements, & - LINK_elem_uses_var, NZ_components_w, & - AP, W_el, W_in, H_in, RANGE ) - -! ---------------------------------------------------------------------- -! evaluate Q, the product of the hessian of a groups partially separable -! function with the sparse vector P. The nonzero components of P have -! indices IVAR( i ), i = nvar1, ..., nvar2. The nonzero components of -! the product Q have indices INNONZ( i ), i = 1, ..., nnonnz. The -! components of ISWKSP must be less than nbprod on entry; on exit they -! will be no larger than nbprod -! ---------------------------------------------------------------------- - -! History - -! fortran 77 version originally released in CUTE, September 23rd, 1991 -! fortran 90 version originally released pre GALAHAD Version 1.0. Febrauary -! 1st 1995 as HSPRD_hessian_times_vector as part of the HSPRD module -! update released with GALAHAD Version 2.0. February 16th 2005 with -! dense products removed -! fortran 2003 version released in CUTEst, 295th August 2014 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: n, ng, nel, ntotel, nvrels, nvar1, nvar2 - INTEGER, INTENT( IN ) :: nbprod, nvargp, lhuval - INTEGER, INTENT( INOUT ) :: nnonnz - LOGICAL, INTENT( IN ) :: alllin - INTEGER, INTENT( IN ), DIMENSION( * ) :: IVAR - INTEGER, INTENT( IN ), DIMENSION( nel + 1 ) :: ISTAEV, ISTADH - INTEGER, INTENT( IN ), DIMENSION( nel + 1 ) :: INTVAR - INTEGER, INTENT( IN ), DIMENSION( ntotel ) :: IELING - INTEGER, INTENT( IN ), DIMENSION( nvrels ) :: IELVAR - INTEGER, INTENT( IN ), DIMENSION( nel ) :: ITYPEE - INTEGER, INTENT( INOUT ), DIMENSION( ntotel ) :: ISWKSP - INTEGER, INTENT( INOUT ), DIMENSION( n ) :: INONNZ - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( n ) :: P - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GVALS2 - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GVALS3 - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ng ) :: GSCALE - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( nvargp ) :: GRJAC - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( ntotel ) :: ESCALE - REAL ( KIND = wp ), INTENT( IN ), DIMENSION( lhuval ) :: HUVALS - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( n ) :: Q - LOGICAL, INTENT( IN ), DIMENSION( ng ) :: GXEQX - LOGICAL, INTENT( IN ), DIMENSION( nel ) :: INTREP - INTEGER, INTENT( IN ), DIMENSION( : ) :: IGCOLJ - INTEGER, INTENT( IN ), DIMENSION( : ) :: ISLGRP - INTEGER, INTENT( IN ), DIMENSION( : ) :: ISVGRP - INTEGER, INTENT( IN ), DIMENSION( : ) :: ISTAGV - INTEGER, INTENT( IN ), DIMENSION( : ) :: IVALJR - INTEGER, INTENT( IN ), DIMENSION( : ) :: ISTAJC - INTEGER, INTENT( INOUT ), DIMENSION( : ) :: IUSED - INTEGER, INTENT( IN ), DIMENSION( : ) :: LIST_elements - INTEGER, INTENT( IN ), DIMENSION( : , : ) :: ISYMMH - - INTEGER, INTENT( IN ), DIMENSION( : ) :: LINK_elem_uses_var - INTEGER, INTENT( OUT ), DIMENSION( : ) :: NZ_components_w - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: AP - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: W_el - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: W_in - REAL ( KIND = wp ), INTENT( OUT ), DIMENSION( : ) :: H_in - -!----------------------------------------------- -! I n t e r f a c e B l o c k s -!----------------------------------------------- - - INTERFACE - SUBROUTINE RANGE( ielemn, transp, W1, W2, nelvar, ninvar, ieltyp, & - lw1, lw2 ) - INTEGER, INTENT( IN ) :: ielemn, nelvar, ninvar, ieltyp, lw1, lw2 - LOGICAL, INTENT( IN ) :: transp - REAL ( KIND = KIND( 1.0D+0 ) ), INTENT( IN ), DIMENSION ( lw1 ) :: W1 - REAL ( KIND = KIND( 1.0D+0 ) ), INTENT( OUT ), DIMENSION ( lw2 ) :: W2 - END SUBROUTINE RANGE - END INTERFACE - -!----------------------------------------------- -! L o c a l V a r i a b l e s -!----------------------------------------------- - - INTEGER :: i, iel, ig, ii, ipt, j, irow , jcol , ijhess , lthvar - INTEGER :: iell , nin, k, l , ll, nvarel, ielhst, nnz_components_w - REAL ( KIND = wp ) :: pi, gi, smallest - - smallest = TINY( 1.0_wp ) - -! ======================= rank-one terms ========================== - -! If the IG-th group is non-trivial, form the product of P with the -! sum of rank-one first order terms, A(trans) * GVALS3 * A. A is -! stored by both rows and columns. - - nnz_components_w = 0 - -! Form the matrix-vector product W = A * P, using the column-wise -! storage of A. Keep track of the nonzero components of W in NZ_components_w. -! Only store components corresponding to non trivial groups - - DO j = nvar1, nvar2 - i = IVAR( j ) - pi = P( i ) -!DIR$ IVDEP - DO k = ISTAJC( i ), ISTAJC( i + 1 ) - 1 - ig = IGCOLJ( k ) - IF ( IUSED( ig ) == 0 ) THEN - AP( ig ) = pi * GRJAC( k ) - IUSED( ig ) = 1 - nnz_components_w = nnz_components_w + 1 - NZ_components_w( nnz_components_w ) = ig - ELSE - AP( ig ) = AP( ig ) + pi * GRJAC( k ) - END IF - END DO - END DO - -! Reset IUSED to zero - - IUSED( NZ_components_w( : nnz_components_w ) ) = 0 - -! Form the matrix-vector product Q = A( TRANS ) * W, using the row-wise -! storage of A - - nnonnz = 0 - - DO j = 1, nnz_components_w - ig = NZ_components_w( j ) - IF ( .NOT. GXEQX( ig ) ) THEN - -! If group ig is non trivial, there are contributions from its rank-one term - - pi = GSCALE( ig ) * GVALS3( ig ) * AP( ig ) -!DIR$ IVDEP - DO k = ISTAGV( ig ), ISTAGV( ig + 1 ) - 1 - l = ISVGRP( k ) - -! If Q has a nonzero in position L, store its index in INONNZ - - IF ( IUSED( l ) == 0 ) THEN - Q( l ) = pi * GRJAC( IVALJR( k ) ) - IUSED( l ) = 1 - nnonnz = nnonnz + 1 - INONNZ( nnonnz ) = l - ELSE - Q( l ) = Q( l ) + pi * GRJAC( IVALJR( k ) ) - END IF - END DO - END IF - END DO - - IF ( .NOT. alllin ) THEN - -! ======================= second-order terms ======================= - -! Now consider the product of P with the second order terms (that is, the -! 2nd derivatives of the elements). - - DO j = nvar1, nvar2 - -! Consider each nonzero component of P separately - - i = IVAR( j ) - ipt = LINK_elem_uses_var( i ) - IF ( ipt >= 0 ) THEN - -! The index of the I-th component lies in the IEL-th nonlinear element - - iell = LIST_elements( i ) - 310 CONTINUE - -! Check to ensure that the IEL-th element has not already been used - - IF ( ISWKSP( iell ) < nbprod ) THEN - ISWKSP( iell ) = nbprod - iel = IELING( iell ) - nvarel = ISTAEV( iel + 1 ) - ISTAEV( iel ) - ig = ISLGRP( iell ) - IF ( GXEQX( ig ) ) THEN - gi = GSCALE( ig ) * ESCALE( iell ) - ELSE - gi = GSCALE( ig ) * ESCALE( iell ) * GVALS2( ig ) - END IF - IF ( INTREP( iel ) ) THEN - -! The IEL-th element Hessian has an internal representation. Copy the -! elemental variables into W - - ll = ISTAEV( iel ) - W_el( : nvarel ) = P( IELVAR( ll : ll + nvarel - 1 ) ) - -! Find the internal variables - - nin = INTVAR( iel + 1 ) - INTVAR( iel ) - CALL RANGE ( iel, .FALSE., W_el, W_in, nvarel, nin, & - ITYPEE( iel ), nvarel, nin ) - -! Multiply the internal variables by the element Hessian and put the -! product in W_in. Consider the first column of the element Hessian - - ielhst = ISTADH( iel ) - pi = gi * W_in( 1 ) - H_in( : nin ) = pi * HUVALS( ISYMMH( 1, : nin ) + ielhst ) - -! Now consider the remaining columns of the element Hessian - - DO jcol = 2, nin - pi = gi * W_in( jcol ) - IF ( pi /= 0.0_wp ) THEN - H_in( : nin ) = H_in( : nin ) + pi * & - HUVALS( ISYMMH( jcol, : nin ) + ielhst ) - END IF - END DO - -! Scatter the product back onto the elemental variables, W - - CALL RANGE ( iel, .TRUE., H_in, W_el, nvarel, nin, & - ITYPEE( iel ), nin, nvarel ) - -! Add the scattered product to Q - - ll = ISTAEV( iel ) -!DIR$ IVDEP - DO ii = 1, nvarel - l = IELVAR( ll ) - -! If Q has a nonzero in position L, store its index in INONNZ - - IF ( ABS( W_el( ii ) ) > smallest ) THEN - IF ( IUSED( l ) == 0 ) THEN - Q( l ) = W_el( ii ) - IUSED( l ) = 1 - nnonnz = nnonnz + 1 - INONNZ( nnonnz ) = l - ELSE - Q( l ) = Q( l ) + W_el( ii ) - END IF - END IF - ll = ll + 1 - END DO - -! The IEL-th element Hessian has no internal representation - - ELSE - lthvar = ISTAEV( iel ) - 1 - ielhst = ISTADH( iel ) - DO jcol = 1, nvarel - pi = gi * P( IELVAR( lthvar + jcol ) ) - IF ( pi /= 0.0_wp ) THEN -!DIR$ IVDEP - DO irow = 1, nvarel - ijhess = ISYMMH( jcol, irow ) + ielhst - -! If Q has a nonzero in position L, store its index in INONNZ - - IF ( ABS( HUVALS( ijhess ) ) > smallest ) THEN - l = IELVAR( lthvar + irow ) - IF ( IUSED( l ) == 0 ) THEN - Q( l ) = pi * HUVALS( ijhess ) - IUSED( l ) = 1 - nnonnz = nnonnz + 1 - INONNZ( nnonnz ) = l - ELSE - Q( l ) = Q( l ) + pi * HUVALS( ijhess ) - END IF - END IF - END DO - END IF - END DO - END IF - END IF - -! Check to see if there are any further elements whose variables -! include the I-th variable - - IF ( ipt > 0 ) THEN - iell = LIST_elements( ipt ) - ipt = LINK_elem_uses_var( ipt ) - GO TO 310 - END IF - END IF - END DO - END IF - -! ==================== the product is complete ======================= - -! Reset IUSED to zero - - IUSED( INONNZ( : nnonnz ) ) = 0 - RETURN - -! end of subroutine CUTEST_hessian_times_sp_vector - - END SUBROUTINE CUTEST_hessian_times_sp_vector - -! C U T E S T _ a l l o c a t e _ a r r a y _ i n t e g e r S U B R O U T I N E - - SUBROUTINE CUTEST_allocate_array_integer( ARRAY, new_length, alloc_status ) - -! ----------------------------------------------------------------------- -! reallocate an integer array so that its length is at least new_length. -! If the array is lready allocated and of length at least new_length, the -! allocation will be skipped and new_length replaced by SIZE(ARRAY) -! ----------------------------------------------------------------------- - -! History - -! fortran 2003 version first released in SIFDECODE/CUTEst, 26th November 2012 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( OUT ) :: alloc_status - INTEGER, INTENT( INOUT ) :: new_length - INTEGER, ALLOCATABLE, DIMENSION( : ) :: ARRAY - - IF ( ALLOCATED( ARRAY ) ) THEN - IF ( SIZE( ARRAY ) < new_length ) THEN - DEALLOCATE( ARRAY, STAT = alloc_status ) - IF ( alloc_status /= 0 ) RETURN - ELSE - new_length = SIZE( ARRAY ) - alloc_status = 0 - RETURN - END IF - END IF - ALLOCATE( ARRAY( new_length ), STAT = alloc_status ) - - RETURN - -! end of subroutine CUTEST_allocate_array_integer - - END SUBROUTINE CUTEST_allocate_array_integer - -! - C U T E S T _ a l l o c a t e _ a r r a y _ r e a l S U B R O U T I N E - - - SUBROUTINE CUTEST_allocate_array_real( ARRAY, new_length, alloc_status ) - -! ----------------------------------------------------------------------- -! reallocate a real array so that its length is at least new_length. -! If the array is lready allocated and of length at least new_length, the -! allocation will be skipped and new_length replaced by SIZE(ARRAY) -! ----------------------------------------------------------------------- - -! History - -! fortran 2003 version first released in SIFDECODE/CUTEst, 26th November 2012 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( OUT ) :: alloc_status - INTEGER, INTENT( INOUT ) :: new_length - REAL ( KIND = wp ), ALLOCATABLE, DIMENSION( : ) :: ARRAY - - IF ( ALLOCATED( ARRAY ) ) THEN - IF ( SIZE( ARRAY ) < new_length ) THEN - DEALLOCATE( ARRAY, STAT = alloc_status ) - IF ( alloc_status /= 0 ) RETURN - ELSE - new_length = SIZE( ARRAY ) - alloc_status = 0 - RETURN - END IF - END IF - ALLOCATE( ARRAY( new_length ), STAT = alloc_status ) - - RETURN - -! end of subroutine CUTEST_allocate_array_real - - END SUBROUTINE CUTEST_allocate_array_real - -!- C U T E S T _ e x t e n d _ a r r a y _ i n t e g e r S U B R O U T I N E - - - SUBROUTINE CUTEST_extend_array_integer( ARRAY, old_length, used_length, & - new_length, min_length, buffer, & - status, alloc_status ) - -! ------------------------------------------------------------------------- -! extend an integer array so that its length is increaed from old_length to -! as close to new_length as possible while keeping existing data intact -! ------------------------------------------------------------------------- - -! History - -! fortran 90 version released pre GALAHAD Version 1.0. February 7th 1995 as -! EXTEND_array_integer as part of the GALAHAD module EXTEND -! fortran 2003 version released in SIFDECODE/CUTEst, 5th November 2012 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: old_length, buffer - INTEGER, INTENT( OUT ) :: status, alloc_status - INTEGER, INTENT( INOUT ) :: used_length, min_length, new_length - INTEGER, ALLOCATABLE, DIMENSION( : ) :: ARRAY - - INTEGER :: length - LOGICAL :: file_open - INTEGER, ALLOCATABLE, DIMENSION( : ) :: DUMMY - -! make sure that the new length is larger than the old - - IF ( new_length <= old_length ) new_length = 2 * old_length - -! ensure that the input data is consistent - - used_length = MIN( used_length, old_length ) - min_length = MAX( old_length + 1, MIN( min_length, new_length ) ) - -! if possible, allocate DUMMY to hold the old values of ARRAY - - ALLOCATE( DUMMY( used_length ), STAT = alloc_status ) - -! if the allocation failed, resort to using an external unit - - IF ( alloc_status /= 0 ) GO TO 100 - - DUMMY( : used_length ) = ARRAY( : used_length ) - -! extend the length of ARRAY - - DEALLOCATE( ARRAY ) - length = new_length - - 10 CONTINUE - ALLOCATE( ARRAY( length ), STAT = alloc_status ) - -! if the allocation failed, reduce the new length and retry - - IF ( alloc_status /= 0 ) THEN - length = length + ( length - min_length ) / 2 - -! if there is insufficient room for both ARRAY and DUMMY, use an external unit - - IF ( length < min_length ) THEN - -! rewind the buffer i/o unit - - INQUIRE( UNIT = buffer, OPENED = file_open ) - IF ( file_open ) THEN - REWIND( UNIT = buffer ) - ELSE - OPEN( UNIT = buffer ) - END IF - -! copy the contents of ARRAY into the buffer i/o area - - WRITE( UNIT = buffer, FMT = * ) DUMMY( : used_length ) - -! extend the length of ARRAY - - DEALLOCATE( DUMMY ) - GO TO 110 - END IF - GO TO 10 - END IF - -! copy the contents of ARRAY back from the buffer i/o area - - ARRAY( : used_length ) = DUMMY( : used_length ) - DEALLOCATE( DUMMY ) - new_length = length - GO TO 200 - -! use an external unit for writing - - 100 CONTINUE - -! rewind the buffer i/o unit - - INQUIRE( UNIT = buffer, OPENED = file_open ) - IF ( file_open ) THEN - REWIND( UNIT = buffer ) - ELSE - OPEN( UNIT = buffer ) - END IF - -! copy the contents of ARRAY into the buffer i/o area - - WRITE( UNIT = buffer, FMT = * ) ARRAY( : used_length ) - -! extend the length of ARRAY - - DEALLOCATE( ARRAY ) - - 110 CONTINUE - ALLOCATE( ARRAY( new_length ), STAT = alloc_status ) - -! if the allocation failed, reduce the new length and retry - - IF ( alloc_status /= 0 ) THEN - new_length = min_length + ( new_length - min_length ) / 2 - IF ( new_length < min_length ) THEN - status = 12 - RETURN - END IF - GO TO 110 - END IF - -! copy the contents of ARRAY back from the buffer i/o area - - REWIND( UNIT = buffer ) - READ( UNIT = buffer, FMT = * ) ARRAY( : used_length ) - -! successful exit - - 200 CONTINUE - status = 0 - RETURN - -! end of subroutine CUTEST_extend_array_integer - - END SUBROUTINE CUTEST_extend_array_integer - -!-*- C U T E S T _ e x t e n d _ a r r a y _ r e a l S U B R O U T I N E -*- - - SUBROUTINE CUTEST_extend_array_real( ARRAY, old_length, used_length, & - new_length, min_length, buffer, & - status, alloc_status ) - -! --------------------------------------------------------------------- -! extend a real array so that its length is increaed from old_length to -! as close to new_length as possible while keeping existing data intact -! --------------------------------------------------------------------- - -! History - -! fortran 90 version released pre GALAHAD Version 1.0. February 7th 1995 as -! EXTEND_array_real as part of the GALAHAD module EXTEND -! fortran 2003 version released in SIFDECODE/CUTEst, 5th November 2012 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: old_length, buffer - INTEGER, INTENT( OUT ) :: status, alloc_status - INTEGER, INTENT( INOUT ) :: used_length, min_length, new_length - REAL ( KIND = wp ), ALLOCATABLE, DIMENSION( : ) :: ARRAY - - INTEGER :: length - LOGICAL :: file_open - REAL ( KIND = wp ), ALLOCATABLE, DIMENSION( : ) :: DUMMY - -! make sure that the new length is larger than the old - - IF ( new_length <= old_length ) new_length = 2 * old_length - -! ensure that the input data is consistent - - used_length = MIN( used_length, old_length ) - min_length = MAX( old_length + 1, MIN( min_length, new_length ) ) - -! if possible, allocate DUMMY to hold the old values of ARRAY - - ALLOCATE( DUMMY( used_length ), STAT = alloc_status ) - -! if the allocation failed, resort to using an external unit - - IF ( alloc_status /= 0 ) GO TO 100 - - DUMMY( : used_length ) = ARRAY( : used_length ) - -! extend the length of ARRAY - - DEALLOCATE( ARRAY ) - length = new_length - - 10 CONTINUE - ALLOCATE( ARRAY( length ), STAT = alloc_status ) - -! if the allocation failed, reduce the new length and retry - - IF ( alloc_status /= 0 ) THEN - length = length + ( length - min_length ) / 2 - -! if there is insufficient room for both ARRAY and DUMMY, use an external unit - - IF ( length < min_length ) THEN - -! rewind the buffer i/o unit - - INQUIRE( UNIT = buffer, OPENED = file_open ) - IF ( file_open ) THEN - REWIND( UNIT = buffer ) - ELSE - OPEN( UNIT = buffer ) - END IF - -! copy the contents of ARRAY into the buffer i/o area - - WRITE( UNIT = buffer, FMT = * ) DUMMY( : used_length ) - -! extend the length of ARRAY - - DEALLOCATE( DUMMY ) - GO TO 110 - END IF - GO TO 10 - END IF - -! copy the contents of ARRAY back from the buffer i/o area - - ARRAY( : used_length ) = DUMMY( : used_length ) - DEALLOCATE( DUMMY ) - new_length = length - GO TO 200 - -! use an external unit for writing - - 100 CONTINUE - -! rewind the buffer i/o unit - - INQUIRE( UNIT = buffer, OPENED = file_open ) - IF ( file_open ) THEN - REWIND( UNIT = buffer ) - ELSE - OPEN( UNIT = buffer ) - END IF - -! copy the contents of ARRAY into the buffer i/o area - - WRITE( UNIT = buffer, FMT = * ) ARRAY( : used_length ) - -! extend the length of ARRAY - - DEALLOCATE( ARRAY ) - - 110 CONTINUE - ALLOCATE( ARRAY( new_length ), STAT = alloc_status ) - -! if the allocation failed, reduce the new length and retry - - IF ( alloc_status /= 0 ) THEN - new_length = min_length + ( new_length - min_length ) / 2 - IF ( new_length < min_length ) THEN - status = 12 - RETURN - END IF - GO TO 110 - END IF - -! copy the contents of ARRAY back from the buffer i/o area - - REWIND( UNIT = buffer ) - READ( UNIT = buffer, FMT = * ) ARRAY( : used_length ) - -! successful exit - - 200 CONTINUE - status = 0 - RETURN - -! end of subroutine CUTEST_extend_array_real - - END SUBROUTINE CUTEST_extend_array_real - -!-*-*-*-*-*-*-*- C U T E S T _ s y m m h S U B R O U T I N E -*-*-*-*-*-*-*-*- - - SUBROUTINE CUTEST_symmh( maxszh, ISYMMH ) - -! ------------------------------------------------------------- -! Given a columnwise storage scheme of the upper triangle of a -! symmetric matrix of order MAXSZH, compute the position of the -! i,j-th entry of the symmetric matrix in this scheme - -! The value ISYMMH( i, j ) + 1 gives the position of the i,j-th -! entry of the matrix in the upper triangular scheme -! ------------------------------------------------------------- - -! History - -! fortran 77 version originally released in CUTE, September 23rd, 1991 -! fortran 90 version released pre GALAHAD Version 1.0. January 26th 1995 as -! OTHERS_symmh as part of the GALAHAD module OTHERS -! fortran 2003 version released in CUTEst, 5th November 2012 - -!----------------------------------------------- -! D u m m y A r g u m e n t s -!----------------------------------------------- - - INTEGER, INTENT( IN ) :: maxszh - INTEGER, INTENT( OUT ), DIMENSION( maxszh, maxszh ) :: ISYMMH - -!----------------------------------------------- -! L o c a l V a r i a b l e s -!----------------------------------------------- - - INTEGER :: i, j, k - - k = 0 - DO j = 1, maxszh - DO i = 1, j - 1 - ISYMMH( i, j ) = k ; ISYMMH( j, i ) = k ; k = k + 1 - END DO - ISYMMH( j, j ) = k ; k = k + 1 - END DO - RETURN - -! end of subroutine CUTEST_symmh - - END SUBROUTINE CUTEST_symmh - -!-*- C U T E S T _ i n i t i a l i z e _ t h r e a d S U B R O U T I N E -*- - - SUBROUTINE CUTEST_initialize_thread( data, work, constrained, status, & - alloc_status, bad_alloc ) - -! dummy arguments - - TYPE ( CUTEST_data_type ), INTENT( IN ) :: data - TYPE ( CUTEST_work_type ), INTENT( OUT ) :: work - INTEGER, INTENT( OUT ) :: status, alloc_status - LOGICAL, INTENT( IN ) :: constrained - CHARACTER ( LEN = 24 ), INTENT( OUT ) :: bad_alloc - -! set default output values - - status = 0 ; alloc_status = 0 ; bad_alloc = REPEAT( ' ', 24 ) - -! set scalar values - - work%lh_row = lmin ; work%lh_col = lmin ; work%lh_val = lmin - work%nc2of = 0 ; work%nc2og = 0 ; work%nc2oh = 0 - work%nc2cf = 0 ; work%nc2cg = 0 ; work%nc2ch = 0 ; work%nhvpr = 0 - work%njvpr = 0 ; work%pnc = data%numcon - work%firstg = .TRUE. - -! allocate arrays - - ALLOCATE( work%ISWKSP( MAX( data%ntotel, data%nel, data%n ) ), & - STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%ISWKSP' ; GO TO 910 - END IF - - ALLOCATE( work%ICALCF( MAX( data%nel, data%ng ) ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%ICALCF' ; GO TO 910 - END IF - - ALLOCATE( work%ISTAJC( data%n + 1 ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%ISTAJC' ; GO TO 910 - END IF - - ALLOCATE( work%IUSED( MAX( data%n, data%ng ) ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%IUSED' ; GO TO 910 - END IF - - ALLOCATE( work%NZ_components_w( data%ng ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%NZ_components_w' ; GO TO 910 - END IF - - ALLOCATE( work%FUVALS( data%lfuval ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%FUVALS' ; GO TO 910 - END IF - - ALLOCATE( work%FT( data%ng ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%FT' ; GO TO 910 - END IF - - ALLOCATE( work%GSCALE_used( data%ng ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%GSCALE_used' ; GO TO 910 - END IF - - ALLOCATE( work%GVALS( data%ng, 3 ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%GVALS' ; GO TO 910 - END IF - - ALLOCATE( work%H_el( data%maxsel ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%H_el' ; GO TO 910 - END IF - - ALLOCATE( work%H_in( data%maxsin ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%H_in' ; GO TO 910 - END IF - - ALLOCATE( work%W_ws( MAX( data%n, data%ng ) ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%W_ws' ; GO TO 910 - END IF - - ALLOCATE( work%W_el( data%maxsel ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%W_el' ; GO TO 910 - END IF - - ALLOCATE( work%W_in( data%maxsin ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%W_in' ; GO TO 910 - END IF - - IF ( constrained ) THEN - ALLOCATE( work%G_temp( data%n ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%G_temp' ; GO TO 910 - END IF - - ALLOCATE( work%LOGIC( data%nel ), STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%LOGIC' ; GO TO 910 - END IF - END IF - - RETURN - -! unsuccessful returns - - 910 CONTINUE - IF ( data%out > 0 ) & - WRITE( data%out, "( ' ** Message from -CUTEST_initialize_thread-', & - & /, ' Allocation error (status = ', I0, ') for ', A )" ) & - alloc_status, bad_alloc - RETURN - -! end of subroutine CUTEST_initialize_thread - - END SUBROUTINE CUTEST_initialize_thread - -!-*-*- C U T E S T _ t e r m i n a t e _ d a t a S U B R O U T I N E -*-*- - - SUBROUTINE CUTEST_terminate_data( data, status, alloc_status, bad_alloc ) - -! dummy arguments - - TYPE ( CUTEST_data_type ), INTENT( INOUT ) :: data - INTEGER, INTENT( OUT ) :: status, alloc_status - CHARACTER ( LEN = 24 ), INTENT( OUT ) :: bad_alloc - -! set default output values - - status = 0 ; alloc_status = 0 ; bad_alloc = REPEAT( ' ', 24 ) - -! delallocate any array in data that has been allocated - - IF ( ALLOCATED( data%ISTADG ) ) THEN - DEALLOCATE( data%ISTADG, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISTADG' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ISTGP ) ) THEN - DEALLOCATE( data%ISTGP, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISTGP' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ISTADA ) ) THEN - DEALLOCATE( data%ISTADA, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISTADA' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ISTAEV ) ) THEN - DEALLOCATE( data%ISTAEV, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISTAEV' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ISTEP ) ) THEN - DEALLOCATE( data%ISTEP, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISTEP' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ITYPEG ) ) THEN - DEALLOCATE( data%ITYPEG, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ITYPEG' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%KNDOFC ) ) THEN - DEALLOCATE( data%KNDOFC, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%KNDOFC' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ITYPEE ) ) THEN - DEALLOCATE( data%ITYPEE, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ITYPEE' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%IELING ) ) THEN - DEALLOCATE( data%IELING, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%IELING' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%IELVAR ) ) THEN - DEALLOCATE( data%IELVAR, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%IELVAR' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ICNA ) ) THEN - DEALLOCATE( data%ICNA, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ICNA' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ISTADH ) ) THEN - DEALLOCATE( data%ISTADH, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISTADH' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%INTVAR ) ) THEN - DEALLOCATE( data%INTVAR, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%INTVAR' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%IVAR ) ) THEN - DEALLOCATE( data%IVAR, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%IVAR' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ITYPEV ) ) THEN - DEALLOCATE( data%ITYPEV, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ITYPEV' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%CGROUP ) ) THEN - DEALLOCATE( data%CGROUP, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%CGROUP' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ISTAGV ) ) THEN - DEALLOCATE( data%ISTAGV, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISTAGV' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ISVGRP ) ) THEN - DEALLOCATE( data%ISVGRP, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISVGRP' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ISLGRP ) ) THEN - DEALLOCATE( data%ISLGRP, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISLGRP' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%IGCOLJ ) ) THEN - DEALLOCATE( data%IGCOLJ, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%IGCOLJ' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%IVALJR ) ) THEN - DEALLOCATE( data%IVALJR, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%IVALJR' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%LINK_elem_uses_var ) ) THEN - DEALLOCATE( data%LINK_elem_uses_var, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%LINK_elem_uses_var' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ISYMMH ) ) THEN - DEALLOCATE( data%ISYMMH, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISYMMH' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%LIST_elements ) ) THEN - DEALLOCATE( data%LIST_elements, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ISYMMH' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%A ) ) THEN - DEALLOCATE( data%A, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%A' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%B ) ) THEN - DEALLOCATE( data%B, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%B' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%U ) ) THEN - DEALLOCATE( data%U, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%U' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%GPVALU ) ) THEN - DEALLOCATE( data%GPVALU, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%GPVALU' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%EPVALU ) ) THEN - DEALLOCATE( data%EPVALU, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%EPVALU' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%ESCALE ) ) THEN - DEALLOCATE( data%ESCALE, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%ESCALE' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%GSCALE ) ) THEN - DEALLOCATE( data%GSCALE, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%GSCALE' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%VSCALE ) ) THEN - DEALLOCATE( data%VSCALE, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%VSCALE' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%INTREP ) ) THEN - DEALLOCATE( data%INTREP, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%INTREP' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%GXEQX ) ) THEN - DEALLOCATE( data%GXEQX, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%GXEQX' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%GNAMES ) ) THEN - DEALLOCATE( data%GNAMES, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%GNAMES' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( data%VNAMES ) ) THEN - DEALLOCATE( data%VNAMES, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'data%VNAMES' ; GO TO 600 ; END IF - END IF - RETURN - -! unsuccessful returns - - 600 CONTINUE - status = 1000 + alloc_status - IF ( data%out > 0 ) WRITE( data%out, & - "( ' ** Message from -CUTEST_terminate_data-', /, ' Deallocation ', & - & 'error for ', A, ', status = ', I0 )" ) bad_alloc, alloc_status - RETURN - -! end of subroutine CUTEST_terminate_data - - END SUBROUTINE CUTEST_terminate_data - -!-*-*- C U T E S T _ t e r m i n a t e _ w o r k S U B R O U T I N E -*-*- - - SUBROUTINE CUTEST_terminate_work( data, work, status, & - alloc_status, bad_alloc ) - -! dummy arguments - - TYPE ( CUTEST_data_type ), INTENT( INOUT ) :: data - TYPE ( CUTEST_work_type ), INTENT( INOUT ) :: work - INTEGER, INTENT( OUT ) :: status, alloc_status - CHARACTER ( LEN = 24 ), INTENT( OUT ) :: bad_alloc - -! set default output values - - status = 0 ; alloc_status = 0 ; bad_alloc = REPEAT( ' ', 24 ) - -! delallocate any array in work that has been allocated - - IF ( ALLOCATED( work%ICALCF ) ) THEN - DEALLOCATE( work%ICALCF, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%ICALCF' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%ROW_start ) ) THEN - DEALLOCATE( work%ROW_start, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%ROW_start' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%POS_in_H ) ) THEN - DEALLOCATE( work%POS_in_H, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%POS_in_H' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%USED ) ) THEN - DEALLOCATE( work%USED, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%USED' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%FILLED ) ) THEN - DEALLOCATE( work%FILLED, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%FILLED' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%H_row ) ) THEN - DEALLOCATE( work%H_row, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%H_row' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%H_col ) ) THEN - DEALLOCATE( work%H_col, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%H_col' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%ISTAJC ) ) THEN - DEALLOCATE( work%ISTAJC, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%ISTAJC' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%ISWKSP ) ) THEN - DEALLOCATE( work%ISWKSP, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%ISWKSP' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%IUSED ) ) THEN - DEALLOCATE( work%IUSED, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%IUSED' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%NZ_components_w ) ) THEN - DEALLOCATE( work%NZ_components_w, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%NZ_components_w' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%GSCALE_used ) ) THEN - DEALLOCATE( work%GSCALE_used, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%GSCALE_used' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%G_temp ) ) THEN - DEALLOCATE( work%G_temp, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%G_temp' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%FT ) ) THEN - DEALLOCATE( work%FT, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%FT' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%H_val ) ) THEN - DEALLOCATE( work%H_val, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%H_val' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%FUVALS ) ) THEN - DEALLOCATE( work%FUVALS, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%FUVALS' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%W_ws ) ) THEN - DEALLOCATE( work%W_ws, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%W_ws' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%W_el ) ) THEN - DEALLOCATE( work%W_el, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%W_el' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%W_in ) ) THEN - DEALLOCATE( work%W_in, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%W_in' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%H_el ) ) THEN - DEALLOCATE( work%H_el, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%H_el' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%H_in ) ) THEN - DEALLOCATE( work%H_in, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%H_in' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%GVALS ) ) THEN - DEALLOCATE( work%GVALS, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%GVALS' ; GO TO 600 ; END IF - END IF - - IF ( ALLOCATED( work%LOGIC ) ) THEN - DEALLOCATE( work%LOGIC, STAT = alloc_status ) - IF ( alloc_status /= 0 ) THEN - bad_alloc = 'work%LOGIC' ; GO TO 600 ; END IF - END IF - work%array_status = .FALSE. - work%hessian_setup_complete = .FALSE. - RETURN - -! unsuccessful returns - - 600 CONTINUE - status = 1000 + alloc_status - IF ( data%out > 0 ) WRITE( data%out, & - "( ' ** Message from -CUTEST_terminate_work-', /, ' Deallocation ', & - & 'error for ', A, ', status = ', I0 )" ) bad_alloc, alloc_status - RETURN - -! end of subroutine CUTEST_terminate_work - - END SUBROUTINE CUTEST_terminate_work - -! end of module CUTEST - - END MODULE CUTEST diff --git a/objects/pc64.lnx.gfo/double/algencan_main.o b/objects/pc64.lnx.gfo/double/algencan_main.o deleted file mode 100644 index 1de6ade06077c13f77f2c0da56d9b33ad9c93f61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19856 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 diff --git a/objects/pc64.lnx.gfo/double/bobyqa_main.o b/objects/pc64.lnx.gfo/double/bobyqa_main.o deleted file mode 100644 index c63ecae54f08d56d4708809667a32b4dde6db2c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8432 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 diff --git a/objects/pc64.lnx.gfo/double/cg_descent_main.o b/objects/pc64.lnx.gfo/double/cg_descent_main.o deleted file mode 100644 index a355cc5aeecaa53df1c382d62b1a3d8993fe82f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16472 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

UGrT(p9s;<;yqbEV%273eFd0NNiX zd(00nDz4h&5K_mSdyVY5hQ~Ua2MwqEc)#%S2H9I&gk#liB~QTt`qb?OjhpW)koLO$ z5zxKH-%fm)LfI*|?)bw`dS#Dmc33=PgZ_PrujaM*xq{z2x;=h3X+s1QxE|NZomik% W>iNTAt|8KJn%e(4*Uju!xBo8>>(Rad diff --git a/objects/pc64.lnx.gfo/double/cgplus_main.o b/objects/pc64.lnx.gfo/double/cgplus_main.o deleted file mode 100644 index cc3aa181e4d58bf8b260341b60891b19a2359312..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8904 zcmbuEeQ;b=6~ON{X&azs(^9br!UfhQlys9#n|?5W*<_Qv=(f#}1j>hQUv}T73;X5U zx3mZpI!UBE>6SX8GLAZR6sP0(M+fUnsU0YV(&C6XIz#av0Y_-DC^XDqM~mw@_uadD z-pf8gy)(P_zTZ9f+;h*lUvKx}{^-CwpO2~JW4Ex{lcJ36x~f+05yc+1n69?cA1h3w2_P@_dv*+qR$?TQ9R)w7|$wgR^D%U|YsWQBBhvCdS0+&4i*VC3Hmcahf2oe&TFI=omS5*J!W#=!5=68T7%t9O{CN<>n*w}{BxhTwVoEKX8Q+DO2?X2bw zZSsW{fqZr8iyi+f=DkW_F7P!ZkwktiMGJ6>>4wXE11IFFGt@H+j^z z{<#O2L0#nd`J}(&xoxMDVSjM+_<8@}t7qSs{+)k%62!F`G2#Rde#u853NhRQBA8@Y#fxoZwoLs7@f9_3>@U+O$3$fT&ZG0Bbf+m||mC$`2X>N$70 z>Wr*NM?i73?e5VkPuH_RgC#2FtXA#@R3m;Z0m%vkeBA+f6Vi`S^4GyqP z(FhyZbnAxj=xBe0wejvYJ{0O~=Nt_)s$~brPF-e;Himh z&NLFB3PxSEyOj^5vU-~5#_uuWR_Z>3CyQAqzL zfetb}m*f+so=6#4t7fiKN!5Th98}lpw$>G`5Rz8jH#XW|u!MtB1uGRVVBfNycXZVB z$x?eOAJ*gd>JtVp7K{X~zmbFYZ;(!&+fs?51{oQJR1O-Tc^GF5Bu^Ef;X3e@nbIM? z1=U#OH``C31?JtyXqX!S)b+n&nlw|Uu~hTdjgZtQJt+dV(r z-1+qd;pTOd3kRF`E@)_OXnq17_bo`_(?>pd8iJ>x=Kb(F0G~rpdld4M@cHcm9i$lc zKPCGSdt{^;jsfq4`)MOPSE(n_P~B~vwG9m4M(3u6>aJa@!>xNB(IdtV3|}ODL{Fn^ za;@MC@HQ!u@>z#?5|=GmV`uo5$Jl(1Lk}9zaw}@(_7LWMG=}d9)*i`j{s!fT)Li?RiLCABGuTux4 ztSd_1q8u#w1CT2pOC&P9uGQl|^x!}D;J@+UZ+q~MJa`L?r=C4md+_BRyxW6o9z5m2 zcY5&ec<`Ti@FTz%v)PIoo0>1jJov9X^qlhGfArvg^Wcl%KB#PgP*hWg2k!;G1Xi$G z&+0xl=plcn2X|c@H-v{a#$qg$i;WkPNy7|wvRoc_@UbFXrK7%!qO`IT8&@b zqC$MH#o{{rS}&m8M#zUmgOF$uTEk)!$((7KdNx+DV!6DLbrRFqmdYmFOs51J7r@F` zDr*@NhDn60Ri>e*35TwLBw~qN)^Or@I#)1Qyl5F9Q%t})oQ<)Jj%Qhw77VMHk2%|I zGgB5-Rqa_C6>|%KdV%KJkjsNBOgK=h9cJ~6QGgByqnmoe(b%Sefsy{v*l4&n+8=|^ zB@!`a7U9;NgePfvE;)f!Nj+0zrjZ9%Q^TuPqJQR?Sgnn3)lEHafs5@?s7`=n;Pz}8 z=%SP(a)uSt&4~ha5+FH?Sf`xXFdfAneZfBOD|Zr(yRqW-zKUlUWB5X<_sK- zj%T&9|3%4hyo(6G3;`s!-&RVF8P+L1T}1wKgg-<${xq-Tzv023^x(hr;IDY_e|Yeq zydPjS7L`5SgyXpIgXtz0SMp)WQ4aT1#cw0>cvdKW58?Q$mEzwbdN|=fCHxw~pCbHP z!e1o(I>KiO4-kI293c7u?_|oJYY4|Xq2hN-z5*EjaG`jf@K(aV>A`j{LCsuR9mlIC?_88&tx>42hq~thWI<8kFN53s5@}~&L zyR5Qjp8SEtEx$%`v=jSK@)-~LeS}j#93&imc&h4oo#^L;|DEs~2wx@B54R9b z_th^Ez7q5)|HKHV>-4LVqd&2z0j`(9crF8XI8d6+Sw?Vh;oI*Zz#O|GTs?l-=$B4dD`n>;M1& diff --git a/objects/pc64.lnx.gfo/double/cobyla_main.o b/objects/pc64.lnx.gfo/double/cobyla_main.o deleted file mode 100644 index 72599be3973f8555e3a3de9cdebf62f7aafbba9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12440 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 JZ|cX&|33wzqMZN$ diff --git a/objects/pc64.lnx.gfo/double/derchk_main.o b/objects/pc64.lnx.gfo/double/derchk_main.o deleted file mode 100644 index 6468e64192aef9c357de16e5afe8a23897c9f4b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14448 zcmbta4{%$>nP1sX;<~Biln`8M;L*rEC&WUs9pbnlkzy%%1{K`e0pFD%EBX^F*pg3r z3J%RBrm_o0QDCNjj!ds}nM`5QD_2T~^!SsI&^W{gH$6yZN(yr=e~ueG=@szJaVcES z_kH_zrBBaV!`$tR-tPYP_kH{Ax8LsDefIu9a7&fV#$>XwjjU9YC}ZySQrXLkUbc+Y zv;S~h{ZX%P@?+oRte)TNtk?5~vq8`Mo!VJ%E%MHKYk0 z%$#P{j9Fmf^?f($ljj4IuRnwJSx5cnM1DEu7nkOkP0#((7F_?Du^d`!&c_|sKY#ZO zJeR++`<;t#1SZZo4*oSz{gba)Ra}KC;*RF?7d<&|v+d%SW__UHWz?{{JMQBu*5$lQ zZDSj*U`BV&tMR_{^)DLw*oGC%sL6S2&Bil1Zw-_HJC^f0Z5Ln7dFyRCZ-edPX;jqs z%I>65yU*EP~{oddA!#qUwd`%O&K%X3U>Hv67 zo%K8GR|5k1^3R%i!(wCrphM0JJ+ja*3j?w+hy~!9{`EV#gQ31g;CvSJLZ7oyFW`h0 z)?&lE_{i;bHZsS=H87)k!N9h?PEF7AsnGL$CL~V--WABpFG5LwzFE(6KR;6o)qEQU zi<^`6Nx#!g(2gS7K~QfI^#&&X-7)@gHR|RX^VNkB+cOxnsC1x694K!XEH(_94Yfi- zFE;4q4L!w%p7MtNVne@P2s)Rew;G5?a=)()7W~e3Uk_#-X12lCGxwzPe&|$WmTGyU zsC7^NCTM!l>@qhs0F!{ueXWWyKIrE#2yo;hMXN?io@pPmeOUC(Xpu2mbnS6&l4uy` zmE2d@zID%nR#0mqdST54+Sy;3@t{uzn4UXr6O+8YVgIlA_G!e?;upY`g!&e59+?PsvgLB}taF46Pf<$lxi%UkbXTBYYs!TxZm zF8g-Tefb(UYVL-X?%eZra#5^j`~U9$)Ejq4rQXbj1$u)OYeoT1)WqwsYH-{GFPQlt z<`BJlVcarL`%my$ z(DTQg7%iqpC!fcc9@d37`kY`=$q{}yYG{Fp53^r}SkC%{R#>)sUAfE3D4Y((sn8IoLK&-g9IWTZ!Q%M?-Z0`|2PLs}K*`HRa3zcL z7L>#;3?;GcLTRAL6PtJGZQNuzlWe$Pa?4I2Z{Ui%U;3!D9QT!^AL34_EX|i_6wfbU zi)QMFLl7RlqxyB`S==$P3kbL|G5y{tJf?qRyYCL)cHf=8(CNw^JV|!`15R^J`PtdB zr}5>V9f<3WE}*?7YW=7;Ue(Z|KKJI{=oCzQIH72*@Zh8UeO@N4WO?L zvBUO(oYKug9d78T?l2m%u(}t~41B}sla0;Ag$q+?O3ym(lxF+EEy8trzL9(DrMRO{ z-e)7-K;4l z1jc7hhz`e?nX6F~tRnO#w*)Kb3tpMo^ha!7I6%Nz@aiyqUy(ZV;>TtuxEM{n5Absn zeO*reVdmVWxjEhpv|G3J_4>QFxT36UTVEh!Xt8uUm3GzncBIlqBDvF5$8O0E$I^*N zc!>G@?6z<^5#BKrV@)1+M$?*FTT9P%nK~9gai*@Tz7p@gxgoH?Hd>MAhj^LC`N$!NJU z7|(oOYR9fv#7OLpY4L0l3NS3mTkBf4(;P93x5V3-4o4F)bKG2?f~UtanM9bYGy5&$ ziPo0g(0eMajijRyL)cfwqkb+~IKN-YD_OWOuVkT>7Z`=`j$lxgC(a{ruqBZU4{7mo zQU(9@#tbbxq8W+da*d`wS8H6$#9#zbh(SzRZ)yl;WFB42-+X?>rKmJ7w>m>^$Ip>)@WiMl;{GQQ(_ex*9LOb;FgL;E0cDzlp(>8-bHV{lG5g&4jfG4U^?klXJ0I>ar!TkQ{3S3hmDKU}@lei(j7;rBE6Jq5p0)js<)U&Y64#InY$45~4fkUogAIw#1t!CI-p3n`9!L`tmO#d!nwHEvfyv|>pWi40p z8r;q-X(g{OVsbx}&CR^9gwL_WFmK_N#jJ;dP;TS(MeH^UzMj_?voQ<4N#I8CW{5t}F*@7Pu_$3Sew*uEJ!TN~6do1`*1U_cLpWyf+ zmgafs@ejPXgs=A!${7E+!N3m`gz_&1U$fw6dEFZ2jQx|~n{iqadPU$?{jYL-(Y(0* z7lE%VsoG}U|33x(KndcdkKy@wvflY#2v{}56XLSY_d&pG z0k7wh<&PB#d=22sV5gCu!@U_3-u4maf6s!t#Qh3Ay$U?6z_SW`T!G_yt2C}3D)1u; z{0RkqN`X%)@Rt=huJcNEzNf&eV7*o1+ZFib3Vfvkzg~g2EARl|IPWsa($@qo>oRB2 zSUNIzS7;c{#jXf*1-sn%@Zh5rA8q(($H!WHc-HY}2Y;@|XDb(IH6^%6E0<~ILakh? z^#;!5vaMXUmCLqq*)}fQW_HJA+qi5Smu=&+ZCtjE%eHY@4tw~MxA7+4;xUI{+RJr& zxNZ;E?cuuH-E3zJE@kl)!=bY{T+!0uWC(9WAr{&iymhlL7`k=Kmfk>LsL!`K7zl}5 zT__31zG4|JA1snJVi_Y8iNaYCgw5*?cywqe6)85twIdYC#Ek4nsE8%Q!?8?JAfArJ zSSU1-25LM6lfq(frj=y4DpA?2kR3_gU1aP`msF=?BQT;+aa?#8j1`-~;PfyYgbf14 z!Ssv);gAL+;=~F$JS4=2!=um)SGmYtXksWHP7KKrCzJOKlJYK$!Fxm?Liq7BBix~R z`WC@47A1ay;P?uX_!)vz{=dSy#Dx0sG$i>m0!OZk;ERw5X*K-Z@RR(d1osepnZQv` zE5UKSVzTOKAvo2uk?6rQlVD!OZ4NXE$Po+EBGC_7$8~4>nAuJ@1qL*n82}{8{jAVtrk}dtNuEHBOm`` zL-MZ_IEE1xCBBOA*Acvp;CNS*{7#|=Z%Y#ICVZ-=m*7;-Unuk>2%qZ75S;3{kKi;; z4lD4d75F&?J|}RipKHWb5&ev3QR#;(1&)5E{#ix%bX;u&r{n5W=;2MM3{dx+q)-$w~fXIq{Xp@{1a9@iD#EAp7$o?OpiBDsPJ!dNuqg3i!l&ah2)~Z-a|-?ggpdE& zB=sLs@E;+3yo*WxlM4Q`0=N2Mis-?=n@Bz96?$GHdg#2oP4w7_o>_$+`N0VNiQlMX zzYcU3B%DX;&#MHE{CfCF{u%|plkk@jez$^uJK=wx@Z$>pZo&ewf0ppCAbcAJA0(^)mkAvG-vB>pkEYXQD{@n`xeT0wSkEQ+JSMVPt{HqB6n1X+t@bO!z)c=x#e~$34A^bNL z{7VGKkMUCf=fsB?oG-eMU7^6QRp8et@U;qjlLGHn;Jpfby8@32d^L=VzBl(P_zx)f zKTz@s4b26IKjMwq#FWHQW^PGJS<9v6IsrB(P; zE2@!LokhhLs)@8m+$h&DLQ0@`(=wF(o z-7?QWqbyV2ULj90EL*ubz;K_TYZ7^5LSDlPNpjp0`T-PBr&a#2?BCL%RsQ=RTPc3~ z@v;s{`UT?`k5p2=0UIGz>KpOHEAR>HKrAfWR%NUrF6HqWYK>iNAHc&sr0tf0S%w3D S`>HH|zp(!iuBG&_%KtB=(W#;U diff --git a/objects/pc64.lnx.gfo/double/dfo_main.o b/objects/pc64.lnx.gfo/double/dfo_main.o deleted file mode 100644 index 44994eae7b10c1d5ddddb7e7d7d36edbbd628c90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23424 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 U<2MUM$eoq;ZxK)NKUVqw1PR7!ZU6uP diff --git a/objects/pc64.lnx.gfo/double/directsearch_main.o b/objects/pc64.lnx.gfo/double/directsearch_main.o deleted file mode 100644 index 4e7118df3d1e266c9b3881fc754a68b50011a536..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10264 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 diff --git a/objects/pc64.lnx.gfo/double/filtersd_main.o b/objects/pc64.lnx.gfo/double/filtersd_main.o deleted file mode 100644 index 3d1512b4c3f8185a17496e58744ef3506a948334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19216 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 diff --git a/objects/pc64.lnx.gfo/double/filtersqp_main.o b/objects/pc64.lnx.gfo/double/filtersqp_main.o deleted file mode 100644 index 7dd2ad6da2751ed50f87ec9b351e84edf1d9cb67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23008 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 diff --git a/objects/pc64.lnx.gfo/double/gen77_main.o b/objects/pc64.lnx.gfo/double/gen77_main.o deleted file mode 100644 index e23d8e097300974b0fdeccc6eea348d4f500a75e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9424 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 F{{n5I>?r^M diff --git a/objects/pc64.lnx.gfo/double/gen90.o b/objects/pc64.lnx.gfo/double/gen90.o deleted file mode 100644 index a4efe9df30dd0b4523e578f5c71b1d26a3378231..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5096 zcmbtYU2GIp6u$cdt$@>t6f0;P;)+{@?QQ{S{UJMTp;KL3q7(>FH_LWPH*9yC*(t4r z@RJ4NWGV5{7$2JGBZ)p>(x4`o5-ah=Cqj6TCLm&p62Tu5G4-4~_jb=tyCsoB_TGEG z`TfH6+ljdQYS<#ayW5Md;ILe1nR>c(7^^R`e*X?_{eYxHKK33Qs zsMQOH1F8Xjlh8Pn@2nb#@_*Y~RsYSR%b z=^od%Lx#t1SHr@({f}<{sgEo`b=__aR8F)8s$b-e6^QEKHDZ>8p(D5r!HE-ru-KOg zf57i!oaJPy`&XM2= z$LzmkZpB_mJoyj_eWc`?XT>jj#CSZj^IpO{x#K;VKX%r=nc2Fh=844vTkg6G{4r>^ z{ec;&r{|HvWy(p(ySQSW_^R3Q=PLn=**A-~!nxz*#B1H!yW{(fOj9_twJFTHI^OK) z+}Xi`+FET>9ow2nr3Xzz9qLP^4b?OfJ*muomBGKx0V~y?NUOPQdeBN`Giq;kFw?`- z?R|!t$mE6$Q%&VmSe~hC9%4uWQ`e~T+8T#8!_$p)I;-}Y*?zTcOGi_9m56rnf;+S3 z0nB>9G?J+tq*~_?B`A|Ozpvk`gaHCMpa2y#cxc%M)9|z3r{^L-ah?S)<_H$L zQgdEw70kUHKF*BsXQU(m&p6_XN>Ik06F62fYP{?NAD=C1b=<+?TxuciE@Z({n5`H1 zHW%I~@L?DJI`n_f;3w}cp;-gN1zv05Wz+X!Cc~s1s0+&8NFMyqa zpLd|0sxg<>sX22BK;25i=2 zvjLlp*u0F*CTtq9X~HJrgz%UM4~nd3@i?d&W-1x)F;fQ(GyYa*D?nB%)0-_fnaK?# zS$uzQ*0jt-CZ4n6*#RR{ikQYw3d&sxE1Aybj8bUGOj#5{!CWt-k?c#DiKGQ1HwBjC zP`oFbfzY}0r`gPCLU~RLIoM{_fejdz1|R$$@VYiVy#qlo#QpG-IGzVI#PO+=_+oQ3F2>B)(kWZk<;NA8V!LcM}|Ig2V^P=$s%pRvXDbOLXvcFYz(L#~LK@ z3xtpFUWxxu2ERh^TEf3a^y$8>zzqPy{h|4+7C3f~!B4ImA$*!o6T#`a-2|ulDS=~$ zHB{W#FG@azD=!KGi=*aH{_$(NT!b zb;76X-XVPac9iS>P55-(X@b*rpT`XbbMJG#!121U-b?*WgirO`2#((XlHW;ix~>Ww zG}ISIfcveyE#jlXA9msLy~IMf_xi2GKIkpe>HFl!G}4KXWei&^)RV9hEVM6|V<9t( z4$>nbc->GJUPr=B<}7fM+5Ubb1L2vhWrW%~y4K~aMDhTzP}%5<_nL`*LuB@7oeJSt zirim3QNYlWVjmsP;mR@gE8&NfDEz1mix06$5s%L#t|Pza@SdQph9BbMm>|UM6W6*D z7iCkr4F5hy&Ho!8fmqaZe_zSH75^7>^we#hb1{e3!$ zF9k5UPmWiNmpXf40^`GyAo?*8kNZPSt}A;yMRH7eH$*(eaO~zD5*U4!katVOkD)_M z<}IN?7|eBkc42V=)18jjbUacrUhWI#<6av>M#X`CUrb_+#Qzg<$K$)yeRcq1L7V`K Wxh~k{a?QEoM@9Z89GRKc9seJ*ISnoV diff --git a/objects/pc64.lnx.gfo/double/gen90_main.o b/objects/pc64.lnx.gfo/double/gen90_main.o deleted file mode 100644 index 02b282d93d8f3eb324bd84f34769d2fa317244a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13536 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 xF98s|^1;C2aKYs)kH$G7pj{ExHze*rOpUCsai diff --git a/objects/pc64.lnx.gfo/double/genc.o b/objects/pc64.lnx.gfo/double/genc.o deleted file mode 100644 index e1dea07035ae04b5f4203e2fa66ba49632d7c072..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3168 zcmbVN(Q6z<7@tip_Ige4&YI|9QyJkBQfk*+Ol(p#?2%l%LWt5PSV-Z#T=sHDa<|9s zT$)O0i%Y>Hjr2wAi+_XqAXGuxnn1)SlYl~B^udR~`C|K^79oD$>`XFQE)VwOcD`?Z z^ZR`>JNwPtjm-GD7EL44G%`Z=dJ-k%gYaH#@X#P}5+hGyuRJxqKf>n9AfoqCdk>>+ zZ2k}WI2Lc?8gDJUifJ!GURuAFY&YvqX3gbLcQ0nFk0leS2j>H5?9U*_`VWZYb4$pmJk>qZ#Y zxo(8G!v;F-zKi>=!*>bab@`6^F6p~obeUV5*GJx|Z)NJ6-(nv&;i&MP=o{@G(M<1q zZG3o>bv{nV;-RfV?DdCNwxR9VSp2>5>#d#GC%1uG|0kH?1ZF72dbb*bp3$o{dORbc z@f<&4j>SwN&6Aw*jCSqjTQ3rp_KYq*ojLp?JIkSvXM|z!1;QSBM#!gq@r!4~ zwZ=Lo>DpMl?-?Ch;~USQTI0Lv)yUz=V#%fOV?~S3SryAE<>@GO?S)0lAq2-QTF%V@ zTB((1EC;y*DSepRpl=b9aU9#BcGaqsDs$AWT6tP1Em*YM)g$Q{+hG9f5lC0G?RjgK zGMkQ0O=euC^dh1F;(r4Q(Rr&BfF zOlo$10Qjj}$)Epv3PgcvQjf2^`-Gt55RR1stWtg-#e@iBjI_cjPdjH;+EJA)0dbv+>M9wcg)+^?c_lD&CE%dlQs>yk! z#}bmU%1Z_}R15~WHNf#+2!5_!p{GJ8om{uuQ2#OD&Fb%__^UL9 z4(ku^XsMU`+H7u=+!OPEDP9=w#7Gl8-Zjm(swnFJ28^o~+`s2xu$le`vHs6gF~mXr Ee-?t_mjD0& diff --git a/objects/pc64.lnx.gfo/double/genc_main.o b/objects/pc64.lnx.gfo/double/genc_main.o deleted file mode 100644 index 9e63a37e85b53af235fc92d0ded5f9d98fcf9121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10856 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 diff --git a/objects/pc64.lnx.gfo/double/hrb_main.o b/objects/pc64.lnx.gfo/double/hrb_main.o deleted file mode 100644 index 96d6a373498a869cbd05676c8b610c5957d6f493..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37456 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 IU%UQ)0TfI&NB{r; diff --git a/objects/pc64.lnx.gfo/double/knitro_main.o b/objects/pc64.lnx.gfo/double/knitro_main.o deleted file mode 100644 index 3f6125ed03c84a97e761aabc400732f2af8105d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22192 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 CJJUk| diff --git a/objects/pc64.lnx.gfo/double/lbfgs_main.o b/objects/pc64.lnx.gfo/double/lbfgs_main.o deleted file mode 100644 index 21e0de970cc9e41f4acb2e7215ddf6f8d1c17a6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8984 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 diff --git a/objects/pc64.lnx.gfo/double/lbfgsb_main.o b/objects/pc64.lnx.gfo/double/lbfgsb_main.o deleted file mode 100644 index e770dd2bc499a94dd2680816b22dde8e075b5dac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10888 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 diff --git a/objects/pc64.lnx.gfo/double/libcutest.a b/objects/pc64.lnx.gfo/double/libcutest.a deleted file mode 100644 index ed5014d180d57db07a6558e81f04c2a4691ec9d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 763156 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%0DEBy(xvXW6n(TC*pMo%Voa88DqJ>kTK% z6#cBp!mg#sDz*|2GXt}hLL5jWm9!Ec8ex+qu@2TsWKULUwqzMFoh<7OCu?81Wx|@= z`U)47vnC5K;+SOFmC+N}NFui+)&omcS+-;uFr6&x4JRv{TX-vm{7tgf(iKRSp^`#4 zf^7?uC9xh@vZ81X(+MbLTX{)IG>O#)PIldmCuM9j&3VOgQbf2$&b@22Vg!=I*(K!c z<-nnm{ye&I&cXzX<#DJ<+D(R*GB1ZKQJ#yPa2ZWd4!cpyxVj@J?O5Gw=AT7#Fjl;= zWG;h(iJf~}2}qM}^Kq{gX|RTeBTaDGs#UZqhLN2e58*%*aeq`pNhw(cK1dre#Et<5 z!kkN^W5J2gj>N7U7;-9P%&1)O5t!7*3gd zkF>iDL8+UuVZZR_)!i7J^0M*KYe})kP;fGa5%$QnxQX-A7)xUr>qhP^^77iMWYzZ~ zv1IFl%K zaP8g%hFR7{(Z%3!4kN=FTIa_?HQP`~&E6xsWfJ55*X;gsq=VY7G)2xX6W=ELwKLDZ zAXYOkbD22LeER(d={4f^;{N*(HpC-dyQG=K18;23 z^DdZm-rP(c+2lBzJQ`jdxXjx>3Wtk*ou|2fWcKWMHtuLnRrX`YqhC52ozMed^W}Z8 zslf(JZR3!nxp*IJxQ%o6^dYesxlcAV0nHE4%@d~W&8!+J-N?rtbWIOzDy`WUn|T+W zGcRj7@TGZiS}3>eL6e~<#&NLYgkiSoW2}N^1Wl~#sHF4y9IKJTGCQx1A$DG)r1Ofi zo$`A$mN*Bd?CTy~ixTghv_7Ero{f9|`}pn*8m0pp3mOhl;c!5MWW(Y8!Xe7^rY1#L zFu6@88Pl=#GhMcUr^^EU^l0WR!f-lHIGHJz=7iUzjWV;(g|l!vS~wMJnT9k=%TQ~9 z4vr;jOv~N;eJHCyhL;n?jKXxHWU(!oT|J1|>vH;!lth_go#GUneP-b>3LMg_%3G_k zLqGVcaz-ZaWu-~QZ8F(FnW>Qdz3JHByS$Ryim&g8C#PeJZ#oN!pRN)~R|fBYd&|d& zT`a6485s$&Wy^Xr9K&cRobSW&kt{b8!*PE6oJB|ga1VydcS z;rAFv24Zx~L{($b;0C@! zKYnR~{}{nhx&o%5v!k)SWBkmDvPgYfTm4m$=q!$hCzUQ)d{Q)08XXgz*V)?Gb_z~3 zE^BP=h>jT-t)5U8JxS;$I=WNGMNeBWE;?yS^+Y@@jaE+@7oBK;7y-vMx@2(_e64q4 zsqq@g7}LooM`t&-x7ROjj4o=!sPB~N=g*&kLBx{gB^^uZmoE84V{J!MTVwsgQy_&i zhn*3oh0!r5w2vWObm@}j#^|KeCZ85CS7p(ojtyRYS|t&SlMMKhD4|93Q=)erac;&5arJ zCQcqdVTuWzHJ~ zW=X%IzHLeUWlI~)G=}LZuReWT6veGHI$=Wf=_tl7{c~EHKhfCMLPC&DnK5s|#PO4b z^mOYJYAb)JoY%LvH!eerJU-0I=5jWjqX$^nMQ@>a+gYs6NG{G&+&RBjcaT80P3cV$=Fo$VyfrAtN%c*+IswNlo!)Z4$M{ZJ#`#f zqK^8ujwQ{DqxB0HwxM}PBgEdTqp2~9HopViVM}v6OR210sY31)IL7MJs&FX(jdopq z6E4iArHhs?p|#jrO|+ISUc6{IX_hXewRCaY$Lbrb5L4JR?z^2+{rQzGZI`3vX=r2_ z9T2(St&dCf;pl0`MKk+&o8Rmse1m0y|0@Ou7vABUOYVn_m3Pg%8hBR&?`q&(4ZN#? zcQx>?2Hw@cyBc^`1Mh0!T@Adefp<0Vt_I%KfTw}VBltF7BraCnKga-8PU@7FY9dX=)}VR_{rnTPMOeYyc1SVoH)L0@<{@l z5O|Bvn4C|X7s**(oO8^G;RWll096hYuf-d4HMi!c6&Cm8PAeRBV_vKuM=D{4x6B=Y+q^4c2U zMV%}aUQbatj?F6En3wlzLE$E(Z!>;dkjCD;TA~N# zdg!G@D{~Y&OK5Yy?SYqoG!F4M)^8YdLH1xe*^!_7nZlj+4@|3Av_Rq-cdP)8!#}~h~K8%*@c^P8w){S<)fDnU6JR}UI^5V zQQl+3iJUiX2=ep}%eyR33h+lznDZJx5RlF?&GMgJbAIG+Sx-3SMWo|a;aK!@f#3IG z3z|Mop65jd4njXXIKPp z;AWVcjPD@(^+EOIGlK8+_}psnLk8r_mxR95ljrLO9~P-FcKYA91joHQ8Rj12J1ElS z@%g^s=9&i;;)jCQ$vD70dQ9*#uSonv@SPt0lY)0ipX&ISF&;j{?D}Dc|JFE$MP@oc z?B@i(z{C3mU+m#88~;I(O`e?p5PX4Gbl((wvxn!Hd>R(H!s9>O;0Hwtyef96;5$70 z2;hgS`fKJ);5i$(o1N(><_B=TT0lN7yqP~C;AaHC?LRCRGdF^BM}W_-gnsqWmfp;N z;4DV@ApfVO0GYWA@G}Iz`2CjN%v<1GDELidENY!`V)yv7krn8cMAUL3oX5wtH8NQ@HHQ^xEbHW$$Cisi?6o$a%)8jP=AR3UT`xe z#od$ z!wwQOG}X7&H$db8B#tdgd2@DENh%tbcQiIHtTo5;YjOO2sS>0O%aTi$;lwacz1P-v zs7K(xr1|5WOWL&H0NWa`T++Ny5vCGjWAKxLAT6zp%_@LlQXgh9kaYjjC`#Q|ez{}% z8Cvnmq-r)i@*zav4%Jh;?Km7=dqrbIM@!qjWXcROIK4S`?H%>r7ys0;-T`3-mP-~B zSK`8I$#U>}NCLQ&w$|e5>AvVq z)3|tP%Vn%QVPQ@4vk$V`+ABKhFZ03=XnnIqP+PmOaglkE<-kIRFxZ0b9w9w;OF>%2;*)VU!Hji*YuxM zxaNPm!ZrP`6|U)d@12WR)4w0%Ylmz4(-p4in-#9<6AIV#_bXh}|4iYU{veEhv&nOe z!ZrPQ3fKG>D_qlmQQ?~Y9))ZAKPz0*zoT$XKShS1e*T`La7}-M!ZrWf6t3xip>R#V zTj84iIEC?^M7);Y&9-!}1xTe2P;aZ-@6|U*?Fuu+v4?l+Oa7}-%!ZrVe3fJ_v zDqPdMdA*90_@=HIPwP5+3(HT_cx*Yt(l!-w(Z`GCST{Y47b z{96>R>A$9MP5*$xHT}y9*Yx?g2gJ##>B|+a>1Qik)Bi@+hyC=v5x}p+4aF|rQ{iyq z*iQ%Wy94-70{9C7JnyLN@g5hzKN!F-4B+hn{H6eYX8`XD;Lio{cLMk^qq3*>^Z-6D zfVTwj?g0Mv0KPSVpDFtVEI+zDGzRcx0sIk#>vH>C0I%cOCm2886#;xh0RL_P-x0uH z3g89DWS6HTfL8|aO9J@v0DemV-yFan58%54c)lF!^Yt7J;8O$mf&ktTz}E-xy8`(3 z0RDUckKk)WG=9292k`O$K0koB2JjmL_@)5Aw0sQdeBgXjoby@&l z5Wuev;9m^j4+rq)1NiXwXP5Kj0RD{t{&)a?Ie;Jjf$Z^~7Qhz-@T&v(7X$di0sQ#@ zKD;EmoF@nH*#W#YfPXrG-y6Vx6TsgJ;K!YiUH)kSyfJ{U4d8bM@Sg_ozXkA-CuW!P z^Z{Q>;V0DkBxM*Rcye_Q~c5Wr^!@QVX@YXDyz zz&DOh%c;lP7qZa6u>5HJjR1aMnIRuQ-!dUPUN$j1{>K2`Iw?E-iIcPA`KM*a9}VD3 zr(~!9M*vTpo}Ip;JUhNSfL~T&>2qNX$Is29S16oI$PWLG;LH~$-Qimm&LlegR|;oR z9R6E{Gbs*#WEwm$e!d?!J&o)3zEKBd}`69uo2VH(z0`y-{^g3Uj3eX=ExABs{&X-b!e+bW9 zdT&+uSqlG(!YdV?QwL!Rp+Gjpv!rU!gV>HuW+sBI>G&NwNBCN za`O2A{X>dgr|Z!G{ht-RPS>S1+0)giaGkC;h3j;!72GcmH!1vJm5-lQIJZh%dDy7< z>+*2K?6jO?75%*dJa3Mr_w{_H;C}r*FF@a==ykr_AE577^g3S-IX5l8uD>f4uIuj_ zg;%Qd?o#-v3a^@*=CASF6|VJm%!jknU!ibKKjOSJJ-axUUk?cG>-lF2FH-ae%}evq zv2e#!u2?$T;aNWZknIwujTw~Z5r3<`eOheS7+&&E|wLS-m?Vv+t2C%o>aJw zcX>US!Z`lc7m55%;oS0a@xJdeOTl3x09Zc5`iy^90*BZ9m1I=wv`p#Ph~wI1@8WRLeO!5x1~ zg>Q!{dd=r{g=_i$>hW=M#y^&hSM&MCvNW#wW{DO~fP6~GJIEPtkV7=BL9 z+uPH)&fl>e7Web_3kuiqMmw|9w+8S&!JYn{Jik};nty))A9qFecqd$$nJ(*#MAi!K zr|Y2Q+38Og+^25~(0@kJYx$oE;2*sz9k0%puLrupdp z=xl|brs!)GuKT0K3fKM7%?h8U_OsqSc$eivT+8`hg==|E z6x@%uQPFGuA6N88MACY@O3`aQtW$Vg(SKIqTAs@5Km=BBhfN2+-L zp>XObrMH{Y^g6$m2u@7r?;eld@oD;$Xn_xZf2=ymxV_SrO_qu_MuI#Y1+(dF}8h3kA@7{IRz z;Oi8w%k5_suFKDg&sjMskJiJd1NgTB_@eHV0(b$W;2nq8jb6@Ikh-ypaz=W>PX{OVG;j`#D5|9chxA1QiW9@gAuoJADPw_wK z8)^PJT?-Vh)72WlZ&tWY*U8_^E>D%hk5lqoA-G@PZ&tXL=W`0z@s7DOd%Q7)M^(J- zg8T8VQ@D=zvkKSoep&I??d^jKKVHTAs^X*dKjAJbKjqQ!o~Ljf@AZQF`JPnx`&GPu zRD5*2uPR)}`;l*@<(aDZ)GJ)e^T>at>2I~6_+B(B}qD!8BC-zxlYMStwQY5qE2CMx_iMSq6E zb-Hd+xaM=K;FRYBiqBUR{S<}Yqj257KcH|O?-L3itN0vsA3QLOmwD;TQo)JocKerG zEQL>Bet#O*_3J!^j|7R+|BZtCNBz`R`Tqx||&Tm<>rjN8#t>oGExdFkN3RRk+rF zM*!~*;9pj_E3C06{BIK6=l@NGYyRI+xaPlA@z?tQt-^Ib zKKiFt9zWiT6t3gFTH!k0uM5ud`F@qItqRxj4EtI3c#l%Jj`xcS*Zug{6t3m@){ZoP zT~GT0c)^pFp7LusV}kqonXTx@AdIVz=PUXt3U5@nE}zR3uH`@H=T;uZd#d7dsls)- zJ|{TkXBcPxqUbfBcLMlfzpx?6L-U_4xa05A`$a{s`Cs+x?0mKg?)W%4bDm1mYd%wV zTHL33fJ_f{3$#A28C<-od3>Fze(Ym{$np>r+-G_ntnomcKW*&uIXQWF-@=W zZ~rxoYdz$?oW?c%!LOuoP2Zt#P5+d_HGS;WG#^cW#oyDorvHP&HT{SGk)8fQg=_lb zUdv9uUg4VlHHB+=7Qde6qv@YexTgQm-t6>WRk)`AkAG&T|N5I2XT8(y=K~5a#WPor zUJ;z_j2^cPf6MYAuG|070enILpBca}4&bc;e7VAP`+U8^wSHb!xYqx|+#HiIUq8zg zeiA60e(o0B*UzI0pQ7l0qj0UaKPX(wKgviG!A)wB$cM#ED=Kc{CySdF^Nxo2c;mAF z7KoepJcZXO{1k;ZDZEVKQE^j0{5f-pI2`WoJ>1~o?%qRbCJhgUarYaRQ9u~S$K7vu ziHE!U4cB_OyWeo9hr9a+OGIeL-`(HW>f!GGzS}(9-QTy}!`;2Eqw+H4clY|e<>BsL zzh_x+V4OVeUcbE_?(X#)aZo0`yT5Ovhr9dxCbN>mIR5VbzK()S+}+=o|DH_T-QO1( z-+t9HTtWo9qs`h)&ehhqw0?XCt_zEdH}{>5zpTAIGQO>a9+FQOkL%~O7dOpWFKmW2 zgm5`{d_#K&FT;~C@F7G)%QAkPI5NJurK55DtU2eOg70uPTrMmcn`#%e)h}zb(*OJa zqhP@zBx+4DtQ6PG0x4kP&-B?fdS;=c7qZA^UOo*oYKBFMVG)t+h`9QGqTo_&EHVDC z@#1w4{P@S=0eSl2H%j=m2fL8gj%Ioz6W}M$i5~94ukvsgzq2dxJX`qE_gIP?psx|0X9`{m>_R02MNq5qAV12n2e&Mn8>!OlF>Q%cWe$JGl-z0oUI%krPOat z&x0j%k(`?3R3mNyZ zG+I4zTr_6f`}Y;0k%*VZ|AtTvu+ip8B=Suva}r zPb(Qm>L1$#;?%b`|6x4CA}*co*?ZyOUB%9rG{RGgpXKGASbJ&!pA*0r2k?~v{Br?3 zlFn}22W&3(wYLGwCC0V3(eST9^{!n#;9FD&-u9Wg&vf9U)cvzaif#ftn9)^O|0pE zE`DcM;t}0tX%gc)SPH{nW3_4t?*)%c$tXAFNcly}>b)5gDPK3h3MDb%;2=ygX@k|@iY7^>9_`MVw zS1#FRFsv(;t}P1nB`X*>i}B+R^(8|M@A?uar;E~sAFMAp0|9)Q$YYaZ!LXx+ty zk9*;r{v3QZ9NGGU$}IZl7|4Zp`lmd)96P>y#Np&%o5p(JhY$4y8ziC29YeAG^oRNa zw?53iP8&b`sS_$}(=Pu9?F-E8egFD`F4fsp8ewc-Aai!K`qjyQbmzvq?<;_s;@$sQ zY^)!0HoUrbwGTO zH^W55p2N;SrGI%cwuPC2j^_VXA2S*3N1Mp;-8tHre`foJZEkJm7i`&Q&6jW`w9yaM z?xP=KUj93MkdX~MPR6eoKi_aIm3@|@Gcp02j$bxc1`WNZ*o{h--Iu* zENi)<(e+U&nt!j4s)1ZItmpi>K57j?7^Yv(Z@LX?X@}BxEf9LP1N=FC{lC5Mx<%6E zEWhmt^xX`m1E_3|N5?-M?2}Ao~7^7YtGw26Hopto_sZ)yv3{u$CEdfY$V$KgGwa3ruzq7 z#=5uHSl?zlQPcgkN?7skHC?olRV4**_lmn1Zfc$QD7Y)d9VNZEOGz*8GSZ_okiMMs z;;tmUxZ|W3_guI~VZuoI1#mAAcOBdt#N7nsa&%`ylbs@ zr+C-X+qZ@~pn;Qm5GQpZPU=IP)QLE$7jaT8;-pr@Nu`LBIuR#TB2H>VoK%Q7sSj~d z9pa=m#7Sj{le!QmRUuAlLY!2DIH?42QUS)f`kjtpyXl$@S3ynk9r3(I&+Fp(3q3E3 z=XrWwFrIif3&rZ*4$O=DQb_RtWYhp8IshphfRqhD$_F5o1CaOtWbOcD!2qOg0Max7 zX&rzp_mEX3UC`tJaBViw6g{oFn(lj84&&VkmO+-|f|~9-SqK5K01`sAORxmejcS)* z5u`f`H_IU1sCEe!Lb_4y5-f#uquM1{4C$^Uy|_{B5-fct|Ps; zQSA~ejKopx5-g2$quM1{9Jv8y^w6DPk)+pX0HILoQrlAqDBexf55kIfv-Prwl6VWe z-+zu+^7rxNUtf*i5wCc$Xw|g^Y@+U<%4V;AzG&5L@W;DXFQ>l7u5N`@(=&B7L}tnU zA-s|5q8YYyqp-%435KjmzEP9>@7;JvUevqcRcCo^fgij!lW^a>7&4Pruj5r>dF{2l z_6*L8Av1X~^Nn1)(M=+aTu6jmWv~X3iyg7Rzh%;Jg?zlUJ|fRb_eYwY>HW&Wj;4d9m^veerAe)E6r{ z^aTt0dJF{^kF(YxhRozu>3H!=NZ_^H@@gHN7ei+9>TJ2#k9uW!SB3QCmzkIDZ2X(ZeCSC{Cu8kEZ#Ehf^94qye9caY(E-ebMR}XF8+!>c5!s6)&3cFIB!6 zGM@ai>x^cvR^zXMqpaDh)rgFb-yL#gj6r3gPYL04H&VRA&5`Ofye;L zjR3nN$>}wWU;{jT_<`=aN4LXLXG`LJX2ijV{p(-HL76@?&NKeUt)D%=@fYkh&m-vB zjK9kIE1kc~`n#O}LF;EvXz2G!c$7lppZrh5uhRKjt)IP$d48Amvu7~=-PRvLO*Q_K zH*9$4ud{x(vgY}1*3U-L_^UuXTSM27w$`1fZw4&NEKA@_M!C$|VhgPqms%FVmt(1Wub)`@Yy zHDs9c`?FR`QS^SDkqsEvgo^R=4cC&g;pG85(%g8Z-IddeqA4(ARn&YVI`doAk?~R# zSt9sDh8Xj~03HwE=Lhi10(eINUlYJL1n_SL@CO6+Q$@UK+s9 z2;emV{G$P!<6IhFp49>T^8x(s0DiPodGe>zm6P!bXRUU4qrx@)Cls#f|4ZSTew)HI z{l65h=?|Btg>q{8YK3e1k1AZ#e@5Y&{+kNd^nXyerhiT0n*J0FHE4W&PE)w1ze?en z|2l7Q1(ra!D8yF4c;hO#%3fJ^MP`IZ5hr%`e!CZuf@$+}4 z!ZrQH3fKHUrEpFEb%ksC-zi+vzp8Lee=--lMNUnBmcljt6$;n%-3r(Ak0@NzKc#R@ zUnrfLU*0~Ta7}-a!ZrUEg=_k+DO}S(pm0sUUE!3;wHr?d@D~F3KLhw7BaHe7w1>wA z@KXbLEP&4o;QITiI$c)==#v5b)&Tyk0RF=O{$v1uE`aY1;D;WXU7zm{;HL-hngCuO zz@s+W2)kkFiY>C=XGH&>b)LtK10{J8nNc{ex$BJOr!s|DN3RSHH%j}+=7(X$JLuWa zX&jJdF@F5xKtrA~97u&2YWUEes0&a2+PL_g9Xij`JVg1=1#|MsC^PW4O86!nIowWv z4n7->Z2GU0eY{aZNd2=*b>SVJEp7(cDe-Tj2Zqfxb?k>HUtjltB3+XIXVIgK)0=}r zd!oxl{z3OdPusse(Fv2MOq#f#d!oB1J84}xuf+R9#gX)Ro_O-j>g3KwB!%WQ*XwtfiA7&MdFM#rqmGTUjH?HB?x2F+x)%P}huouS54XRrp<*#Kry2Byv) zN8LjPEU?Vx4uKhiW=dA)n60LBCqSJ8ZWDlo&QR#sq46s4~YSI8(0I0W86EBT2ucUUA6jT-6 zyLfbU(GQ-D_gtM5U;WM&(#MP9d*ctkkhg_Nj~7+#mF#(pS!M~U-yBF#oqR0bHzQ&K zt$t?ZjOv~_rQE|$^yS=d!0w#tWYw?s#=B$1@v*Ujc%nDw2NK`5c+uT_gy(p<;*p$q z;^9&8il;h%Qq#TSx7bH|r)XUllo)%E^!;yv-2=u|4$w;1H@%KXy!(NTv~aqmSRNz@ z(BRoFTKX9Q8a#`FYsNDI@~qB(MnIlz^q&!sXS@7o1msy1vS-F8#RRg{`OgSQxQ+fZ z0`hE^|BQe z>HjkRxl>VbIUQxIOXAT{YU5`f&fWEy<*|78$}rb-Ty-|Ccgt-?z5M@BxxIL+x)31B z8Y+h~e_hklkYAJhLp=GkDR_x%B9Wriqfmsay2sAIV8~oopSU_dQndC)loIq{qn%#* zrk9&?(>J}0lfP}#r{-*%e&#_4WgE#EMb&?r-SB)oadi|t&%%81oSvy)jpw}Mx9ZbT zMth4^y@pr9;(gOOu8&kVJQh!4BGflMPA}|I?&iR*WL*7kk=ETlfOBi;iHol$VH%su zYXcT60N9sb!mTKH^SN?Yo&1xlMRI4r?=t+@5_f)QW5VVt9QIkMKv&(i#(VBr$RB47XZcGt`$@4ksIsZHZNIc}1;svEX3iF}IvSOMWIhf@+U7f$?=JZa;zqb2 za1SjA(n^}5)lcGoHbM9pf^@6|yNwJ2IxEB`K7o1#gmXEZBE)()@fYd84*&3Imr%`a zc&#RR&u;ht?i3KtEpSTE9dH&PRKixSoc?821qTqjV}S^^gDVZ3y%NE;#N%*56;Hs* z_O;N6A#*Et!Uk` z7%;0w#563=QC`1cIS*i8X2TLsKIg6kiT8ZhaLjrsi40Nu{|f_r2+66h)dSkRgqaT` z_XNcAP3c7R!l@I1r+Wd>z_~}BZcDrc7qaDW(ZcaI>%9lMhV^m53;cS9aGNcPmUFz|43m{3$W;mJBZ3%9GBP|cX%0-c7dNz`- zX!UD|6UB5udidC+=XNX90Vuft%Qom-Mvll#e`Hrt&?*WDiA&*>^i;y>rDr)H8W6V1 z(`|_ra3MX{z{*2f>PX|#GO%suW1W`u42=+0pdl&PrKLC{=qNHqWf2h0-Qepg3s5gD z<$!2FSSC-mC8jd;w#1pRn3gDMidMg2@?~IJ_}HZ7D+jFH{;x@vLe{hzcESm{whIX7 zCO9Q6y>NPI*$apUgnQ&E>I_`0Gq9MJU8D)8g^zVw4nVmsEnKN(WRj&;uC)SU#M9&| z3?L4ETnh&2O$%)UaLt6tM1_Hi6$VxwMiYMmh#Bnz8yQE@>VE_>hmTEyzIebI?*Ebv zItmq+k=a%`3Liu*7LYneQ!HsJ0ID;m|22w%j#AoitCL;u0o)-VoSV}uw!;Z7S}n%U zRHJ#sQ>&JI3a~9P43>0#f6-mvZV*B}`{?>eVKgLN-vK1E|0tWh0~n#HT<@i*Fi74O zIGOluiAUi=@*bmw+}=c*qSY@1a+{A$TGrbvI{Mx{t)CV1zQ4coPF45i`DVt^V$KpyUv85)z12=GR$y{*%|WSArpzqrkj9tLWrt=K zbtaMj$xaoSzhrbVBSvJlVvQnWbOHjxxf{;*&v!acC~6rBM6BQ5`eWjX=a`$)?!Jk@DA0Od+rhBWJy$v2Y>p-tmuott4< z`MEj?`5%I18acN6a3c-5&_ve35}ukg+-b|!0VuWq+X%{7e8cNjmNqUk2RiwzG&*Mb z`SWMYn_nwWYTFw-I$O^;Bf6ydiu$EX7Dfe+ju~g)OC7Ut3GR$-U((Xtenzx8dL|!K zmyM&f%=vI-o|rIy31*q9|6`(!ZEY=W?GPY}ckNr+u8P(#UE0!6-+?H{q&d47GVMQp zxt$}P$R0Mq@0xct@U8~l)xf(N2y0;0^yz0rOV7Wov$>-)I$^^2$>YmTnb2vx6IM=~ zIKFK1Ndg-lp?4(8@pQDrQpk;tz?yFNOp0tjnENII1UaT4D6Y{8(Y>nqjfR zvcy5N3U}n^#c~cVECUuRjDiNV(+Ugr`Tho3b0n}o?{L_oiNhE)!`M5nxi+3@jxyeZ zB6XRt(Y<~b#N+{Jmf**v`lb~?HvCH94j`yY1Y-%DYK6bxoZcVl8ax#2~De*VW-!OY2qc9y^adro-wYH03~e!t%n_TzUY1%+lZ~lYIOih{|CGWtz1bteGxE{& z&j#pUQMjf*3H67@mxuM-;hO#mg==|kRJf+!s&GyJ8-;6nE(W@IHT{VS*YuYvT+`dx z#X$Y&cf~Y)ui~Tmzpijif2g##zW%EeuIVpQxaNPe!ZrQZ6|U)jr*KXGcZF;Eu@n%- z&)=BBHT`mhYyRsLuIV3BxTb$b;hO$%=|cHf)0Zk-)7L6o(|0Od)8D0VP5+3(HT^jx zg7M{98o>J%&aTwe(_AuzAs>yuFMyvBz%K~k`kgAxe_eq7n*n@V0RLkEe>;G`7n|NR zetM?_@bdzAa{&Kj0RLJ5eYXQz&kW#~1@M&t{PO|)-T?md0RGniez1%;{d_qwfKLnH9}VE22;kpVILGv^ z{vNO1J<{!ldnbwA0Gn7x-zoIOnFfb{LGi&sn-u;nh4b|fNB>X&e@x*VhdcTm3a4rv z{<6aP-iO2MC43AQwSJeZ$DKyn`9U7Yl4%H z*4rU=f@S2_dOJelT0a{VuG8Ck1f?0Mhp94A_T?|IAIun_w_gVEJC4lGzt2tt2k`kc zC%`a%yjRP+IX)iahdQ#*AIgg}v*5o8;9ro*zt3O9G4o7yR*=BN9A532t7T9$9IW%~x(|KbPNqDUu)!dkaXdL{qC zyyO;Ztk=+r(^$-A=4GYvrT>jO$+|a4zrs4jc%(ZY^c}%*$EJB{mkire&^X~K!_O36 zDdAJ|Zg~<-QCP!<0uD*Q~7-i9Q1>Q)V#6Ot+7D@Or22y732dszr zqm4_qvs>`cxi#Gi39m7_ecDxm`SN#3cc1cU)YIkD zWwNt2=$+~1ljVyWL;rpT4~;leX&m-jXZ*xj9R!Lef1%FknR9!`gDjrxz}1sD`diLi zR}^uAb6J|Pt;&T$8XV}$&x_=A563%}`Ej{(v^&2fu`4gJH>c>9-lBVZlX*A-%os1; zIu9S{sN^NL>BE60Vty}{tY8hsD)DIL#akD(v~k&~wx!kH2!8&YbLO0T;hf0++$a=U zE0015*Zi)4+pba1D%_Ks+g4Z{!%B4|62-3)KbkoInRRR|edoeqNr+}O)ZG58LE9mc zOk@>DJMM?=4G~L(2BToC^E9l2EW&QA=-N8sEGQ0VTS`NWb=~1N5QOphe8a+q zo_Xo$qk@y3KWD1M;c%y?e|t>wzjQ4@6!NpoQ8(IDisw-c!cAIjLSv0xqNL?Q%pnKE zQl~Vot!9%-Ts2309Le`1GU&kgLt~Ahh7XN3TzDs^M4w8(6R#2v=yv7L(Tx^@!TQ>2 z3Gc!=o9Cgj86OUf6qeym#9km7;?l+ZV^|m7>4oy>`XIq0n?%r^ z0&rf+R>}__>TA1%>7|aL*naxi{`qBxq-zCil5o!Q!=G9axX++MeNohYUDSM;q*v|=65h}ENyr+8P(~_~N3@<_4Zx#N%<%MN5#96WXKo9nqyrn&DiC zAp6yNvyUytkA2{*Ip?!p_7Zb#P-woves(l|G@O@5;)TWMA8Ze^@L4%Am}dUNv-#>7 z*D+|ag>!9%SyGt6b2bai+{K0%_@8w+Yaas~Q@jBI>=OULc?oqeu;q_L?E2!ch%9NQ z_*wt3NJ$E@j^m7VkohLDeq`x}4Olxm$q)^T%+|zkj~D!654TGV!_wbclIPU7oHa7Yi0nS7r++)Cx6G+~naHZ)xxXiG=ie9Jd z`wC}Q>Ei8GxK7v41o!#>M&UYLe^K}ma6A5Q3(jZ<(ygFT%DtfkAj(-$x8p_X~GgHOk@D}m2p3^wo)!z;ar*KzK z_ceHL<9@|}5&XXQI6~w5@y#tAjpG+LcaFyytJcQ0j;kW$4gbcb+C^>n$ezge?^;nX zpejRifRBluT|AyQcn{)U76zD&k_jW=W?0rCno-t@oCuq^>wg7~eAACe9{4cF_~dz@ z;X~^VE`F|oYvbZ~b|oIt?eCHBWm1}ptd;uj((l5bizjrKr6{c9lM;TgISk9M z);ae>4!gc!laB% zhQa1w6DF2Tu`3@#pMz~YIW0t`aaLmNaacs%Ty@<`d~v!u`A&86HEua1pO~F|Y+A2pw8;QV1!!}L*JpT-_=*ez-7>kiwH#`prOiQ~33cCEuUrm@Q%_SH0Yp~E(% zvFQ%GD~+A%u+3@g7>9i~jSY9$mNfP%Cay-l2h-T^9oC!1e&Vo4)7X6u+mXh;;;>() zv6~$BY#O`TVY|}UVuwAS#^yPUgP5qPZ~SQVSi6!c@Eo~#$LvF#pvLz zH1>?cSZyTUK8JA~T(El_R*=SSci4zD*6lF9zbRp_bQs5Tf;Bj7R2n6=QDe@%T{adq$ghE-AZ4qSeiy2~W_d((>bH!wDQ zoI0M|Q=QyVo%~Tvx0wZ3cb``f?`g}4FL`Ygy2$FhiSgva@#Guv?sOAqR;yz3&*ye6 zyBe;-B%kQc!RM@x~|s`ypCB_wC+FQj(3}$rMnU-z4q|FynJHUJ<7mr8gcQG zi9DX1Z__=C&(oMq_Y8n4-POtGU1H^CmQ>=c-^Lm5*-SYcsk8g9L_;N##vAs;^FCf6 zNsi}Dn4NqWN{J``iL119!u#V0)UgDwE-cRY+;c<2qQ$8f6B-t^D^F7zZ^EEB6RlG`wV4LsObvW14DFbBbtjn{p~fO%0ST^{nY*ncfWF z5*2QV;=M#MU()V*(t<5%PfL~=%~GX+mJGL2X^W>v@u&IgnBi7>fKSDp;Y_Qs-BU$- z)5lV3X;=D%TWhR6BPpGi)ir5*PPDQQ7$CI?kof)xrDs6QtA|)?i zBX4_0eOpJQy`!ZS)d>dgSw~MkIXdtBY3H4L{`~4WGotgWXIIaeHSdgQXY=LFEmt;2 z8}UAOr+JGyy)cQFuw&+xY6;I(lX>%Hp)+bf{^MTo=HmI7XiH~Dv}I8gXCoFjMlYT) z&b|G8>7cJ>TS5PS`roc)rW5b{Xwxzb$NAbgKbqJK!})|Z&hO79x$dBi^RwyJ2E9;* zaekRfq@Fo>9N_%^9NhFBjtI8%bH1jH!yV@Q1r89~rO(06ueNB+Bd1qK=lqV|;as=V z#`zt+d*+98ewXgS=v;aRqjT{)I-kGuyZm!>emLiM`8OCH=YZPy@;d+Fnh0)RPtMPE zI&B>8Fy|lX0I?nJVCOdj3J1b=dT@~Q%Q0yOr^=fHTsq{~w1b1`7?q;14j10R&VRH6 z#CCE!*!k@qghRvn`=WoE{wP{3Q+;gx?86q~ltkHm)8z%=yPS zKx~IQ*!fExAhy$&gPq^*NjcQ6Go^iL|H&GJ+v(N8&Og=xVmsWy&OgopgV3Gg(Yf;L zVCNt20I?nJVCO&80fW$$d2~)+4t9R7p=uKe`}1D9pa^Zs5fVxeEiI#$=z+B#AK7 z)T+Yb<=9bXUUmuoPuhs%Mx28kwI&aDGbHk76>iSI=HS985FC!(_bm+^Z|%<>G^5Ki zyLoh_4a-lCx(A?F4OsHbs&tyxx$+df!)$x+a?zoYNYps}QB@>zg5Z_LPX9X@PQ9mW z@&ecl{9GHKrjA4|4dAT-{F4FvTLJtr;FQP7Ve%8$uLATh2Jpj?VcF!b08ak=)HaPN z7qCP3MMU&`|6`rYTJhTc(#G)<#+Pxg8Sn3;wxi{`0-?|N$f-I`+_K$2Dbu=#2XRA}`$h@DyIDcVj#`>Bu zQ_WMmf5JA`;d2BhJ+s!~8>Imw&N+m`zpHRoL5J@YoEG~Ihd-xq)?tUgp>Vdn4$qbH z#m5{wIQ$sFZM{q5XDD3nS)Zl&u&;1@8Uysp1GxKKvabjCemZfz7tb%h)A)MWrEre1 zojflE;(aqfpC?U}ub(2pef>;QxYkd(;-mFrgvURoi@$`*Cq8rd=jefP&9KAov~X(P z;P8h8cWsNqT|46DCk}sE=-s@);cTC1Tp#H0F@i_U)3lu3GC?o#@JgXC_3-lrALrq2 zZ@bLHuN8VXzHsvVr{Lut{oR7Q`snEU1h4eye=m5IhabX#FmY?8^5spTukr9Jg?_Gw zj}?5rhff!Lfrno#_$40h?&+xW@Y{ucp@-imc$0_!Oz@>1{(|7G9{!Ht9UdMNJuLU| z(*GJT?1z+Xi=L){o!xsyFqlaHB_<9e&Q}A0n{8qs?c(^^O8HwEH;lCI9 zjUN8G;9vFd59C{5lZSs$@Vh*Gp5U83{Bps+>*225*y7>03jKo~evjb29{v--AN6q8 zuWa}5H--Lj4?jZM(;Xf@R`6eX_;kT{diW$MKhJvjC4!d2h~Je%7q7!Ndh})Dclqe(9q#n$@JgX~dhqc*9{&%EA45fB9KFN2Z%E_tk6Lep z`+qb(?%HXGFSTTmxgNd4n>_pzLcctKulMlPLccM9Z}IS(g?@Vg-{s*Og?>)}=VkOX ze9ZFW`coc)~$*eSx%dP7e-`diX&kfGG>$aSwOn4fk%9h|AsN&AIicU}(L3BNML7C9guYn%2OoF$Upf39p)dF79X{8?9~Sz$0Pf}~ zj{oCAzt*F7_(l)kDfF8I_;wH9E%ZAB_#O}cyU@EsqV!VF4j(1+4u_k8E1s7I@JbIa zlKMY4fH!&g`-FaZ0AKIn)_rwje|0KUt^rwRR@0A3&)c1}ODg`THMXnefP z!(IDc8Ne5Kc%$%d3gBHH-X`?x1NbHnzgFnC1n?am-Xrw80{C7J|D4bl6lChh;ZYC& zs?e7O@VJL>7WxGNyw$^hDD+(c+?`c*`S_U7Z}R9J9<|9b)kH`Q;>J6~_;c%it2}zQ zUiUwJ7TugLx5w4xusIj8cWpT@|hsrIu9*Lk&LlNVP zcR2#N(qC^3u(gH{(`S~1ouuCkjOojF6oSgN8UsD=ukA=nC;m-VSY0qbUpMh>jA4l< z_-75~mj50TU%vN*UgVeaGy=Ku-+j8K@C+gIPd%>0m;6&6H*H3#o5f$)6wJjEgjtks ze3q$u?*N4w%|L@DC&SKZ;QBqGGsq>QFVSaX%dbT(lZ*w8xl;6;&1a1_wtim4*%fm+ zLTeK9n>+83)TNz?srk)WW9zq~6x7I2Yz)nToh52~eQyF|R_9}oy_dq~+#sn+m3!&$ zb7XEenGW%XJMM8mO)tGKS_l6@|H_r&-}k&2K4XW1aq=imZd0@`hCjal#qf!391C2X zI;$#q&FnZ<`|(nVXkjv*Na!K_iR8X$DJZZ`Pz2tO!5Be~6{f37HH4~?_eLp=m;SoK zWd}_s=1)QHFBJrF7z3R6)y^6qOi@dGhGr{HGg#H%gfx-9p+I4YKZ{OBZ8&@T&3L}BL8ZErRblUiss$tAJ7&Ezs}QXl^M~N#rO_u>@jCa5 zbto}LPJpKpN;l?JC7TNKdT`d5tSn1a79q3}`-{ViB`ZsM+hlptYXT)&(@P{Eu`*Ynq z!|v!q8L8B^Olmuyh9$Vx+r~;pGPTKORn+5NsyN4$)#eI<^AV(>48d9iDGy5Pa%7qg zXa`UeY&8VfRuv%#oTdla8c7pw|Jg#skeZiNTV5%7(u)4C!uEg3ORY7DAs)fh{@GP>GJKA|7tq}r-bN&oFCC1!-|DSbVv7#~;O+%kZWrBtqA z2RzW2EU+IMn*|Rj9iqhy0cs-|pf=KD#Uo9){e}e~OWhbSaI82TKKQp9Gj0mpmd1V zV+c@95n?r^$7)KNaC;dH*LF1pswDbDTty!wH94VBDa;VBqnZkgYKov#Qv}BfQBiccF zJZJ6CseT02;$hZjatgQaorjBAdGVh%Qm8!q^G8&Ie5cTPz%IQzqPxh}Y`u;8Ef-P0 z5tRCk;Mh!b0Hs4FS`7i}H$tr6^iq|j$^A&84@4?2?T>Cd30)-5bKI6j@(Z_LeYTR< zx-EWINTIUQcY#W_lc`XGdYuUCH%T%(ha<>WF{$4Oj?G6OP&&}|7y{I9gjm1nr7k=< zd0TWRNV23x&N>;5_vBIgp6nsRaQg@F6$fc^WrP$eBlocb?8T~#nT#+U-k2`sw+)dr zvyUi(-9Y3SL2zt_xECoMXnB=qct+sy8KH-IGlH0qF%MsyS?wTkC7J5}dfOtTCoj_u zmf;+HO9j>&lS*X=ihrli^$5WsTFeljvLnRGPLI`?G~xD_&SFY-vkY8`^PlVhd)w+r zPhQe2^ZIz(sXMO#Oo}W}Z4u;|v$MK+IZqWP6H(8-<$D-)%q>@n@Nj#W@@L)hyP`de zkm>wLsdDsd_L7;M+1aF^->YIz+15p(@iu6;vxVX)^m<$Q_Cbf>P6SonT6ZIqcd+#y zdhBvQyK=$)@G?G{KO%8`pNIO*CscClp;r&z?%^|0_3ZqN@Y)_|CHHXqadSwRqh2er z9Ju?5*Hc zS41@2e*OoU*gjSKLqOQb?ZG7_*^lQlX@Adm)+QGF5U=A|gQq2OH@7G2Y>5huMg!4k zWFP^aHH7%A(Nhf{UYoqowjx&Ayq-)yMCx$+HP9;LEKj^CfkFxV7&}%xjpT?(J|px# zfN-VMTtRRYk>r5{%0#kdt~1(K&{C0HsAOJ;5M*wEm#<~sr{#fzlz`fFU^8_B29}`d{I(MEgh+ZhsM48dh2M07EKH zvW=INL@%+2$IWF-vNIAfMZhBhV{>T)jYLBTj+H1vh%8WR5aijxwkSMEbPBxuRAof< z+nuiSSf4&n9^N}sD)NVbteW#Vb}?Rd3dVu-|kn@mx%F_K_2Ub%vO zwh=V>C_@ncPJO5&1czwU>+|ej+d6ox#_*7jsLDqduGsnDd5(N|h=Y85pbRW?=Ytd~ zACIwXN4>_mAwa!Gi1iwtuGj6)=?Afc zl)B(Ma1jD8I}J!~fk~kR{ssGa)MuRQ+T*|Y^^gQrTCSiEPJ;AxNr&t-BFo=LZjBb+?ix+}?i*le3>R>AP@U$rh$;hB3PhEntGJKu0%;&~XWj zjtfC8U~4CWu7GH`sTYGozDf~Pvb9AK;xh-&Z@bt{DD5DL&GW^$;r3UfKyu&aLQp8F zPvrXto-Z;c17v{xT8!86a0!fu3qez&WeBr)6#JJ|Xw zc)sXpb_>00evq%kHm?jlj2v!%M-=gM$!?0BWGVwst6rP08@=1v`AIHN?AzI|0cIzy z;NI=*d`++fLB7&@$*-~>_L4*1t57^_@6(Y6;klXY-M$(q9k|vSf`i*HM=0;$_K(3s zjd>tOnsEDB9{^dd8pG>K^rzU3n=)%84>CsnSYx)5sJC^!z`d;=f~LmQAvi|1wmRGv zI^4I_2!e*K8$xW|;8EY=ktW=}>HSP;U$hlxLpYH8HeOO>53PDpP)+5LSo&Fan9ir_r1ZbxaVmk$In!M^X>QC=Rr;Vk=9pn*i|NQ&FCRcq( zwvj>!{u;Y$G+9i5sp9>(5rX&dI@&9N(Ow~F1n)v{tl)z{=@4xIL8?E|ULnNx3f^=P z95r~lcMV<~X0lUeENI>$h?rYcQYcZ6*P@P+CDTC}w%rR@JygB1SPA;M-dL6PJbG*>snJG! zu0|66?vCgjoL-r1n~hV;LQ#rS6m$e0hvryU>UfGv>){t6F$7Bx43${63m9UEsYk0S z)l~RB5_oA%$xpV}@WoUV$@(R`Z7a*qET#y$29fIa=WZ@x4oiAN;1L?GXTFkIEPkPq zL#xIsJF?6z4ZyNQ{<^l`_^RUHE2*EkC%16_XhlcR7tYS{7zy{YPtTT+<7fj4^(rd~ zRj5Y7^lnwC?%FKR+?`v}L5mH76O;6$v6B88kpm>{vXVHAr22zLFHtPgYkN@YK4tw8 zQ2gNyc!*RJGyLrl*d~(y?&aS(A9ct}X)8y1-cG{++I4lmytW_Yy`t+^UdwUu1<&8~ zsB4n5GGW#317w@dSyh5+x2Y<*EA}>HLK#+(yNI>cr)IiDMydw-%R52X6{X_a{dq zZpqkYLrQm4i#syK;y!ka#GTK^4s}a@U7+fnU+X9G8k?ynCkKm5 z;}V;hDHfLl39NFr#eJ*$u$v)B6B4&}h7#AKm!8-EU?G^%fOM2kA;+g5vABonil{9{ z>2^#)T&oR77c?z=$5PyyL>hV$uIu-8`%~j>lb6~ZH)IAddG&exC>lW;szec1-3&_? z;X#8R+!1{i!94iS!O!Ql5S}Cat1p#8K2yL(Nkk0nX=0_hsh{V#HUM9JWTNRM_5hBM zzK==VN6#7;W@?0!>$gun*M^bOvr(LSCCSw17FKDM+Z|(aYvnSlt$zsm?8=ZVk z-|YLlBdQt@e5H=PzxR!~zxv};GOymS?kHu6Uk-wy6S&&o*Q5A+>I4zsgy1?zfEaT^M>%! z*rQ({9?sFyKGQ=c-o!psBa<&-c}Af0QQgy<|I~6=rQ1g7I-I*?{qmg0@;pl^veftV zPO5*sRBKF^X0CqgnTNC9--m~>X06lmop!`!=!+}Q!ZWAp?|d2$aod&EQTo$F^3}25 z7*I+)che8EMXbhh7@AE9dJV8Cq&Fcp&cl=Q`JZ<**^OpB`jXvREvGl7a-M%Qa_V8i`aCsNBA|zWa{&aoL zN$bQp37$UtKSXcaLmWOQbJH)EbJFp;@f(d_ZsPY)4Dbn&5BX`a+8Ry#18BX~brdZ8 z#q-ImM}vzKwTJXqNG2a`e6=LakF;MI~re)ITzgeW5nI6!F-3aQeUOvF$slV~DKgIWJ5knUw z1{$cuoQ*5+4!}uFX4;u4blJ_K0zx7^5_}HxM9qFZW`EQNSimoSWtfAk#wGgsM2NmQ z5u)Toh&WbnT$w&H5u$fZgy>~_+l-qWKY+$1`r1T@Zk-6x+KCV?oCwiL6Crv5kL9?z z`|(7Gx+X%@HW8waJ4D@Fg5Z>zi&lCMUK(GnCg*xd^9a6OJsjN%#EyqcRnjCpw z`BCq|+Un|Ko%+=|Q@`+{D(}II7grwZ)SpG)6`1#9Uhi^EV_4_;(wQUg z>Upoe^jMetmcyi8rJwj?nD>{^dIscu$uTeaXRZ%OI$m|GtDG5LhqA{k{O7`Vobd|u zl-mz%#Y1TAO^C6NM>8anuU^BgnN#ujfaG3qkjBQrTe*ZF=9rH2XDy=T2b#w#b6`yt`vzf|uAE)kAw zj*nv1r&%4%oF~QSE1J*I%;r*jZqahQFlwL?nXYQ-*W!DHRyaH#!Exrvxbe zv-k{XK4a%>Pin5V%GwF~)^#F5m4_pn$F5jipjp-VtT4O3jY@CDi(@Qsczq>C>MED z9l|-wM_`l>f>J&Ry5)0`<`adbV>wMr@L?tKDz|Q{2v4jpPdN0d`3+9my0T*AN-P1G?oWrC+8iEz2`WuZ9Y_o9{|Ief=-3d;{sKLzStR1Q%f=psr-zs&fBTGT}mvhmWj3%%o3BGfyL zc<-VDHIrmfq4tWjSE5!}TBOvHy^EBry^EAmvUgDg>_feaqS`Cd-fZoaYj2+R=4)@E z_F~$r(w?Wig!ZWV1J9M(TdlpzwO6OTb=q66y^Y#y)LygpwrY=>$58Jrt@Pk}Z`q*( z2zB_O+x*Z@KXjKL+U19K`=L%hbgv)k@r@#3Z`LpvQm#JAurDacV~i6Wr8O| z-DaX)o(b-j;P!{r!?K`1-2OO+bEH&EFXdrlq|zHRk8;dB$}#gO$IPP~Q;#w}BsoBf z4XM|y_g-Cdo%f*Z(&K(Xuia?03PIY!qtYk#<}+WZ>JXQFdmkDW(Z6H#qT0q9%Y2~m zd5bO&OqTPoxAp29aoU@E8|%rL1y~Td%>s90BlcX4aZU0UsnhWpe0u`7wkG+?vg83Y zwQ{2m+dh8_G1{N|KC=?8dEKi&ls!RK!ZgqFVRio;`leXD3*ENVIkTlozKlYMK z=O4DUZW~60dsH{xI|~1|>AvNEo9^CQ{TNiQe-At`CLL?0U^K>CYB2Hw z<1NCsy^2%Qt|XEeP12azWxm{Nd$#cE+JtTw6X_k%+2G+N|1pt#!QONp>6Em62(N}; zQ@r#`U}~C|T3%R_Zhm`6wyn=QSeZ(E{k7yp36J9mHvCMr8hQO*s=EggCQ==JlseTq zqCCYXHPcIdPG7xMU;U1{diuet^d))A>VK9%FL=isHtF?`dTslsEln@HBawFyL&d(G zn)RvVtXnx#%3ILa@`qvePrWnPBd4ad_uTx}9DSV34#qfJ^Z+GyGea3ncMFXG1G)v% zl|J*8OiQghORTAxT#ttIzfE5mH=X4GIw-3IRH?9qv#>XY2O~9`>bEqkZE8@(v2Me)4V#)&RyRl1HiOyPre^ZW;cCiR!fQ9J zi)?9VYF@jgd5$g;r~GTTY`$vC+G`J2_!~CWZ){nI8*o*_riLwRH~Q(F7OCI737dPa z#jcl9VB-{&N_}GY1qFdU3)GEm*s^8wmdKSj#+Dm0iR?AEG(|qltIW14yWpDz8Pu?Z zOD~Eqt6q_#=q3-DY-zqrjuqe4)t9WEyllB*WXX%+8Oz05n~Qi7nDFH;tEVhpIf|iS4tDd(SJjRuagNY|`Mfj@vTO&i*Ccz+pRQOKpz2T}B zbo`Q;gv_-|Gx92Y^j-(3~6_?$1T)epa*6H!$`E4_>P5q4gOV26pp5Ybu;OLuCQ`|pe zaq$4cgE)q8jNll>(OT#gci`BGV;7E299=l};ONHDgQE{eKaK$$gE)q8j1*QEkHT*~ zzPh;M_$9?Vk4JnQojAIH?SbEoqX$PHj(!{iI0kVH;TXX&ilcSr;^K~(@#3BEcj4&7 z(S`Fp@Vnvn!0($`UEDu&3v;!1=FH;x$Z5Q|3^_*$pd=O*7sgKr)uC8oC?`5K7jC>V z8Z5~FReteM!II(;6yPY1*5fu54;Cy5N+A^52;TRaG(HHk$hh|bX}qJrq_M=LaV652 z76-Tp2{-WMq2Lsmo3V}}6omee^Ybe|WCV1g<%f)-d<@QvWV<4q=7GM)z_rFNHF%wa zM-6V^kkFSaK&iv!lJb?-1M_5QIIlLQ2PBUHhn^Z*_`vjiJ~1%S31}cx47sp=%7j+`<3C;F@3N;&m#B zd{IecIZPISn;vR)@HT@FIC#?FoSu4kY~ifzi;S0=hpwg;GGWsLxYbx_+tjIbsm8y4BqA7zcRR5 z;X#G<&uUX~SUBKV7Rot^xau8OK+s)%Qw8-l6|>KJ|uHn%jc zF|TxMuWVQoT5}Z?98jigT2tTHvZfiTo;C9{bl`4 zs&Siz`Pk%`#+s`(ZocC1Qt@L%$Z}PuhINNc#mbbfet15sOuNl)@k|^TEuft21y6jo zg?|xYIy4We%Mp4R(Ls8engnP6K}ULaErPS3pd&qYqVVww3&%3pK3*Mwe>?!cE&%7Z z3mwz7`F}M4SL=l4p#Nb2{a^t8asd9ig_k28DIeL(*ez!+4nRi_Q#5`04uiYpd5?wL z`Te$qV^w*d&x00j%j22%FY=#j(GLXR4J3qf=|5oJn_T?60r)4)`;kjuWZr{Z{KoLe`E2n<$v6wx6{q%Cd_b@lT}jEJ>TGz(@uAhh1=;~Xz{Vr-Dc6- z>3+kaXO)+9pSI}jbVn?DR(YWxwdk>ZjgP;@D6J^}c^3Y53%BL>EZlBCud#5uo!nw@ z_x|2y;dVWF$l_zylUFU=PWN4ENS=Pa>~!B}a5vo#S-73<)fOK+-M_VPJKaYu+)lUO z;&0#If46Wu-FN;O3LVaUE>>B%o$gi(x6{4Z;BJ2Z(!%X@`z$_oehc24k;hK=Gz+)W zonvq}UC+Ypbg#4c*y--Ia68?fTezL>vlf55oTo>${FKK|_k4r9<$S$`+v)z5h1=== z!r*Rx3*Q$~j{NQC_dJ7>z66InkDDxd`}zHZh1<{F%@!X!zkg}rc7A_s@v+PK`1dO@ zReiJbJKMtT{GM%a%5SH;%);$-Z?yQ>>2_PVo$fzbxSj5AEdF-7uUWXA?wKFR3-ed)13Ssv~WA!mn}Yax)srkJa)P(E!~se$ z+)g+Dl#D!fx-$*#rW>_zzVb-DU19OD)4jvO=UepOws1S$2Q2>f{r$Ox+v!d_H6y>B z?gbWZr~7dWx6|Eha5uk63%AqlvG~~Oe(bc2JPWM+Hdwfw?#%{gx;FoBTJ$#mSXplV zo`u`|FE+TFuMHM%r`u`qvC}>0^xWxw*uw2}FEY5B?s^Ni)7@?HvD1CPqA#?{^XC?B z^O<=@Moyd0Ut73+U;e|w?Rqln%nTnpU+*@!o3C>$+?HpZ#mAQCKP=pqX9<-Ea0NJQ zdH#=u+wxp*aJT++S@d?gzp`+f|LYcR^N&(V0q4rI#KLX*iwy3T&w2~D%jfeJA6w2J zS-36d?=9R;_Z5r3T~A8L6wWQ5j~JZ!veRw0a68@4TezL>7Y**_x7)(){Ql13!=SXE zC$mw8bIbW77H+4z*x+uubrx=?dxyoxPWOivZs+%T3%ApK+2U`PGk1`qqdffNm3&=b zaJQUSSh$_;`T)Gq!Wk6)pEfwteVc_pVA0$8ecr;)x9Cr-zzH1XwE34B+%4z17H+4z z*5YHQ`#B4@(|y3g?R0xA{&qP(Y2mXVtCYj>R5ro6<$QsKGpf+9wQxJ#^#*tIdy9qJ z>HeL?$IkC_7H+3o!k1t;x13KhxSKBQ2Fek))2*}k*y-M8;dZ*;v~WAW_gnn!a{j4> z+v&bx@v+lAW1g0i`LfeZSh$_;3WK}(z1G4{057>;yDdI;x&s!@M^orWE!<9b3qKy< zm~K9feLR6XpCA8l#F+=-^Qys#eaOP=s1$%B&aO=8KWpLaQUw1egS+{C*}~s$(a&b1 z07w4Jitstx;I8~Ji+-U+f0>2b`i+eiP7#EEvxVE=St*0N>3-J2-(m6DW8ro=f7ilK zvgm(d;WqtK7G7%6|Ixy2`aHf&z){Y3;*fm3*TQZ3Q!Sh-E}^foaGU-@3#aNx=r>rn zP2XtYRMiOm?G|p+-)-SkjR^f-3%BVXv~a2}gnq!nZTf$)aH68E zga1gwp-(yZ;|9Oo!Jjht-46b=!FN0Ovj+dNgTG|(|L5SZ8T{`YydY0sc*?=|8T#Kk zxa9W@2bcUFw@^ov`y%-*a`2}N|F=1~mW99;7IRtJ~-zSF@azYzzQ{GR6ElHcVHF8TeagG+v!9bEEzgM&+c zZ*g$RZ_>dfzdIdV^80xQm;8Rw!6m<6ad63Rzk^GDpKx%=?+Xqt`TY+Em;8o4lKcM7 zaB#_Qv4cx~-|pa&-;*6&^7{b?m;7Gj;F8}}4lem^ba2V2bcU#kB5|#eq8eV76+I7&T??c z@4Fpb@>}WPlHa8cF8OV6aLMmR2bcUdIk@EalMXKV-R|I$-wp?t{NCZ`O2!4S@Z_9a` z!KFT2jyQC8I`}#bhra3H8x4NHgEt$z-@$J*_!ADk!{Gny;I|q4Umg4|gFoxwyAA%L zgWqfL6KZvU`7OjD}e}4e}#g&T9nELjlg~vc5<@OtcGhMsB<*(9wSkAmA z?wtmA{59eAqO@boN|1mhz zwd=zb7JiOJe~rQ2{B~RX?fib=W_1A!aOdHm(xe{wlG>Ftk?ne-nS)1;#h?(>Kru^ixDF!(Wy&ECk)0mIwK>23v zcNu#t>o?=FuFz3OO-EfIao&5|MON#x5+}ikO@uJ(HF>)6%RlN6np20JvcV8DW+*?B z#NX&6Iw0}Ij{(jVztg0D{qflhB>xhh-5SGo9b}A?>-n20FMXEX_7damVf=EQST1Vf z%X2T6Bwg|Aa6!UCL%-I@=Yr&4_%9UUUF$F=Hyo)DdvmrQT|}Q`R$yOpXQwW+X^s4{Z`J& zZ=1fPxTj#+->Et4acj;x;~d8E&P`^HH=hB{opv4TAn_BN3-7?WJ=av_0oW-xa7)HG znznM`{FKRsUm1Xhtownoo<969Mk3DyQ6)lc#~cp zA`qB$n0c~Y%$!JllWUolN+Ut<4yC3+?J^PB?lZ32cAsi+xBWfdO~~+ZVfKyWd8F|x zO#1G-gQWj9ldgD@zW6Z{zg!56&rJ#G#_PLlKqI_V1oPwN0&~!Q++bOC517QSL)dmw z{(|uphjlt8fbn}wfy#3z{kFsxoMO6ZlZCu%j~ISz*VyX0@%fCo_l{9^8KyV!#By%2 z1ohoA2XDO+W;HOZbKM#Q3_rH|-neO~f0kCESSRuwILWHS9G zxytvcyPggEP3b%NJr=4eE?LL5Tq22L-bcn;NF45c{K56h)fJwMbu9bI_LX+ur(^&R zwi&tlGJal@Ug(rez#0PRZwSCu-`CWj-bJh)57i`VhI;VS8q9!gyXxi-RBwgo1$fv6#59lbbRFOXE{a? zPH-vL$$u}uNu8M%Hxz--x)#)@tu}Pxk=AxWeOjw29M2H5?P6R$3v|*Z2K8yXG})M6 zH~pYKZKCm|PjmYui9cSS#9=~mF@G?_k$ow0E-vhO?e-9}tH^j&s zuhq7Ks^aq6nZ*$RakJFgO0K{bt1kAci)*WkS9`^EUh#UbxX~-#iuK&`u%27qqT-!- z)y2CI?!?iBV-JpQ96dPtaP;S`EH3ABC2fb&HKU*3e3*Wo;^DU889w^8&x#Z;KBd}8 z+d-M^cLP->!1x|tqDixU*W!%yLMJ-&#sKtc~-B#ep2rbSYKre zUO95TKCH)*CU3%WD#&VR9e?21bn!08JHuBA!m*uZKP&hX1mVuW!FE*e5rS~UXW|h2 zWrA?z!-hfd2*Pwsmxs9BCLp-n&;Rc4ByUItjnC)Dc0unXwJbO|whweHbH;W1w4isA zm`O;UEApU=sNc*_&^yUaS5Onhg@fKnB>s`Ulk9U73P?ZboutRa-;>Fz3Q741yc7Wz zbxZ)`_nGo9H|H$>$-I*^n#x^hSwC~AJ0H4?z-(bbo|p=ipv0??*{>vS!JA+q=!45KUKx0)y0uD<8;}o-Iz?D&A!?0 zgO!ZH*w&Qba2>x_NiTFtHeesdk&B)>-CTI6MODVE?{i%}?eFtz8?L=}^Cueo9#~UM zzT+JG-F*e*qT{2(L;9@0AqaN{4*R?NZxyO(?LIVOaOum;DYlx>PH-u&|L%R+gjpsuF?ngAsm#|b(a9h zg@;+GqS^jN}?{ z*>WD#XROar{*&o5L|5Bo5}ItE(PJ{YRRlG@oByCbL+p?8910sZ ze#@1cG9N|g494p-&Z#(e(tXBASW?gQ87HC@%i06gLxE#MYHTv?C1*tw$sZ(=iD+Tl z-&27K<>+#Bxbe1vXkJz7nu1hiQGCG<;^AdKXz$rpmiF>$Qg=l=Kv+j7Jh`&bl-;{?8>_naPQf(dZ66uB5 zRPjz`8^|6qPS4vJSBu@g7~b}F@~*;AsgrAxuP;mf{DsPJNx>6WhA(@#GF9-o8tl!O zNIp@STKUC-1rKjqG>I=5Nuqa%T_`&E4 z;g1#_d?CDgKZ|?8!#6(-GTypGa=^=1n)6h_b}#=S>d;d~4=mWfZRN7mZK~jxA;*Qh z0Zelz?g(!-T^=HIXa#K3D= z{_dy;AJUyzFtBXFFT(BI2(l`L{I@+6fe@kaj<>_BN!_O-q;v!_Xe5LBUnEkgJ|#`6 zUkf!#FZpxt^hebGlRsBC?O_z#vh<=nFYh0hrHdX#vHbIu;om<>`3fi>e^$fT{Y$m| z<$^a_{?$ui|KS(HCx%(`dYBf{rXGf}jHq)I43sDrre~c1lLgZA@}5MMe&Pl2+>e+A z53`gL3wm0fyD(jFVPe5A!*|@x%+&uvrE>ZUUfzh8F6vcpTZl!COo$QH?eP}$x4baC z4iUWczUVw;L(vV9X!!H!!M$`-0q$QR^2;ZS1uC-2QxZcg)N;j`kHWo(OMf5zL(S3o zcmlQps9a|~28~D(rP_$NcwbcM!8TLdwlAu>yKwt{#P(8E(L%2mAyeHSLLi=QQPmyY zAgepQbdi3@ab%RwM5yKCc&ypr$>_oOnn$e7smlx-z4c*>CYi{aHf)WsLWm+w$FAJdunnx2-Xa^?*5uFilKW}RN>N!7l3QQ+NY>cT|3tGN zPoc5f_6{%ks+T&4v>&>aVux@4Ji^8jmWr{2-`bmx8*UH8L?LpFEh+)J4wO?#6;IMi zA}_hpj0mj;Xl>Y}fsK_PMdXrT0({xg`GZbttlgA*mm!$!w)tlV6Tu zF(?%;`5$WI^-Ru(Jw(#qx)c|Euo*XMHqrDqw_LUOqVpqWzr>AeuZm!EM(#Uz#r2UD zHH#w+pIE!GMeV65`(vv3dgo0YjT>)r?*Q3Mk)L~~MK-rIM>byxZkw)Zi2QlQY_rqi zX&f%oL zT{!k&2y8dbdl2r!(T`&Q=Yu$g5FR;haq%dQ*6A=C;@CO;8f?RqpPpuM!=_T8?1Dma z4`OAw!H9U=3Q$k`W6=Id{MLM07mm^e^80Zsz90Eb^P0i`NZ+w}Vgs#$ZP`XoL!H}W z(=nNEPIAdt+W2gK{FcaQFEZEojjA>E8H^!4hLB%(*{)Qb;_bk3?=g7H!QYQ_`x{u@ zb6^W_pg|ksVnA}?s{-)L1MtlO_@{tV9+5*mpup}7p#N$B-XDO!3Y`24Owp-204!*q z9ls&KfMvD$h}wrlZA_x}C^^s91>>dNRuwmFys~9ez@8&lZP|>iNwSAJAAU;@Q4k=J z$?FD=V%G~lQ)>c>sB|3>s1}8nQ34RS; zE$N7}84`S_!AZ;UpMoE-=uHq;;Yet_BKShDU%xbeTSpRQVsK2CPm$1HXmGM)esSU6t8 zeEw;JyZODx!r8`(JYO}qD^GU-eUF9P<@O_sk6k_^7H;SFWs8qpJ`u=9$NcgTr`{=W zBDl0OXcCkYT-t}p>$+s7o;`stXg=SZ`le>?b!2F9hN*sU>cGYba?PxpVpL_opO^`~ z;ao7qWUht+=lQkrVT0>1h0lA;xU6Gzx}OT3=Xb%_E=>O*Fpf%8ZyQ4gSPT z`XaAfFwKdas(z9(ag31d_<>I6#uxd;_dt^?zU)hPtKyRR5q=W?G83QAgzW}R`fgt> z=i)aY5_!4tM*`%R^u^y|;+NZrBRp#2kEd(A!Nhl>hoX{zb3yVg@J%+{ylOtM)!CsbdO%@ZmJ%=RC_DET$;y3`i90t zdT%%QK?!+)9+Z%)6X`E>Ae=~E9<5EJS2QOeOr4ibwJL%{biJ3pbB7AAj3R!jPZ1}g zTNCNZ8xs()l^4^Mbsls9Wl(eQo8L>`7%hj6WCVAL_%X z8aV0X$$im1+H2JwOFIFLO{emWrW5C+@}P0*C!YMbA$Xzzh3;e@k_|Oqtn@44J8p(R z@$a)fQe)v&CFi$&Pd$O*b}G}LVc~7g(y;7{aw|pN2Cab@KJyLgI}V>WDsd4Z3dxl+_!bm%E@kk%G0NcCjxrc}LG`6p zg}Yr=lRWgy@yixG5#GTONunSArPdEu-5ts(i0_%Kf*7i@#DODF5HC-p(yVofRQpt^ zhw+fc$T9h(mw&g?4?`!4f>Ihqh2FUntz_H6olp-yuPVpgJ*-Trc77Suqzfv&d{w=m z>O1-2;U9ve3d+4Qqf>6V-cp^SVPImYUy22XbEkJid+cW?hvIar=PORlGqkr6cOAB_#8sv32j+XPn zlhGiSvfbe8g@>nwB}Sn`y^4?_JUoN&px$S*4i)19wB5_2^ zS}nUsW%^H5Ez3%z-m~cAoh3*&yJUGT-R!y+ZX=pgKMQuDGN@nAI3qGuI@(t9%($u3 z&F(z4UVik5tgyFLK_asd9F0Q@JwnJ>wY=%}9zpwB~H z$t6!2aPm3Jd@GAC`ojVAe#1AeE*c+olhsA%ocp7!QP4OCPfNy*+SjhRYRlSn8!#`q z=}1)Cko9m09EI}QFNFyzuUDC88ohRw?wWhp)8SntOLu)D3E_y_I^GI{3m-*{tODf#ll%-1@AIA`LLb~zQ@9CU2d<1+vPURJO|Vv)4nBq-e=*q&iPb>GhOCQ z=$8f1*9G9M26yv&mxben+UMVGa5ukw7S1(xM4rbD&V1SO|2BaB84I_|?Ny79T|V!o zaBwdFh{4_Ri70Aaf0$=+T~_@kF6~>7gG+n$KV3I|x+z~NKT}L{8mJrZ=R*iLWD1|B zj4SL)c@geZ9K=mCKuEa_LMVXo-SlSzC+U&K57LcqH0iUAu^sD~?by##rnxqV@KzJw z&4$P?z84U`)kM7A;Vb+kevodwgpCE9+b7Gp_zj>TFH3#NXrYLSFX<@|KXNWU-$NL` zTnLO`X5#by*iPgYKS(#e(!{spGA!`~-)S)W8Rs?8O^-McL~e;6q#N&MqXg$^PxUFR z3ld-IFWI|kGm2+)+hyh=`yOV=jZe(2yMRKCYCusa^l?Xi=QL0^E;n>s-T3A!udEIhbcM>-g+qM`2t{`8jmsY$!ZmH(p2GcsFR5=>fUxt5WatRpQ5iG*wxU z?1hSW7RKZ*=nXIHg=S@fT5;&78mR||I{P6ek$@VdmA+PyCz4u|Y-!1%1gDn#t|)7p zuPE0VdtX<6SF}?xY3rkBhS5Sv1dX{-FdL0|jGA$k+Z&+(%V^ANiKBg?793h7Uu7Nv z&T32?+IC-MUhWx{IaKYw%6zq>R(=`@L0_fbf@&{SBcHX(yf%IbbYB$NSDCXgGAiX= z`m75cRpzRspvCIJxrcM+lB%yEUQhZ%h&Q4#Bk!HOni)dOw1|CuN-bL)i@3sy!8n=de0^dgS3{s$Rly)4;ZnMz=k_5SefZ{={yU0!Oh z9#?&*)@{!F_V7O_y|NmoOl|*;6Hv$rtxis)?xEru(sGzGbkDOA^*>Fdlo}QzSM^Zk zlp3mh`u@a%zVIEabQl(!NdBZIeSKa{Uf;#(f`b>Pi=OnyDfj#1lxvbd;|SuK1ut-% za&vS&RG-C2vIl8FfIgM--5jJ0tvprY7pCW7R`D-uPCuB)d!;5l??oz1)fnZ2T3!IJs3z#4{i1q^tE8@_l{^8s&U(V zsJIuS1lp=YdBd*(8CS_ZXg_UZlrFz>J^+3Y;xCvso}cw*c(Oc7%W)smjfWke zya>h&79ws0Ob@CY^Y3N>;-R1hef-hM3)JZ3?lGg2#mtcG_42>Rs=<-{_SodVS0bZq zL&INHCXFn6S60J>R)OrtcQso3ZM9MvAj$4XQ&|MC82qV3XW zUGOH_mYLQI=D(-(O?Vcm;Gt-_?&xYkoU=I02=(y|Ev5p{uHYM5zBY(#Ow!O&chrWK z>Z7)^?9n%&M|=JBCTnLYRpqcRx(hz*z*sv=b^FuXJ`_(UqIos-KM=E#Hc`Pu{;;yK zDBB9nH4!{lw6XO1HkPOPtkcdS!|CU6I5)`D^H+yvuf(_awtND0gs&}GwqB(uqh+R# z;_Xl-pXxEEi;71SY|e{5_G-n& z(s=kgdFbkk+SWyj@)Ec)Me4?>6&bS!;d`mCs|f;Fi)!jd;(wB*_-2g6*H$Ht#78l0 zc%_st9QkvdB6`v(qLSel?hEdZa=2gW`=$l&{ zJ{&5nIqb{7@Rt7SuUC|KdDYQfgow@n9W^!#c7E z){#Y)?I#ZFNF27GMX-)6GPWNK%!frJ+d6U+EG_v%(=2XcYoV2=8nzbLN-SGT=k#e$ zTEw#e&oOU-v_*Uf;AZf8j(H2yDzhgpO#4i6 zcL8jC1(#z|gNhmaLzYu9kAZsa%$K}6Q9t~~&oz&M`5im@RPQ~kM_?-g|3}ZopW*8s z`79Oyg7xJ3atbw;`9KOTTL2jJA*)3IyM1(s`Y|}q!;gm<*NhE^fW$FZl|8d6VLq4Q8(L;Y}*@A5O2OauC z#G&K61D(r1VQ^M&+s5?~6Or_`jq8^Nr#wtbLTd5+27=5t;Eewo4Da=6CAStP>$4uiYp z@Yfc8l12YDgP-BZqgF}-Mm{$E!xkUAJbz;GvCHih3%B$8pB5jx+#*Pij``&wZoqoJ zh)a7r>fq9TmYB%GN7~Q-={B)KquZBqHN_{Vfi|&PV`Pzal_qNw6PtpckO{cy)8@kZ zY`0k?ooM_Zo0!CR`(D;>+XdOgR-1A&kF_5~J$EC(d|m?BPuFsZXqP!M6Zo{BoZ{2TDzR-XGgZzQqr+iB*~Sc3g%fp5QwT zWyQ01Y5{eEUP-rk8@afC`_&UUe`0ISO;pY2?yd?Nh72 zWOPc;eA7#xL%}@Q!w5rR)dTM)LYXV9eAH!82fJKT?SaQ<47#lQ6!C67zrrjNp%*)V zjvs5K>n*XwA5K6SGPQGE)+f?;c0dR<#U+vcb6D{%k2d-yJj`ja?02msl<6+FMO8dA zDFukFW5jymUb>-+tG_6MeJb z?b2tY7+>e@PI*y!=jL~tDKCG8w?tEy*ryDCi$=EW=__O8gajP<;*!tHZVz0};5PouI{=UB)n=iHTt*u2O>Mq+;CoRxnG?}+2tvgALi zHI1Oa^tv$6%Kl_Q)fV+^tL<@f92i!2!YXOE^AaK0}Bq)9qN3aN_q(C*v24Z^i18a>LE7SkbAiO0GphvYp)LRkEWDS zWbiUC{k>hd@AOxTkLqxlF6*1-;lfSj{F%+4GSbCxqv`WCn|_bs(`x)u!>7kwZ`J-y z9ywI;C&p;=kc-RA#*@6Sm@7!a1dJif6d)L?MiBzhDeyw^m42WWlaLIir&=jf>1uF{ zUxtEYfx+7ek8KU^qD+Q5=%owx*T%mOQA3F{zsGxIu>93*}s>f@O*M5j~8MC~+(VFCF&8z*Xf+$Q#ixTNs zud54K=q!Q~Km#-C)%V9AAV}%)>QZn}QDBuQ&NN%_Sj)3D7$}g)`z1yWwEPpK>PPAv zx3V2{>D6l5Em>jOExbhfW1$W}7iM$>xz^=|Qq~T%6_GHWV+Nuj7fqJW>*u$s1 zLVIAY_cT@+FZ~`;d3XRr$gRAm#ew0KjZf-f-qZZIvT37C0|reLgeqrsFKBZlQ)P4H zC1rEu3WBsb^2+etFC(Jb69`Y1}k9pM7N0=J6(&T z@Ny@#P1Jgs-)l=I_RB!S>EBrfOi9``U@kH?TN*HHV8FzDzZsXofLUV!vw$^=1{TMaCxm;&cpOeH~BJYn_hz_AmDwwPkN9;~5z zaCGD7!O@4KAJ_F1I;{SN^AQL)ilen~X>ms(1jexoM`s}{t~mA}++Bz%c!fy65Tyfu z0RAA3p~6+gBZVI=9xcQazT+{4?|4j5gue@Z=keHd3dbIVyK(g3=)=*EV*tk>jv*W) zI7W|0{F%+L*y{CYcA@^!sr`Vlzs1_(h+1-dAuvwmrK5c%{1B}b*^auzJoQ9tyw+USsvh*dj(e9nM`1Ybz3RNsK|`UaLYPXn)6LuT(CTbB zbe1}w9_n;(cG0%&Rz3T`5;#g6TAr>Az?%c`y94lV1mM)n}Fyx*_w^G5t>H}u3Fr#LW32) z%@TS)+nBq?Ukk3jv1Lv3hHD$v%sc$-zkoI4GK{d_w^{@bL+&>q3~0IG=vO z|Ct~h`B1Ga_y|Eb;C;ri?shS@?X@RFa-;q0s+_!O5Q@2>xfL z>63J&B|Oc+MV`41PCEeI`3868c_#rl#<%AUo@;EFOxM2ewHD5x$a$;5$;ZC$w_CV< zf4^ekdC(;sV_pUSU;uqA0IxH+o8M*&XHfX>GPs-H zE(^Eo`F#d=<$olA{)ZNBm)jE-pRDpRH`?Vt-QbkdE}sa_>6l+0;&z)8!KFXwc5rFm zkJRQor>S{M#hjqE3GG!0|FqXAe48m>DL-_7S?=99W7)^D&`>C%UxY#8{&WA4Gs2#h~q;`9F4PVy~&kj=S(6()z1cyehc0>s?%D>U&(oC_ki#7`lR ztNxZ4JE>;~$&R;F;!FL_l{TY{ngXT{k&bO;uK4Vp+`3EpRu060yT{3}a~f!KUTx$b z*XDfHmMp9DxHjkc^C!I@%1-_9qw*6ozhl-YEJP`I{ya?BXcN&owLl@(1ym+yOxnX< z7obXUD}W+@R_2o^5*VS27GRf&@EyO!+0>eHFp|AUmVMD@!J``tv@(7;OoN}ESxPh204_kQJP7Y*9M+Wx>H>AoW$-W2RFs47;gAJU zA6N9dmBmTa&i*g~+@kDZ0!C)X(NJ&NvsEzzuhIrrE3)3-#whT7*p#W^g|yHI~7V~KuAJ)Z4r@!Idzb7C}} z3f+2rLz|`VAHWA7?9nt!!vd|$(y-yGboBH#SfXj3rZKh?sly`Or%rb(i?6oxnyKwr z4E9+Hh|@jv&0b4p$~}$Pcv5Ms?NN-{lua8F^{LY@)3%*Ru8Vq!)R$@CW*C;p`f}tL zR_&_jY6M`?uHr}=+Ox5P3cjg^lkM{cEnT2EvkwIK2g(r4tSY2V6oX?!2`>W*@oUc}X#w1;*&i6%Q z@F{ebNm@^TP2F9H_Z(U>aoNN4Qr_m!wsXDuX599AGdv)#Uu~lVHb@T>fA#EU*aoY5 zFeOiI!{lME^bjnKJ!EGFT+q|$i=O|f<>m4mW&PkJgWi++sr zEznaGz}l+DNT8F-VWVEMoYwE025;Xae%d&uZ?Re1^L91gNm{?BYThpDD_ipr{T!|} z8=E?t_l50iHL;SWH(K^)q~jd{(WYlR89 z1IJF7k9WbW+*vqnB~!i3q$(@nvQ%r3DyH`0Xob;Qr^-^rHfK1xaO}a6ZRqA&u^v*z z)M91mMixQSS_nfqQq-x^(7hCf?xiqv!%&W+2S)Ec9Q_Cn!0MYNsdmUk-x+|jqt8YE{Q&$I0r*n^ z_;fV1x%kfo&T^3at2zlDu>kt30`S`npB=_lqv|gBa1Gs~u!1X1q-_U3+%|7xP1}}* ze3Ity|9U&P%K9;~gj>aGY~d}qe{^hm@DbgXmo!{pzoI&CLR#UKUe&285cDF75pPbX$1Jl&_SZ zX)fh7aQ=0-`Y;V0u`PViq+9E!qyrJ>d^XPc=$mHEzgli=u|8k|uKav|BIeq%CBAvQ zeKrzb{8&Kzm`VTN{Fpjmnkkhgksw=mnX%=vZM7YrN81J2!eb`B`%Wb1;x~X9^WxgV zYfXHSSJISo@q=vPt4(~~AKOW}i63MO-(lk0aT%6)g6}k#{fzTkhs1X(hR7}PQwXq3 zV*(hz%h-}Vb53@wk`kY76CLGo(J z|N88?G;a~u_kVon{Qj~;)!pdZPjO_pt+?}`4ioyZve@LniIyn&5aFcDaMkieB6BV_8{>b z>o&S;Dh|(~c{|&*JSJn1ycNtd-Y$J+a@DQR`m{Hoyzyty`b}WbDNPGbBQU&H2rd_F-^b9$H&%x?aXFXJZffh zBQiMQnawc}tC`I#7UXX$Jjd{BW;Xvl`+~%o_v@L>BROX_cOf=sHusTPw(+-9^B>V( z2+TmYN1qulqCsUjhA~@T^8nfw;5wY=n%PW_>Ndkyx7RoSs+r9f{|CFCyIWN=*50AK z`#I8rbHQ21Q{nbU!?)kV+gtyrmp9_2=iS1a9m10Lq~U;#O*c+{rCl6#*b&R$i< zx8xR@*~*-WtVC4hOG|DP%#F&ImR#&wTFS#&+1FkCxXhWl z%*Bmk5NS#mH@;96g!-!GhSIej7OP%e4Y0Q$s>%ur1l1&;P9%S)3PBI4OFo}{p2GcP z;qPH#%O&xLufqU4Gjn^4MHkNmhd3C|DG+xqb7Xif=Q2-`3D;)>nbrFpeQ_;KdI}iN zbJ%uQz_L3@3#`xQPk#T*t+*j#Ykh-y#_?>eSmpREd$O*~zqR+voXj-hpml+-uog6y zG^TcXaaF+b$kV>|r!c*kdHw(Q^x{wi)omB*A6K9=znFZM8l|eLli>4-06rnmgWY``9-9xnZ<{*sQ%YkK@V%o&7Qez%z!MTSR9dX;ndWyk?k0Qd)*DZRRk9zsQbzbIEEc^>iQ$n0i zvEZL(f^fp$oQ4jV06pq;h5iQ9^swb%y%zi~(`1m|wpFb#O$PZ>1fkz*;fy0K)OH6q zVuWsUaORm#_6v38X)+8M-?quFBOx5+A&JPd&B7TJ{62$|kG%%+J`1NBTIgj>Y0}&G z@dWcc)AncESQlD2$HxetxWUQCwmDuKK;IgGcN*Ny?|l}|prkusa5uk07H-=XUo!X^ z;9<+3Pod$+$EH8Q!tHW9$>8K;myc}=w)ro&_%JB)M-ZlCetC$K@m7LMJKbZ51ebRA zNNt+_4Bo@e^PN-Q)cmJCzjuu(UnxJ+Y{_Y$O>@-DPuyzS8@3&cE6;bS;c%+K-8Y<0 zlWwh{6E7kGu-#O%5{05W0Ytsyx-z@2iA7s;%`OUmPwiCI<53*@K zZREG(GA!`~-)S)S{tZd_I~7CZmiQ?Icu!*j7{8H?44kJu)%TI5#FzR@dEB%aWrRjd zxJGl4r>v50e0Cp>h(JQ2I&(ul?_}6H4YX-?8~G<-(`?MS&uT^PHKpes!J5*Irq5=+ zV*J7HTkzJScKuwXW*D?RTjnKS_mVHxBp>J0-a_uLidnmL32wURTQf%x*GpH=_R`B{ zdFfR}n9WmgbuE{tyn#z$-oT|WZ{SjxH*hJ;hhivM`Yd7kJ-8Y4TaDji@K){Lz|}8r zh>?Qoarhsmu<-XqcQX)QX-)pQpL5*~-LF=jykD(6dB4)O-d~Qmhwi7U6Ibz@NG~f- zq^nD*jvN9T9x~A?-nK9r+E(875F=s9*L!)X?Lb-93|DNsn$Z{zzozVecT#4q{Hi>) zo@+d{EY$w!wiRPlukmc1>vOQPDrIZFHn*lyEC^fY8c#y+no+hs*H&4W7pL+LZunx( zZB1jN&5Te`W44tc2T)^TH&x6=sfw0DfvK?J*`yy|f$8Y!T*YPSBTPKY`O3B_3Ml4F zDl5;Al&!j=Wm9uYq@rTZygB6`tY}fE72D>{ol`#VbOWoge2kO#$>pKEttEN?AA4T| z7-v!DziC1VT+BwT8ojEEMp~ehqy$K$=x(xU--T@nZA#;bHX%((rEPL)B2`M+vI%7G z?Lw3fb7%ekbEn?L!;fe|0~Ae5X##=<{EDY{2F1UL1qmP+J+%MdZ$5Ts-`zJK{Xp+z zl6Pm`XP$ZHnR%agX5M+8nfcqiQ**mf3#=DC*L8%?b^5ukV1C`l^P4L2TdMMRz*apA zw(7XLvtS{Qs~1-vu6|qtxCRk7jB5npQCwqLq5SbIYzmhZ$e+R$nFm|>c{oN3R}ZdU zTz$CuaSh-aoOe}zU9HQ)1CPfCc1Lm11;tP58CfF2<%dN*aeJzz&uwssnQ3l=<3w|g zLDV^5OL6Ib4#9-G8lg<^>i{PmonDk5unre|wyl}y9B_g28@)vwpl5!hCqG$RQohBf z+4su1U)F|}`nI;l)@_D~v#~RnnSp0R#?8E@$?F*Q*!nEWPls04gN7wBCKv66g6A0U zDTL_=V^^Wa@Ff%|IKtU)YWQIn_>_Y4+kt(p#y^9Mz!A)aMCxwk$t$QW3)mM z_nZr&({L>($Nr7b(7bhP(rwLcjZ0UqUU%;Hw)%!^@$t~OrG9B+(}qp0^;oDy$;)iJqY8SE2LF!UCqMGlA!}mk(Eh(+!GWc@`GaI>$O^0!BDx!gLXpZ?y?T z*yp%kf_u_*rXO+et&=(VcN^>L^ppeBIq&sYzt}`VSQsj; zI&t+_Kdrc`LiBs2Y3use_iGSfnfw}{{89D%bh+5hGObQusPM>7THb(7sr)%;qT{N% z7!!XB#XPYVeszY0AFTbPggYOhUa+%!a6W&LA(gG9L8`{ zK%U0RuLpc3to-_UBaa?{N0#9cgSIez!k7DzbD8`A?k#K!FiLpr|Bb`rFuofewo4$7 zNh`k}lQ~%VRXeQw-h+1lX(#|GL;U?kV@S^&yu$|jtO58z{S=t;=ShXBp$V) zN9s8ysEsIlDEj=^ub$S{Pi}p)o@PYM?@IfDF?eYk!LZ36M8vFZ{lNPWj? z>sNr*Qri0Y7!tOAoKg_BettHk$#YC`VfI=Oj^H0)bLgS|SLlJ)Me+arA-u!iCFO0PP_80uoQQy-LyDGRBbO~O z;k=U3b3$RzY!g>=*w92iSuX$nB4bd7%-T`v73=x zi%BycsuF-~}N?+5t|h4_dt$4jtk6oNCZM)Bre2#(#lS*Ql_ z6a-f}sxYsp!qCrLnDr=3*p5@SF|g@^7q;*0hu8V?uCuKkD_(u{(s<5WLh5gL z4#1?fq&ReDr2UuLR1yOjx`}0}o8B1p_C@!43m~O3sGR2EYay6;NNsxaQ&duNNJLXf z?xrqGB^f0)z2UHlrjm@A_?OvjdV|)dEYmf^45alCW-&2~iy^1?>vE6DjYWA`Rvf!c zR)e19yvA8$n9a2^*j(0u?-OcsIl{bNjWc6JZQb+bS#I6KO?0?*PY9dngs_RudTgQ-Qd{>lVCx9;63c?%J~=!>&EZ zA3OEP<7to{yZ7|tUhdj+J$K=e^L9;;C%UWnldumB<}VKB7YFmpg8BZ6e5)eAnzo{g zfzqS!IVT8w-+BWxm~RF1t3$w)^bRRpF`qpbyHeB->`O;*jp7=Ejp;b9$=B>mPfa`D zhPobV4>;U2U8%S^)iY%R5q>W&Q)eXF5Wud$Re;OsY5~Xu-|7NybAkVZ3;Yu<@CRJr zZuX~c=i9s+9bG2=F9w|Tpvy1hA9=2H!QbWrzf;k9m~AnfcrW1ptAhVY!L?2&(czk^ zFxaLh?Nu*IGg_tTYVuGVOyh>`c|5Inu5@hLs8i57weKl7VYK-{rN#{%s+Ta+?wp-I#YQRk$Vm~v4)AZG?=UEk?$M-_h`8Rwf(NR}H6C4c} z9R==*Z`yypN$DO)pDbwnr3Rd7*cZ@Uui#GlA5#d#HSHmvRB+N~P}6_LfRmPnzl%3; zq{ETAhF@;LO}onV2An2C8vj!Y?#%bA2Ap~#jsGiyj+yU5BEgX#Gv6WuZsz-41$X8< zVZhmx=zQO)+7)Mc7a4Gq{`(BLDTi)*3VlQ2pN%}ZRzl~y-=JgK_r7Gn3l01;sCb5R z(kXR;*C@EN9-0g|gPNZ`3hu0jy$0N@|2_qG^79QB{BId>vp&CV(0QxD&)Zoka8CN~ zQgHHV)|-#Wa4at`?Y5{J4cGnDUI$$FJHrmR?stw|N8j4KvA(T-`ty4J^6hxfQ}wRv zRW;N4*42);fDaq4nhy+)Z86iT=11(yMfjNtu9{(jgo~(rt2IFRKF9qM+>@p=y*_8g zfu8to*Kk+ezRKS@_EE*r$;EhuG)>1ptK zm0p>B>TEp4Y^30v{Ofz|Hv)&Woay~4z0Qxc==8nzTLEMGVn!OyQtA18OsDzQzMCCy zn@Vq{Wmu=v@NNZDudfDscBu3|hhS*FHKL6GpQ&F1lwU`q6}UR_E9I9>mQK$$nvVQ9 z^CrAURp@|Q$8?TcS3BN8#s7?Uyw|j1ke0M=NZ2;O zf}y0i82b<*C`2u|+cxwe8BXhwlk=P?=Zv#3 za<~IA1Vl8T2Y}a%93W?zj2v=NOHg8o!D@B-Rz|G5lcD7oBA(dFXfcF7laWIk;kyq} z5*$VjG?EwqZ|+78X$8ZKau-XJ@OtH4zw`#BHzK_;>7CT#zh>m{Ki9oB^C%U?1$BZ*bWI> z7bsRKkDiUU(GT1Ig1B-1P+^+X)BJ`S^pX-~unKuhL0C}(zu;q;;&@bVk4I~7QP zOvwmgt&lWs@S)5!ZYUEz4uoSJ;NB8`(zu~o+-EdyK+`n_+USe+!h_1RJZ@#JYIr)F z{dsXjj@`+T#-;HEV^qt7x-|8m67?XIr@_NhQVToW{tRfaUsGCaAhKnGX$Y-suw~64 z=s;1+W&Eh}B}z0zrB{dTjYV}h-A5Zk&`P2Ra+}FYVia)H2+b7?D~UmQ%MKL}tD|V6 z4zSN<4XR|qy8w(aab_zC`RG}f=xmUZwF$3QdQI?{cbZj%7&K)xl^B#Mi|M6qal}kO zdQy5Eli`j}E9rH~yB_Iv!!t}Jd@=lB{n=l{wSR#?Ih|DOxQ{A;kud_JdKYx2m9eoZ!fU}7#Zy)iR3{++GgSx z!k!^vYhnn(*WK%`5>Ep%F_R#uGYBWzl+6U~?FNukN;7RH79bB{Gr=ffGr>_9Z6+8q zu~ynl6wGi?kkhuoymx5yoh!F$X*c2HK(SWZO)Q9RELtG!CKk|cqBhedU&iR6+6=Z6 z)YY9(+llX?zW$816KwF&y0KWZ_Z*e(G^41V_?v_oMZ)Oe1O*^A;zNKw9gcNS))VqR zgAK*XHL2DPi&Bm-I(8e1xzU}y4TYpTM=OdGbsmzeMNdTe$~$qk6JZFN{**t!`RbW$ zCr0LHe>h9&_;Ioh&IOvpC3XB2#(6*i==k+{Ks@gVs|}&wmpXpvu!T`UGxnQux1Er7 z1ZEyMJqPK!aHSr1gwuBbbI*gv9wn*q1S6g$L~2-HiK`pj_2B9~buBoWH>Qp|f(b#Q zcszJ02xJ@_gi9XhgoA%zFVT-;4&WL@;$fJL$m5RcaPSbeBm-NMxTbJLV7eep7+``R zOc=136Mla#R$?O88&s}1BuN~16atGpkx3h(gpex?A8<*-2^QEwt|8J264&bj&Mj5U}Lz(aqQ6~uHrn_fXQ=1t>nN?k{KAHOpJ_ZHO(H7tYb)~WXhI=uD0(4>bfRYj_Ihnst8=W?I)O zr`}On4kzDTrEoLi&Jba0MN=K;=H<%DRQNdxUYiP5bHM4g6c;M|DF^;?+?%!(qD=v8 z9WIPv)7(`q@V|F~?{IH@#h1@3l!(u*$mZs#N|fQGtlN6MvW`0itF)w z>Dbg^W+0*4{i%WzX4*oOsy2~u>Ls);xJJP>9YhKD69eC*a~{58=orn`L({p)fYWS2 z!|!8;aGJil^}MVC^!R>g{GW?y>U5im1FESazG+jj!LXem3!0AGUSSWr*i>*05gq9- zz@_QDLp7b`pC}q$X22QL@NEiCI#lOq_-75csawC>fSbDVBMR=!_mtB?6pnBPHT{bf z+?j8S0XOsAVZhCNwJn4*-vB!vIKmm!`Cg~s&U|k);3oaM47e$W-%;?hLEE$qc%y2+ z2sdpi3Kg9BQpcwGS!cit4ft*sI(N9h?@@4PJq#Og26evAD7dp8UNPWi{pTuOud`fl zQE<{R@!x5{&H6mYpkvlsmjO5HEpE_ZQ1kCYn2zP;rCp1<(Qw^gea->b{m+O4uKSiw_&_SZyk_O+vLKllb)|LNc%f9@{t7j3;7?+4yI0PX66& zDs+117>M$1I@*Ae<}wqAuwUh`nyW;t&R_c$Vlt)I=PezpO+~k|DRACLnZ>vS64tzhc))nL!4N?+^{49&Mj zv=QJl^=p9gM~~B{BA1;#+_BnJ46+l3d)QH6$E~YPMVXrXn1xM6%85@i*;HIqS_(T0 zy4mj+F~SZ_Ilu5T*i=m62_|hSoaa6DAepeKpf)05F+qcq6T2=5;GtCM7>es?MbtinB&1u zPxGDdcFKdFrZ<&nahghSvl;u-{Ho)Y2N4jmqht7mr2_(5~{0u#%<{#bNuiR33(78;i=q@rGjP<*|{3w41;#5?BQf zh_I5VML<|d)JbtH?B_?GA2MAE{bJ_?SAFw_1 zu~MK*X5~;lUMBoIiUcOi75w5Jnqv6lAYyC*p?BS}>Z$bEwvhcXf^P` zWDR3y$)N#I5LuB)aXQZn0oY0mP8r)wj^lw3V!#2*h=fT54N$5-;^7~PR*Oet#qXt& z!jVN(dS5*{vd>qenk0PDKFqEJ|g{g3&8du zfBcLtMH%20u>kJ#+uO0Y%6J-1V6fgdn1B&M-vr~n8H3f3%A_DZi`dV}yBh7<>^ zc+SCUharUoYNH1lWaOeG^nLIh1{Ep`i!q7S*(yWj(Ha7AQ_`D+7pO6hiy~DaCh&!r z2p?i1e259-W4{v;f@jF;v+R4NF20km6RiyjP|3EJ#xe>43t zQA}6Oba^+Y9uviM;(VxVrPohACW`4O98w@1$3*>F^wwg(jLTvD5UrA${UJVn&&2Xn zgNR|kl)9da*A45A0u)#8f>9~42H`2|jzb7JcfrtB9utp?%@+0-rEi2#2%?!cLSW3q z7nv~n%q*1pi=liMmqVZIRN|Lq(8E)tPN*KfT2#iHSUZ1?bEA|VUcD)X=cpT}uDy6- zQ9{>F-s!|=zzO`pQ)TPrp|2gL{SzljWz@MJ!--P=Q*_unA$#gG&QrmOgqd{M{qwWS zvhoL@W*vkkco<6F5nQ8Kr#=Q>Dt-03b*RTWbf!G0!%kAOz%fs13W8b{sBxt|6t=h`P(%06pZ60W^9ZXIM)9yg zFcOR-p;UnDZ4TB$r_Fr;Dv)(8iWh)RI{@u+9f}ulsO(Waz)R}1^|JhVHOv)@@kOpU z1PQ*ZR2G;@d^1;8D%I{)$h8W&Rw*d04O4GCUHrfHggSOGXQGR zFU4j6)TCoEKQ;o8n*ks_^w%TMxF>bmsBqvGQ5csXavyIlTsr%~p!eyCT1=BHu6c+%<^O z>;HXxd5=YRjUqu;J@%Kd?w?coe@U1SL~Pb$2eh%$^L>D>d$I{zFxDB^;O#%6N}GSX8#Ewb`9BwGPjX4&7pk z?wA&)boi`F+50-5h;W3PI-{iuuIUIQ{M>8cQ~jlNOs8>B0>@}mcl>$-PW7zDznvMv zY5MBc^SBDoGj-GV;H!a-s#D5$f{vj(e!T(T%go?NpDbwnZyIpsk&BD&umi678F9c_ zX1X6KxRalI6+xz_zCh>O=c4mHXuuiN_)`i_I;KusD24$e+|*^iMZLd-o6qrb1wR{b zQ|H)Wz)hWF%%HGl%N_eI$QFUMS_ObPdaf_zXKq4I6j*;{U~OQ{6>F3Vg4|+?xtHF(tRdX6BH*zE z@C*#9Ci(&8oU^Dc+z;ZOyHk%7p0@k`e&p?GTOv04_1^Z6ct~O%ePSCzTse6U;z>!V zQqM`>UEjfdDnq#IL1K8RJda8sd2%E;S!MKg7Gkcks`F*IE?KilM8f3VWd`9GoPLs{Y2&noSjyK>48?yA5p#P+^wk)_nK#Y>+L+fmjy^lqH* zzcik=JKT`7n{>j5re5%VAn))C-r56v70M6Z_%zUp$ysc~%8r&HWasR*vc;)ucHVvE z2X?K&l0LSVVY^ePmzZNW<<7pni(Y*B3~JRUnCDO;&jUC99B-zd6k|_X*>_q9ap4}S zD%yp%Q9y6+Mku6*Rd@rmy?6@yFFO{-s zD4_Zbl2)&AD6=|+u1{(HBrU3L@jmqd-SNupqu3nXR}2|Dx{tz*Uy7a5YNDQsv48w! z3vmhw+Oj+37UWd&0F{iJ3QVQ4L}QO8{B2glh-e@}L&1lMh>e?3$nuePsE{6{96%Jw zsS-?Cr)zNnp{&>RZRS<&W~^n@#U$g8?h`F+JlZdxL3EP7S>M29!&n`-BDIR0Pazb~ zIZ!RyJhk3B;dGNiyxh=^2pQ6ip1r?xm zS?A=UGG@|cMdoL($;$77E~^_VmL8~GdZEYagWr#90O3Jgsp=T&pRmL)P5;!KADKT7 z>kU(gK^X8Ueu~Q<*COkBYpUIrpL-ED+ncy5cE4i3cuau;!4q6>tgSduq zNv%>9)@N>GaiMzy5m|R;rcgzROsPQA+O`!cQ>wDK=9SvE708qdv~^Hrt%E9yYhE*D zs`s`2ATr(LdgP{f_6yMl(6Oybm&L*eArP(pY1`g*F_osR+2mC#_ zH+4he-2&|WxX_WLxfL$(54ymwc7gA3f#2u?|AGtr$1ZRVqcZW&GcZ_QT}~lOzC3Vy4C3z-8v?n1|G)Kj*0zK}X1wZF4o4kzaa{^C|3D*e!g zw#{1`w{Q4pV?$eWtFd*n)(m9;r7DYL@lKAmNbc9Ha>!Jlvr{2?n(-Xz*wkPMn3&`K zfr94%X3pKePPIvdn{(plD!8VDXyNWN@Kfk8GdM<*mY!RGlL2R|qT&BaBsfi9-FkkZ z0`%DCXnb0p(c$wYMYoiTAvhiJId7)%Hz~Lif3<3Qh|l*)<9|ZI$q$oi_}vDaK@ES( zpkwN;CJZ>IDgjm@?oD>UGQjn z&RK6h0hMydGHd5kH}rVv_So-$>-M$Q0oU#8U%O7|PF3%^UR5)sZ(VglO>$u2;Vc2& zTy;V}aO5kgr0WEhAcFF&ve9Us*`_Z+3YJMd{zUpwmA@P}CBQ=dl6Ufq1*TtS0ug>% zrDt1VI$eL-w-A{r{iI5NtU93x8+SP8m_y%dzY#dhU#TFNM7VC1UNsvUtee4v--;Nf zFHT^{K#xk#=VLluZtc72gbu0nW?F`IIt}kuFz55ry73-IgtI(0(z8wR<1$^3QU=y3 z;GA_rN++e;74~g>q&k1LsdR)nWtZ>)wLXyhO_#7r)QvA=P6FRTtqVr7?*%@_0 zW!$-#ZuUB%Zuv1Gis4tkuZLuE&s?k+s9Cqx+Wm~F6RN>U#8N5rFqA?GHPC;e@KyE= zI708Jw{rpmiep_{hY7~xC=3N!GPx%Q798i=b~<^Mi%IQ4Q11WPbhoD23b6DxQ`D|DwJ08!6x_E zokYwrDwMt<&O6SeP+EdKGAooAGw~@VoLQlyS72%1p+0dcn94FMn2CG1=)yX*y zHL+quN%K#1?G7j3JvAY0#GN6+>AJ2n0XKDB;++L7fU7{HN&T^0;2&~{RrRD7cV6!0!Y+Q+;~cjZR}m zWtYVL%Uc$es_oj|avTaTRm792@zPmnl~+ow&Qj-9hv!MhW`=WNTGwz`!7(aL(Rsa7 zwMT@Tx|sJXxTb?>;l6F)b6Qc;f2W#wV>D@L_#y+&)ir@= zrVi*#1J1Tn<6mOH&H8Uw@Uwx-=|_$KWdm;NboLo^SZ0m?a|3Sb!tzzqP5LICGhE;S z1!ujP^{~!>Gb^3%#}wRI4>1GId0UOIbt6uGKIek}MFVcu=YWDc>+KZ-Zk9LebT9!& zK8d3F@gYpd^77J7+ox!_Zm%N>NyByf`#A?(x4(bwy0Cmz@48-9^Q3QGbzznqczC$0 z3f)|FVXGbaN-F8P5I0@eY}32x!m3sN$Epjv$|b$7KkZv67{kkS0hQmR(jTiXOmq^U zhd?>5o+x7F6jSWJO*ktQ$AX zU%kGGC`+ZEbVO*rHKL6G+Z4YBD8HMH4_ux2mGVnj(COJG(q+n<@G=TK+_CDyy43^H z>!>9)nV$~RXWyk>F%#^WRQ%7R3v0i+e%nUl0MD6pVP(sT%fyVq9CTqL(tu9z=U2aJ zy09{oLa&di!Qvq3!kSja4y}qkE*3`R@#v`?z`>!N<}#@m=;4H)ymy2dN721ijW&5c6|BBn+1CEXwu9zsCfXOF9Q{Y~nsk1w%q~w34Rd8psQ+xC@a& zkQgT&T5-Q3{Mrr?C9Jp?0*6-IjG5p9b|xe+nQ)?x#@%x3F4~vpLS8UY$l2e!kjjYR zBqJvZYvEswCLiad^2Er^9+scJ#F(Vek8tOZLC#PYB% z!FXbM7~epgc-BD=%fouaZDM&?FK)3qLM#u%rgU<7ST$C^aH5ARyRe!ou{_LAINnCW zv5X?IJj@69q$qi?Xfg3c+MPwkpe&Y$l>uns)#UQ9I>+)bT4P||T8vApotiSZ97>rZ9J)XX zy}3leevplkn7hTowiM3618Z6+{m2aNd!;uhy%Fh+Nss&_QTlmzvdZV}TnGU)lz#2U zsr0i#vERL>^uuy7V`12FDgCV3EB%(3Zwpi=pM&I3>$9Ie1d6W%-nt!tRc@?SGPSP- zFDLf8Y{7dOicO9K2SR+PIx3Hj#J-zecAa>bg}q;S>e6`5&sjtLNHZWBz;ikU(Ss+!$*uUWJXEK4ae)UR&_qj2MY4m*s6x-R+T^F?fj&fAUcR8!k49?-UA*X(w(*1$G0=_D1h)r;X!X$3Y4m1{w(3oVy5te1bvRe=no=$`Vr+9 zDvEaRJz#8J{K^R%Y>NU78#65lX%#OW0`B)Ic!7RKc=_%UE%auS90SfQ1BkAsk z9s~8YLZSd+$5{O9Ko@mSvAlw@2> zDSSS?iB*3*dX(9}n{uqvzZq*HAGTsc)`4GTC(<7|MdXtp!y-*wjN}%YQUTp{(WUXy zUji&%NAXfLgp2Y-Dakc63KnoqpQm5*9afZc2Bq~Gej@PcMSabQhn$YSh-@1yx>Y(*rYL1m#RNvZK|1n?kB+V`2 zgVMLXskwd2M&H$qzAg2w*EF_5=Ul(dx4m)eX2xH)d1G5sLb04d*RAsT^Q^n%+l*G) zLqCIyq{2>|?wfkag^KtuIDavd?t5~6_7(G>aSbVrYXBNoy}2gW2I|ck?^A;PH#MmA%e;WaM0@5_ulcpfJ6Fc&@Yct~hvam}1ZHgw-fj`b0jq{fXos|+3S zT5vS)6(CorrH?^mja@XMSnkF7nDS&w?&7J7w;siV+7;IrmPw8ScM{jssne7ML5da>r7tv7v^>l`L=-a;-wH zT;<8VL(TIrxpydvh^q%zFVxq4xTG4}Qn}(hO>j1fJx0fXGmdK#+)m+&VBgR#>=D|H zeL#C~_2QCyhw?m3aE)siI3w6wRPG&$Q$PWmM4BmFk<+o@6jwK{9$dY+`f&B*8o)J( zy+wzyx9G^}J5gvUdwU^+bQXW)d72gZi!1Vru_QDMkQj8re*<5R*{u82=V2l%tp6N2 zdFwy<#-_V$k5T{`QJlxiw3le1z!4)W1KZ;fdzJ`oN($KXE^(Wi3dG$a0il*6)h!XX z^F2+eU^VwU-_!4am*L*jt&27Rur;^}9Jsu_#s%)CEB~Ym{y)0FdtKmPcY#0X0{@i@ z+-<#RA!IF6dEW^*>qpm%kXg`P>Vm({1+I1O=TI=_W<) zQvO^ZZY8iJv4N+Yay6HnZn$Psb88!HuQoKaw2L*L8%i@Q?aTm@t34aHY--=O!E;S( zb9>7M&xV!Z%PRum4VSN2v9_vaLrtI}T(!X?EV~f7L8+}bHn(5BrE$Zm%YzyM9=2|{ zrnP?K=EiMp+o!{<-;SP~sr5Fdn_3$iJzMLyY-w(A6mvQ<*EP3ZyWyHG%~#iNnGS7Z zeOtXo(>iyv4ri%y_x!7Px^ljs_A*+B_%j#y5d~+HXzEf=fn3lL&elcKxmdyR<(8uR zt~B7L?t7bRYw0nKrt^ITCyer^;bJxs_ZlBT;qFmQpA(-3vUJ2}E2Zfa7;v^y8opOG zeVV>P^ZZ!Bd2i~62xh?*#^&X>`7qIN-Xa)$1-b zpX#;stXBB+On%;`bZMk(>Xbigz`0yU^Yc9ePCF?Lf1A=Nk&X%fr~x-)0CgR z2Ao-G`cE2kOxub7FyN;AOe*-9xGo{?dl+Z6(;@Kq27{ zC=Jb9x1urkEZx@J*0^-#>UHOCZ>w*(7Fdm2>X$Y)ZP?UWzqL^p=s0~J(zB^k%|e2j zUxhAF^{XRPv#4)fZ3+7MQo)t+!N5_5m{zw3a@^*=*J?!NTg}9V^BG|Vm*65z=SXtI z!8dW~ocwEBf@Lx~@vGCT*EIpx>9y}i48zX!V=Dib6DegtmtUv9T%|W1_m9r+y7k{x};MI7@m$e%UnX^jdz& zk27y3@v8?ipd!gmru6Lh94s=qN3V;$*HK`{t*b3TvC`lFlc1LTai%}7q`XAW3(=p+ zmf-x7l4TNq_UmfBMD7(caqFg3l~5!FhuAXj@rX`Ci}Rbyv4T6}IvySOdcwQSka;?lDe80DwaZE)7d*Lbpa6lDEv-l@6WDB^O&>AAn(5fO7M zx6Z4`FN|knKdwDFf&9fcpAyI~j$(&0|Gb~)7XuK;_W=Qj75TZOdll2cUBn-(foR2A zhEfFEcn>G~j|_7*H=LgD3*;9D1R;GmyG)Yy3s%v_J%2PU0)Xta7FC`N;Nkw24kw#5 z=SV@0tIatNQ5Q(N443X_Oj0Xd;B|nLj!rM?1h5tt{F`0iUvhzeA8^v=Tmzl%o1aBE z6Q8V_Oz<;Y;2u+0F_WMs7WC(@l;jjc{+Z?wKDNEBaqET#e4$^9$pr@?mpOxJCJT<^ z+dYN()Q|TJ`&w~YWc#MZ)(xAtwKYPMu;IGa&25dYQz7DM$gv=UY+TH5ulK5W!p(1Y z8d%Zso5}np^BHjSo8~x{j)^~Ez&Xy)^j|XQnDz5!H6~%bnf3Fx3ht~QAMofHtx&{$o%l_{ z^?SR+0oU)_iT;*)wLX-5C=aXB+4A`Tqbo8i1^24jMI3)P6l0zGaha}K5$sV3_$(OI z!zDe&JX67)1cXHw?cY}UtNBk z{&K`HT%5p=fv>CdET8FgI_=jYQin~vpU<-XwyN|_^l=5~Gl?Rs`Pbkk1TsB;z0So_ zhMj$8L{43*J!WX5pL^ye)r zE|=d7@^_|hj0;OHnDaMA7Y9?y`GxQJ#@PJ~#m$QS(TeXW;yBof-%+#$eqf*)_!hoD zj1hPA2A(`!j~7&pq=R-ZN3~U*Pw%P~`{Re>UsPoF2r_ysANwyWyCpfaEe_mA@~dLw zRt$&4Cdc$Lhog927Pia}l>hXGdo>BW4E8DBju#OZwwubr=QI_2yAI+mu%9Ih#SR~N zeJCC*$`Zyk|AdH8>`*xNi_qpn{C)^!&$sLWKez>%wll^>8X0BT!o=Llo@Wh3h(Tv< zen@ic~UnI>t~$3tf7gJuo<9YGSzMO-8B_bGNgbInH8I>cADl5YG2BwKZJeRpY(3#JmV3t3{%KN2 zW=u^Cx4Z{uOic{8)U-03zTCucOHHfC=~ENKEp^X~sfpp1dUVFr#BfW^Qx2x*oEUDY zYiCSN47b!hGo~hnTk27n+S{=UTgixa)!O_M*>;NZTG@rxP?T776SdrMMo;muO>cX* zOr&5#0u9qL?3ohNL$KCkx5Ne#vquwrwFcx?ARDf;?$_E^n$?P442S&)bIgJIEwXpD z?$>=SaeQo&fU}tXKq4jur&!_8j*V&j>YiquysuXGwe*dNCGV}=oZpJ`n+AxOPUBS4 zg}h0^z9DD>X-ZJV378J2Or zMap`uxs}iWP?z|ieQ9go?z@EHP_geUk7o`uNP1Y}oI47lLiF6xC_idl=Z;_lbV~L= z%|AVD`e@o&ABxXh=6ni(pJ~oVE=f}oEpX%yr^n4XA5jLt&c!8ZNj&{q=>q?V3;Yfj z_yaERU%J45?E?R!3*3i_%fx@c1@1`-mk`ACX`h6kx*2&)Ght&|QA~rD%z_D~Gs~Fe z3{a9F6L^HBNOG=fx(T0#rux?U2Bc4$@;SCSp{00EbeyX&=YGx?Q2AYzi?E*a;Cn^q z#NQ&p0?zLtjo)p+P5O5#IQ#F@4g9Yd_$HlfzHo5FH|JDdui)gz#6Q;sPC27<(z)CP z|5_LLjV^TJF8E(?fj{U%=i4s$zjA^9w+o%q(8|*}>*qZ#@Nxxr*3U{8{00~JbuM%| zUGV?e1#X^oY(DpgT=0M90)J7#o#o0>17~Obyxj#}qTo(C?{~rfpbNa&h0YBw`2Xkv z|B?%x2VC%f-q7rEfCb%9^wLZ{sY{}V3o&%4mkd$>5C z`*&UFnCBUoa`?Op{_E5L-AVrp1!ppo&Ur5Qm$|?G0bVg4pgxdi(jhc#Z)}5|yflDc+Kl4>ic2rLsI>Hg^I@}8TwHAY zUdWyQFDNcw1|Zz*?UWWjB+J5IzX=yV`~<6jzeRhb0g@f(59d8Lk{0$Kse_+p*wi7wuqUEz(;k6K z^CoOw5~Z|?cI}dYol|7lc}1~6I4pNC4r56^t(-8ADh&Fu=LAcRloCbskDLXnBPJ*{!KXB6qWD@)5LATJw9S7d2*(izc53DSikSf5Fu9hFHVoxu90=7+lv&E24Ejx);`~@BnS5t1=E0v zZ(FQY<};4L{>ppnHdrY~ug`(qRTkz%aM-eVkl4iLg<$!l_qMwLRO`K2iN=GuP&|Q* z)ytPSQ}sHY7ey$X#wUPh637=bQ6kNJWezuQ2*z8og0bznS%bK1iB&Gf3FQdYU_mv! zvRGvSrZFw>M~9#vK~~V=Xc(ca!_igr9%L*Eyz6fQ-q3HXhG(qq9;@>rA@SdZ=PsB0ATDOyAeH9!i2IEg$KrIaD(S`~v}8G@K@Jc?j7 zg5(EvbQOw92WS_dDi~1+hogHC0>k|5%>r*N#PN2P{~b~!`5{#B)3s4h>LoT1x$z5` z>0|s*v`2%7qB{^&%yc7|&de~NbVxR+5DrHlLkP?~P7loV6UW=R^aDUkGDE0fW?zFy zK1OU(Qp}7q9<$6EJQN*3P%$%tU^+9os^v#Ab^=5=9L+-r%Xf-;!Rt`*$f&pXRo1+%>xYzGwkk!;gqa?2k++Am!#*z}P+ zak2eFnSQupGI}V=d210j6rF;vionU>^dfLBnhr(qD+EX*2|ya@QSgZ4?fm(bK*O;K zwVEfwMU6gDF9_5TpR`nsHZdNurooUk1Qk2g2&S{s1t=YoMHB*L4I#=JJ=CI=tVIZQ z8)_0>lNDdm$&{jkE$`}aN+qdzJMUfxf|=hKVu&Ift`nK|G7ltTwOXWGM=>Q5#8k&Y zOcB&#ieP#e(_{KE^z3UF z;2{&m8+w>h(NWYze7t9!&x+myVsVi2OiJF)x2-{B=b%xR#M?#;QHCFXNMy)?ge(KL zspyb<@1QLu7UWw;LcS5y@{M46A-VviL$ZiMfP5oF`KD)A7RC-Bi(w#%vUEPO>n+&C zgZCL8OAG0FJD;c){AMZ&F+@=wf=Mj0?PV_Hph0Fr`6deFTgO1Y5!CXHV0t-*0i{E- zL4^SMMu_rF&%SISHbCPna0=HbSud0EnLJ`XlYSEPcK!ptC%|o{f)GO#URXe^aAPifk?(!BH$f?$9IGtraFoZqH4i_Ne-_hq<1i^utUm-x)5u&iuqZkv%+xfv& z%*kw)0T=AN%nooUT1R}+(#l;}iY+}oKDTqB zuB>%F@_r^wd*m%7>h1h!7?CND{EnhQCP;RE#1tj^X)OYfVP;7bG%2;Z^XnrLq*%v6 ziV@UOj3E9~ie+PjKNRU9AvgrP5hT*#$X>KbDxV2I-E#gNz@F_G|D^v>QRibsvK1T#o@thh(D);c)b6guwML;ju=CiR10`uVhZL+Q&tj zSd>wMqaU*G$HT?F$q{n|cv6Fhq9X_@j>Zv8=g3D89FlR)jdzEm*sYBmy$4>lUFj1& zdM{#xD5xHt_bCmfl!shW@OFM^h2S((M@S4&h{IQiY|EG#60svBQPixTC_~X=9WxXy zKv0!qF@pGa$U_}La7b3G5Fo|~QHvE7N$`K(7(~{4#|2H0^}MY$~8PG*Vutfyog=Iloj8F zNHF|QK|nGyObo&BH#kaxJmX$UPhv)j)6!cs6`q<{5u#PBM1)3Mil}?8X<}_ zJR#D=@pk^W5@=45MwDRcKR7IbNHZnLsh5m%N&ru4Fhm+bEz$_$KZPUJEwZ75W4DMP zk!FtSPT5spd3c;E2a@|qXMUu%O2QdZn z&vAHyArdnn3aZu5H;nOk!!#Ig7=o%=7bECoykQGIRb}0dqFi(+_=qav;mA)Bns+$z zpYReTK+~IRUHfphkWe|I7-U*+XI%ivGfAnedSVIg4|C)}*wAkFe!2vx`rYi<0A?R9 zz(c#)H>)7KI&{CNkuR{DwqR!cJIqP!9+rv5;5iF8w7XyF#z3_XLGfgE--A%r;obMb z!xOkqm;rh_ulJKLxyR`^@{vr&b~9Qqen1RIgv<<+fbpjWGZY!r;Gsw_f=Xrv z5KQANQVV|RkgQs_Zk zXjE%g0q&87M}vnVV@RbQ^b~?l?l5)+&yus~D1w|tMl+8Pn|XNib+zK9pKo1@@z&`a z%P^I<^Y-O}C!@jok(K~r2zKAOf;>g1ND_$>?LTq?cv6GW{v)U=avVW&k}3f{g5Z#> z5JBEyNCS^8EW8A(XkkyYu9as!lG|LOdOHU%M%v7eofv}Kvp6n5vr4MWN;j*FN3*KI zXjTza+%85C|0cIcRuikN<2PFDvW>XIBzqgC;CEnuUVf;>Ztvo+%>^E@%AIN=C1wxv zKH4FEBltzi+E|p2Kn<#6l`RPM0uU4XK2s2e{QiPP$lf26o<)zNaOwphvqdP0_ZuBW zOL4m?7F~kd%qj{m=DLiSIwIl`G{Mh9jtCYY=)t#SLIVVC7GdJ42kq^-!hXz(OH3<< zg1;=oS&(dy50wALyXS+o?XT)u%SG?cxks(%V5%=Oo~zT;jAOyvf^(?rbw{Y zRHwWJNi;)BcI94+&f&DGixi2!@cbNQww>9JBJ%xIK%-2d>{#PYh^@z8EUpjU8|E(T>gi7}=k4b~#&@1A<$DLK#g4X!+Q}^6L$hP|O|J&KVk*au_8&jH zTw83^`)rz$WbGEXw<0OEJ0)v(^7z?($E(3^88cC*YPd9ZvlND+<6$>vmbJS>vMW?k z?(C+t|5864i2ffD}h_3CZ~K$QJHto(+J5| zk%}DD{-ns2OsJC*)N>43B83vjZb$X`kq!wZ}EMI&aEH9W#y_d0z0n7Ae&9Z&F zXnY!AL6I$#+IG%O(ebPpPM*jp`W44fn!>r1W``_I%bZG+k!9;RSY9|6mZ=NF0}x&P ztRFx|mM?c_`3=s&h%${zi20mYuIBfa9kuAiOGoa{Wou*aESkHRUvV5PIomMnKo z&$7|Hpf#W8z3r1ikTSLAJjF4w{%=ppDB7*Eo#Qin6p5$afMx3PJO)vb2#W@em5T5f ze8LZR6g>kk3;wh4vl+*aHT;Wld@hFrfK3sJFp#HSn9CwZc#pVI_~Ppg4Jl#w;qu7G zhvTWrxI2K7h=iX}(yp9);Wb@+pUFZCh9;5!i7j+T(TFHCe9$%vZ4}mSV`1gTOv2At z(x$nW^wodN)cI$A%<@PbqvVc4%Q4Farq5XX*15l*W*?1D24C8M#rQP-6fzc{#e;()d#m!8?Sq<$J_dLut{47@tJ;*&3&@{LRvP8vBn-$*H+wlHSQFpjcfSHURC zURZSGJXDyN7tR(cW-DvlvTq-hgOGz6T4z0CY@g2&*bN6Po0Ob#n^7R@=U&NLtM&bL*WO!0A?07da7C?L~C1cF*UAJB^S%4zBFYp&qJsEMDPDYL)2MMIlijE+kUpk#B+wuawSsX&#&k@cPK zS-VX*qyC7c1w1twqa~;H4jTT;% zgcz?8V?aZ7(tbv;{G}Tg>b^;FiJ|*A-bW9WBtMwlpylr4Vv=iQUIiwCHlyi^?7%k0$!QsU@VF(nv#G!%O@49-zY zmC@y&$ZAWlV0+>_vcmRW!A~G|aj^V%H-6pf3Ckf*DE94e_NO@pdZ7}B4~`OX6r6C! z>zs#x#Fj=PvFTZ9=k!!{4z^*hW~M6x3&D6GYgNNwI9sgEvFy8x0bF4RJ3TAPgP-vP zyq_7Y@_v1ggr`8bDwY!^hx5E0zrzeA!IJ<7hH|1TV%Yva9GPP)=y3MUwBLZovAf_7 z{Om1aJ!$T47K6_0yEp^|tRM%QY0H|!#@jguC%(-&Q1vKmtWtV*S1wnjY(*`Jby<5s zD;5<;bOWmZRDyOvAYO44vv%H_pFpe@9<1Msa_S%!eFeXky}W4XmgOiY{&6QxrNx&B zR{7AB|De)g+6z7r{dHDs?E=f*#~DF;Z61%UY~TUGQ@mermx#xS*|+!O9yBGR2 zKA>N$?P{FIMRXB_FqVB%NFQ@;=(4(jP)iFdq+U5&p_D5+9Vnm0=!;DyCrM zXqa*Qo}>Sm^eg?m=~h6_A)C));`aYNs zyi$a>I68^!>4u`el>v`^S&qHK88ZmXu4dW>)*8h#P%%PRi zG&?^+^-wDz;}q*#&*HhG8MAy6S!%k-BBNqAbIR|zGu!9J?A{cm^R%j5HkOI{)!OOG z%&g3&5IofUwq=;iGqwHI??xu5s(xgK7y1C^p{x1A!H(yVa)fuDj~8(g@?pgeV;C@n z&`{3T5RX**1U$YVi|;NXVmWv5kk%tZFk&GF+>mG+7?P6`RzU0#8u%tb6K@hC^T&DZ zm!Pfd00*9^z|T6eBy4|HQ179-0JN*@B^@Y0`$ve0dIu)+$O=RcXQBDGqC;8bkMC;0 z0H0DEioFuf{_GBfD(swIw9dP};zAIXY^V_uWuaB}Bzoivf#@Hz+CQ7*OyqaulWeXK zA1Hrf*ZYy3cw1u6TiJFQt1zd_vc-}>TD)i5qDjlUO*Vo`@v-Cj_! zCKr;n;rwjU8Ih&goWdEaJ+57m6>)M&la7o~caY z4`+=A?Y!Mq!wVBvh^%bUoYKNZx2X$uORF8##4ZQ&qerYj^!M}HFCNOd*?b=7=%=lp z2Wa11)%i&KwLo+}4ptC)FxYDQh}`Vf&3dd z%WD7U1ZVPjd;$w?vG3sTWv|AZg7)HI`Q40dduLVoOWuxuf&2ubf5>WkM-an}vcP^) zp6Dd%#dovsY9F1r1O&|3TYwV}9gT&H%7S=2)s^wQcj1+=vYrpv%e#VEPqNF(`eDE> z?GMCC@z8A{uIfd=m_z|=@n+zIv%p^dRV(Y)cto)UUroGI6O<9YI?Mlott;pHUa0UE z1fQC+;_Hs$?Bl#AaR2)7Q&a4{pCHai5+`Fkr*;*M4Dog@ntxFucls3hxb3@TXSyi#8D7As|hXdZ#4+qP~ynEitmjNnj)EuOU z6&Q|2;KhAp*Z9PbUVFZO zvCntsCGO95*W($UZO1b6+1l3^%7uw&smp(~vjneVixA8oq5)!`pr}KrsGO?3GeU{A)zkOC7de{R?Rn|Kr-KB*0wcTY8KKQT>`XccGCs6Aw{0efQS z1~nG7Vxl#K{9!zY;oO*R*zmDGq?@({FcfP+R{O<-Ms(*buXx%{jfzi0vEq0N97LD* zd)odbD!vl4j{GCrPJS;3?c6{-z*&cnzL~IGz~qiWFdG8&x)p?yal4@N$uFwa84F|d2j&V+EV$r}52ZWxX0J5N$D?Lv6;;uk? z3#3;ly@m7=40vJzpA~g9tyN3_@b*3 zDR@L0wlu=$F2ITXjfkuFH!4u{@)SM#>T8bqPTce+6xrtYcKM@iIT)U=kQKlV<&9!2 zj>X8JcQL9V8~3t8p2b5H71H?}L?>vAM-hx26#dr3XEB+9`fkgMJs|;9LF({)Fc7xy z=0FS|ToV*aqyKaZh~J(aP9PfaOOWCglWXEa#3eW_dtPPL_$8y4aGN zAn;-aui+@$r(+HE95JmySP&YV) z@pM7n?=Z9tGx+)(oE5iU&ZD`;a`w?BEjsW(?4j6D`J=J#cvrtre%QMw%C`{b^=A6p=oIlRA;n_C0W-Li%}RUu-Y_1MlvI4>-GR@s%2?^% zu>EN%?BcTxv(L7kZ%#;SAhzT_Oae#|ewjl?h;T5r;2Q}MZoB0bd--j8`Zo~U8HEIw z+6f8P@ps61;Mh(|cqzUR_sfasgou7ODZt-N7hq>>ssN|Nih4d6I~*)O7>ph8u6`6l z)$&m6A%1Z3MT+j+4e=etM{n#0A-vr2OO00jQ?xel`rX|?_RX=;1GsO^bzq)s%guZgdl__j?Wz8$ZLuj~g!Gcvb^ z!h74m%jx3VHjVgpq=@gwky?)@veQ~(sMpXEKav>Vt`c$-xBry!9`s3cg3R#^zw+5j~h7lX@`m z4RbJ2h~%%;aB`@p+F*0I_R@>#HJlh#WUAqglp6jzl4sV;aG!1?#?)wi3_YXPJmD)N z7}FXphmxoocvk9qKiUjkg~zS7=X9+1yB=RSAWVe2unn#y_diu6?&Futi=UsUm<`g~ zXM;3_52hKj``&DjzC0VG*lduv@yU!ly?-`HZ<`I$ORyH0F*}+R%!qXNY>;lA4O0DV zke1H|=`FKCdI8^wGnVf0*&uQ6i5V$HXM^-%2hsqKfq748b&YlZm4P)rI!kV_Z^iKG zj8`S&Nl;2tEiqE@r@5OLLprk@D)+U>JrJ}`cJ5ba&b@Lqau<1@)UrQ~kEje~uL{2^ zHNVL{_t5H2d(=rUr~9obAJZkx~^qE={3JC zbMAcOs;Z^XpTzfl5`)(aWf$*z)s-i^=3A%9Jt*J!lUR0s<-3%9vkBOi0gIuJbB zBBy3wQTMc^^WOG547G7^;SRin`ryLAhKG)GqZAI}CN9Kh66hSy_Ar9Z8%c*NRfZzR zvn!6E^$bgkebg{YWDOk4-amrQBa+SzO$Vyk9dq3LNYMFL(vf9rK^Gu+I)<&C1g#sB zw2o&3D?zJP&^p<>c!{juAgi*>s7gPo(vN%Y%cH^5ZFeTrCs>*&xRSw`D($lBG z)9v{tXbqFr@$GCU=zLz%8Ni5KKH6j2woj0{QIguBNnz{7K1wil+yV&9w&*5Ni=!ZQzN#pUw`Bq4KAT+d3YI1{c)DFJ1)Ty_Q91$Mr#cjEF8g%~I?wX6 z_P94J6{LnFDIZ3q`q@!e2Cn9^Wvd|d&yv)bmOqq^B0es}a(0{93Oc(;N46HUjgxF0 z({8r@pPq=uys^Z~?L(lMwd z1Ql1^2s*j?cU4O|K?62+pVNl!f}x+QI!aIxTinlScY8snP`+@-v)8|%vs%*W#W+^h zb&#hR%;^9FL8n8~snc|{4B;NNT&uy5Ap}(|S0m`G<@+TapH2Xo#xnS**yshD%V{uV z2<&PZ%0OpQ)eo>lx%4ZG8}Ku#!5B&)sOXF!=;Y^2*}L`X1d2`{?kPPQ4Cz5oOAmrh zI#)?Lbt=KChL^*!eY7%X?I<9EWeDopLC{I%6QB}UAGk8GE>N>>t+o3ZQ7=3L=?D6F z>mk3e7_f%?1%+sh5BnEp9rnNd6f0T=of$ttXB9)#)?-jw@#@+XlNecLlrq<)4PgX>E%hU;BP=< zsDg8X@C2_z6~ekD5VZqx71jw?%p_(rc664(aU_-c1pDa6>nB$N)lJiO`-zs5=q5BN6IJg!U#vy@}B0 z5~03C=!=O^e(U{Mg{Q_pwR|4C$^)~cThBn-q!kp{Q6_gNSX9u$V#l#a z2p%l(t1SR)c@W-EP7#+?W06XZ75hbEaZLPNiTaywRU;tk56z~u;q`{F?eTAtsP~A9 z$gDTH6G}6qJ&!(vzHT|TbZFygb~Qx>WTucO+W9Q|i$%T2%fjlrKKNn8EUvOkRyF)- zRp-&bg8+F}c|*^IaPrpxOB=>PUtzU03Dzsg;KNF?hJgghGQ8?QO)6lzJFeC0Vm>e` ziooZN#yc#mTxhYdEUwAI0^_=Iz$s33U~$*`R>l4#8moZ4prfni6i;O1DL7673-zEK z3zZ*k|CNdjcY3<=vLi*=h&;eZtNhXSL|MYIUum*shIksanCKNlu^-rHVUFb1Z$flK zv6olH4x!J}Z``yUO zt=Oey({`IM!m>6$B74z}+}HZhn_lZfhi-bU4`tUoi#}BKHKMUmy_CHJ-RX7d-RYq0 zPEVW{SidUv)GGF=&!bNb+oEI8jcp+IC3dRpP_eYndus)50uO=(k2)drNV#r}>;g*+ z0RrH8kPU$yoaYN=eP@*%5LCp1%X}g1ClD-u*1P8qps)&kj4W&zq3o92)S<&is>8BB z3&%T(mLN+j_TzBu50;HR%yo|yJya0A7+(c<1EL!(8wU|xnj4DOyv}27ep0kZSqCfa zwlBUCYYlUioo=VHhAn$w5Csa`UBfJ-9hnrK=tXTD0P{5&dy|a)q=-H1U@(3Kma0D) z#sKKHqqG^p8n@_yd6&jvpO|$JE5z=y7u*tCaIf`f2Dv4o=dHHKFPLA2Y@Ys6oysYc^Q}VvzGl zrdoLw203Byf~@KE;O<2El4|nzMA6lBl9Xjg!%vhi&r)8xqP*C%7>6f^N{W4Fd1?_3 zEnDIXh`Yr;5mV+n3sK^xdWo+zSaRV~4JrX(nF0umiYv5Tl1nN&H^v;eYC!H zb3Kr@FZEUJXl!V2+uXd(*Vfp&b@R6Rw$0nFK{n)fZuxEA4!RBP&F$Nlrslb5noMR{ zuKL#2`j7dxG;X`5t;q-Kfz(1R^0hTL`?hbb-?D{y3%<`i*B9E>(ArqPy-`%l#?4zB zw`~^%ZT8i-fmr?aHqy%ALdC4<`fVG1t&Q8;>Ra2EvO<)bO}(tIZ{3D^TgJysZrnMV3K6?91^?TUov>+kIP630F5};CT_AdgCS# z!b7Em%=Y=A!kQcK$np3aTU(o3eVcHBeoFl=@}Ume+PC{IVHE2|RIt0`$chryGgqz- ztg2d@p^E1Y()BOst~~K{ufzB4d%~Bm3`w(xxijcUk;-pv)fKf4gk!u-p$qGzHQHF= z80qO`ny#pa6*U@s+dI3ZP#PB(Cp=vJ=82t=9c z9A_3O&n;B*fof&_bev=p@3CmlLU@fUR~#=%kv^4QZ5ev}q&3~yj4x)jiB z*R*38)rJujMphd!B5B7UDs@PLu}Jgw&25`M+PK8m=sLQTrNu`l7J*h)zSp;S-PP^e z+S+|3B}+?}7N1+vE^bS9EnBvQxqUwrfYKz>>D)Rp=Dr)F;~%O5z^${)lvd}=6v z1kh20$8e3~n#47QE0SyFcj4;B)q|@SS0Ao^Tm!fUaSh`d!8M9&4A(fW$=s^^Dfp4o zs`9%|TbbW|8q(wH#nlH`Kl}k)gSduqjo=!^HHK>(*CehfT#?gPVgR2); zAMX3%55OOUKYV&s{>bUAEY<7Yb9#OmN*c&tjFO`UP!kpTxq-j&aMIT=D&6B5p-y0? zIvUH#{*UbZ@tl?UlengEMNV0n--W9iR}ZdUTz$CuaSh-aJf$Lk7}v-toAbwVR=RQG z@$5kMk11YO(4U@{V1CQIYw~x1fh;h9t2--@-;-65--~b`u6|qtxCU_z;~L4@iX`hZ z)r6-9*;$;+f&0Ihu$dw6l_*K}8*}DZ4`4&o!zQGj*Mh_qsKiFzJm6j{f~AZ=r@B1cW&wXtfvFv#E5t>39dF{e2oKst%A#R$;iJK!TFvp$0Orx4)fh2{N&FK zA~@eutmIY4L=~J%hfNn#@Z9915s=#yyv_l?Q^5xu@J}l^t$a-P&k9ZxBh&qxf)6_2 zUs7!&J}^g&xC?^IpEJJ_?QDORR!}sG{Q99?-f3GpfKH^6nxwP&k^!8-&2Qu zDol4e;BPS62hleIp$PB-6H$fBUEph6;G10FJ6zzmyTJe51Oz&ZaSfhm6_J(*VEEE5!$ ziB!u3g=I2#LAgZaTq4qzh_odlZHY)*BGQ)pfA+owJgVwkdqPHtHq8VZ+t^Y&ty2X{ zZBW#t(l!$Y*kdOW1vOsU1cv}xgcK6xv@3VGZzbUSRPzZ6R&TqX~0ru%|rn%{LODfHOYg^JXoY z701%CkBhGh=?&0Ti!N)(1|2+vL0&VF(9!mGfb`B6G0S*V%gWgv%wIV7 zvN-+J=rWnTun|kEHI>sN2Dxkj-f?ElzwB#uHGIQdTt6#b=ewfriYpdgS!b1`uVz|o zdPO)^GkxmR8B=D~%nVn=rl3%bsKLT1QE_b!90xAVWSnKH2-cCY_FRM2@)}%Sk%KXSh zYMj%D2?BS=I~?W=j6sp7#r!b9*D_ zL4nKooQ3|MhVoCx&$xfq1D{KWFt+Up7!|I`Cts^@>U`vN_mv+-Yf;5X=bo9+I~ zdLCxuC+c~ajc@h9tMrSJ?fw&dG0Tz}{C_{}x@U8e?br8_ew>w8I9ZNx>UHA;a)G?vuc}gyM%ig?k<7LaGw!!WP0;I3ZXEJ zzYOPF^xD59hfy;3B2>G)9yd`iM?zmuox@5SE1TMo}C2$$;8jaiO{hq*OxVwcM z8SckF?o)>4F2kKDa2al;#_e$D3S5T!Eg?sS+beJx?q7u*nV%o}gd0zWE9HMt<95AW zCvYkM2LhMr>hQojH9i92%J}?F;4(gi$Gh>g_{eZi5V#E2(YPJ%r2?1XUN7XxaDO9k8Sd)>m*KuG|IS#`Mo`3OO>|$O&#d8J|hQ{Y3(o;m*>yozGtvxD5CE zLXHggO@YgBk2G=a--=LK%m186?`VO`aEmo=hkJ^^Ww^71 z92xFw0+->wEpQp`h;eQ_?Qq8kT!uSC<95C37Pt(zSKu<-oRhML`w@Z5aHnhB4tKr4 zW%>S(kdr6!zf<5+{<}hs%+DJ><;IiY%5=RTa2f9V#`n9I={;KGc0P|6xQx%mLXM12 zufSz|PW^O$xH3L71uo-Lt8qI%UlX{D&-a8J8J~Rum*F09a({eexF7bwKdx~*K4%JC z#^-V&N5o!)N>T!z~v zoT-xWAtc}=*V z=3*9%ozE2lm*HOEf!7FJ#^>KO&iEXSp9yz^a4*yQs=z-l+>fFo7{*h|FVMK1-mwBd z8h%W;7YI4LH28Xf%W&@zxD59`joaZqE$|Nr`6D?AfU)y=y1?Z+Rh__Pxbrn`hr2@H zA3!)JT|W_W7&U_*L7^~=j|}%C0+-=_LgRM0lLRiq{fdwy!~KE4Ww;#z=cS2fr^fAY ze9_!A*VruPUgChGXGC``JF1unyF;!8UW z!_CES3vXbeeA$K}&a@dhBVB@m!oDEzFKFD3|AhiC67JiD9Jy|=PT=x=|Hnd(?9cxo z+{^Wfy&mpIa&ZBM@hrg4r0a7UXIf=^qQd<#!u>hIJ%ciG<_MgZ245g>nXaoeZs*(g zg?pKs*261>dzsHkfy;cpLEti9_Z*99)! zzb)`%h5KXA#|;egO}Y;X{KI%=^6m2im+q$s{3F7BT;S6E{pOZS@u&R1{~|0e}5-9ImIz9JjG=x~~^FU)_xRHi1j`Hwm1tZpMA5 zz@__NTKEq5p-Ef#!!GRWweTl2{-%XLukm*+{6&o)aiM!*>gQgK=Ue#e8vlTWzoYRF zTe!<}f(AtkH{*EB!cBVTTDVE?0t+|kZM1Nc-lZ09(%Wp|CcW2LxJmEz7H-nJ&caQ4 zw_CVL??V=D()$MsH|gDL;U>MWS-45>TNZB8n{!e2^3Ahwliq-ZoAiFr!cBU^7H-n( zShz`V+`>(IFSl@$-mhA?N$(O1H|bq&;ii07Shz`V%EC>0Z?tfe-Ulq)r1wD!H|hPI zg`4ztTewN@pDf&@_YDg->HVvPoAmlG9$4-sz3;Pdlis5(+@$w&7H-lTv2c^#8Vfh+ zonzr9y;oScNpFLNoAiF&!cBUwwQ!T(goT^*wp+MK@4Xgo(!0&VO?rQA;U>K=TDVDX zkA<7`?z3={-oIG5Nw4pc?BzSk!r#&TbAg4M^p;up7VW;=!cBTFws4c)OD)`__c9BA zUdykyaFgDvEZn4bnT4D3ZME=swEWc;ZqmES!nbJm_glD0?=u!|(!0mPO?v-m;m>RN zuUNQA@1HH)r1u>QH|fp&k}J@R*Y9ZgM_IT@?`amkMZ2G5;U>KoShz{=mo40+x6ZIN$(FW+@$v|3peTgrG=aHK55}5z0X^?N$>A1+@$v<3peR~ z)xu4B`z+j~cfW<3^d5JaTkd@4n2eu!k2qiBeqg5y{7WA0>pk!%=fg9MEr0qI{dfeI zCfo}&&TzS9Ven8aMsbC9YWC;}$+!B6u4XutP%KlxHb9Kta0XNslcxj?)jc*^6h5f zeu{8^hrmB8@a+OWQ{cZ4c$vUYU5FbP#z)qx&wJn-1s;YUldk;&=aQbmN7ds7hVmso zP2+YwY!mKfd~Wh^zrh0!=?Y`Z|4)HO5GNDQA84HMJXzomYn=6s&y0Ce$dUDbbffFS z4)-$}H}%$p8xihhe4-j>m{I(U`!5OiGTiS9T*~?Im2P|(uB@LY3;feU{<#`wxUzm; zByd@O;u^QpyHUtzeKzsmWZ?{l<}nM;cVXW%7G9+B*DZXE#^1K^kj6(`ar&Vai(Gr2xmr{= zf7ZzjbxRt2C-d70-^rIQUhF%0(L&zP`Gk}4nU1{0S32&k@8tNxEBNWV@8ksw8|qG; zcJ_InhFYBXSKxp`>*m$WSv2d4I+L11w}bG?B#*R2lU=eib@rHBMGt0KmuC?7 zqWBxGT~gxOtoQWGIz&_KT0X9!5@($lV3xRdg;s#U0gik=);-F!{TKe5m~f3&H)rv{$S9?<`k7J4dHTOJ1vK;Xls0tY%)p`#E?SRK-3z!v0McxjW0WBFM6ClqX_!;Ay ziINToI*jQ7hYAGRdQkAtZOoWL$8urnvK-toijmZ;oaVj}ftE3-+9DfNPIA-|n42}M z-X?}PIG_lMoRPCjL&0u5;E@+gA(kcm2Ff6(@$?wt$RP$1Qt{$UU}*8uS@Cy?)#v^xV-y(P&nR(wU9EF<$>nNi3que=13}3qs$C2Ua_F+j; zSBz~q_aRQ+oHQR)H%DaBX`X#V<6{k=?V!f>r%jospTw2aC8F{K7~f?vk`FSD2hOd< zZ07e1H`jhPaH+Sb_6Bz{n{PxD59)jobNlwZQpWVdQ*Q$dUQ;yuf9A-V(SB*L-tt zhkFbG7+NyiGc|7K!yM#()9y@%WxkRa%6gq4k$bSPtY$&#AUdj z*0>#RSl}|;xk8Q%_cnpc^xh|M8SV}tpO+@Ry9F-8eOJhl;hxR}!Px1YDR3F?#TvKM zyHMaV+?#|P8SXCyF4LP9xD5BRy6d*XouzSlll?%ehx=~|oWqmJw;e)`jOQ}~m+^eX z1Ajx{GXCaZ2Rr`t%q$q zBFwHvCodEIa(!jSQ}aM~OXk*dZ7;}7g(=tN#asH#BM4*GW=_C0aov3QNSP{Do-D== ze>~h!=AruMrzezYukD%eIop=Tgm3I}JmhtWbcE|x9e>788spE{+}|+Q(%p}Sn0{`h z(*J*M4qT@d=5;Penxrs9mr@7M~J~vzyO>}hABhG#)-tKzq zauSa^^!%=M3QOMh;l6Hoy=(A2!@O&p!QdkWg|n%kt@ z!@M8vJB6Ivt2jUg`;2UJ^7Dbyy>X}F1gy@({ntHkHHTkZr(W`m1~j*t4A6k)tt@LX zb#T?;$P4Vw)Xb|}y!f(N3*@996>j(%xTI<=L>z`|)ii9s{F$-#EP^m6;m2;k;M_-` zp<7l-g9mXDz7Bss>+dv}>G%d=v#xoKY1P`DvFKJBzJq4#6Pt7=>uAU9 zqUe`xfyVTSUSrxi*V&+dJAAJ(ZK(dum}ZYj#{a>_B<`i!abl!*42ro6*ltb)J)&TvCO<@%$T$ zzh-70?GB`uHroyDQX~|%3K@1JbP3LgbW+pCSMA@#v2XvTdOX{|i38yNO}%i9Yxf@# z@f82D)bx^AYFcqO^v;o;lQfI-f zQhl@e2g9z5rC{a^-y;aaewyQ~!Jj4wa}s{+M-ARf5Qg|s_!<1q1YszL9fQGxxTaya z{26nLzA(5c&wuqfiCM2S>16wn#%oSe#f*bt|3Je$r(b(a^O}>C>wv20S(u=>=B3x1 zq}`6F_GiOha}wkKQ0F9D?0`JN_nMP*X#X3vKVzBvGxulVf>~W|0Bv{a{4de>%>Uuc zN$Pdw&eQQ=+h98|;j^Ekq1^snP(kW%i3XqOht!pwEuM1{9seQCNiHAyoMggjXAFBz zGFBw8T&2RDlgz-p!$~~Vsj@0L&EMLw?3_rdDhKb%n}IpWl^bEjQu*zhne3h;dDz8hT^NmF`RRno{I#EOkjvPV$43bBoqFIa|Y@Dq5BJV9&$JQ8^HC(ynN96^W_7^Klx^T`5_EwgWrdj=?I<#TaHQ18fR5!2_I~X zF>4yEZ~U43_*WleRwFIa*nNc87&DKV03-W2`nCHguQBFf<$Lg-9X`hZ$`svz@-$Tc z6X2RMO+1xn{2Bk0FO3P`*k13webSS-HvSCcHO3hKRmP#VP5v3!Ym8Z!CI5#r#yC2n z8+1S%W0=P#eD*msUSka3#Ap_|R_5PM|7bk1%Z`rCd;7u0n9rPYD!7dOCc|^|c<(*j zV~iYN&Wk2?4QY%Sug4g!*kW+OGHzy!2`39Ha*J-oAoHoBws4}b=NE^0fI;34WsF(C zLU6~J`5a1E-lfD~{#IiQ_t51Sqv8N;tj5i~8DkiqY-7pU9=IA~;`8e5K?ac5D8onZ zdD->rh!2fD#xyC^og*H~7-RC|Uww>8=zK7i-ADYb#+aQZK+Cqn_Znk{>fdXOG5!yA zj4|)QR`k_)Cb9q9$CyT$SX|rX_uj{tiKYD`4AxT(m)>KHIpws|PI282eZQ}dlTU5R zm95uSF9@F>K2NW(I!z?{9~to1w(4i z$?176n!Jars?ppPT#!u`t%xOdn;ZX%vR#3;O>jzA=*TLQ|Ha`yn!L3S79*7B#NUeM z-d~D`c;&jkxjSdvE+?limYTo9-*XbVqOr1$hGHjP>g2rHJn3h?#-2|9&)`{w{@ZBt zR)1w#y5anAGRKMUa*~vo^X!yl(T#X(bMQ*GJDi-<5-EFn*%JtrYrfIs&76lvlbiBj zRmQhf=C0s-?^!8-b7b7pspb1)Ii0aog?c+|Jt&?Wk0M;w$;-`aucIb znOwzNCEv7BAe)Y5DG>1!dDoZhj>jS=@T>9OQ|Fop3wLrFBz z*>i=n^^YUeyQ&k2^mXGoa<@HqER+}S^siR_)#Jyn{$E!bD7w+IKLuK@qi9lZot*A)^U_uvlJ$Gum&B6mnHVS8 z#Kb5@b2Pbv$>enqInSiAyvG7p8I)Yh402MjV|>YptDMx#lX8+{+M9b&jL)HRqQoC` z#%*^}U(X37K7s}K2bge^xb$o;$s^>_PDYnI*^VSRAIf6=Fpp{VoGUqqk9i;e2CqQApoz8|oUps_#?qak68mhOTrFl$_+E3yq5AilGaCPgI%m9hi1GKDGj?eIO(x;mX5E$M zEZne;mP-)V^YlEYMB}X6!&#Ror%;$)*BbVIJVzy(4X%~>=eQ${*PL;kj{m{eB~I6C z+3rm6U~|R^r=6nbn8TPeiiTdUBJa)_qlw<+DOl*_1h`yZG1KC4z+qY`|z;Eyw)2y?wBz&qT=taGnl$@95IZA z7ar!d>;j0D>kKAr_O-;#y$T=LnfNiTwmAntHryA#a@L}Tf2$wJ2GiJpQOvAon`grx zy5x%XOdUa{gVofG4W_Q50t{))Fk`wIOH6+JtB)C%>ijX5-R8Z^Wv+ z$^YSu8O1uHrq4eL0kVut_@?|=u6EfmZXMeH65a@7r{8nT(D66z(1@`8$LB2Q-z>$j zaj-Gtw25Y2V(4Q=9wVtuxw6ZBqtS~E_-5Zhgq_6OPU6p8aLB7nJluRgU;pv;`x#_V zB>5G8a&msS?C0S?<?Rx;oJk+JHNd z#oA$Ep{11vf=+3DInZ_nJcUzNBf&ScqZT^J=2fs_sYzIuxPdR|KsHivYGQj>tzoP=%EaUQCI<@rPtOTlux)bEzcz{&@mS*N$;p|w`pdR0tH6pz@-BW& z;3Sg{t<=O<5zoy?0g#Qb&ccg+EbhOCa$-CB_607?e{f%*dMop~Y}@h|;fw`_WeF!& zap;o%YnD%^Swbt zz!zxoF>c9kE9c4Y(m6cW!>Ww`JeItvLjgbOrG~HcA42YQYu&EKy|J8~(X!s9B>)q2RdeNN7+(Nz9J ztW&;yfkHJSq#u=g_-MHiNpA@?p}?I^y74vNtJKW}+R9BO=*ESv1ZtrTMNa1^a^%`rRd}kBrGJK@*-0(-qnPqkrr*S@KtoU|=ehOcDevFKt-C$ZIWO9B>)CYDTgF(tV-?1H7r;UWBA z=zkRd)dWVPg>#bG7ijrDb0x7YnZKfSXXDw(1g^716I)}sNv^Y1G*3$S8g9}eqls-X zS1M|O%BI|#R0U%bVl9+G^n44xTxs-0X_K2LUGHlMJMo>dI15I?oF)qu$b3Q@?JL`9kJYIlig^L6|zNQHs4UD zs4Sb&b-3=C!E}$lTBRH7hq?Eeyv*-ni++nOy61k=0FZtkKj%+Q3Fb`6Pe1Wj)?4b% zK>00o^?N+Sn|{pIEf5B%bQfTLjI}{qo6B#zDI$Hf61OG94!XZ}ycQ^IZNcN$0@W?* z(QAQAT2u>qEihU=NzbN7wfxtI4kDIR-D@qrFvq#R2*DWCKFF>oc^V^n<_c1+0&O?rS`&klB3vk19{J zT7_2z-fJ>)Y9r%e9vM4*6>6u>11H`a%|$kNWx=yn78It-;Tf@kTxBo^QQMJvbveHCT7$ ztoeUiT5)(Xed@x!vUcDcm7+l!c5L`G1QWwmv z3tl{7yncA%m-=NvVv`oDt==yjF0S+rNHp)FKjzER!E_`v9WkP@VAT=Pg7zbvf^|ns zDOeAC1AZHi2p4R|eFv_)@Y{voZrty|ultCp1-4@A#BZM?Z zON&6-6fF(pYWUi9#0lH(SP+30gd-Zc)u;3mWR?!ggbieEbG86$Zn@fVCIX2HBqYK5Eu#YIR3U z_k3pXcL>1HVrwz@Wt_gj(5?LT{976~;VMV?ds4X1$GwsBX-^+VE z32F9dhxV9e?u}gsPn2c*@74ZIct*ClH})d!zr;AucAs`|ur=7PYyXyaU&x&h*|3VM z1lzTLyZpv#|BlHh?a9R3$VlRXWm;|kZ3lG*Ir^UUm*a==Z|X0_+hNm7JqJ0MJ{^7l z*Nl?wpO{_u0r}=JFqltU@waZ(7?Rb$j{m>AVlw}>|M=WR!&-x#P%@FqRAGj`23s4- z1h4Zs%NlGSa#0hz@Y*<*?~}E$#4nOLcwwyP>vLH;W^5Suc;(cKwTeHhMVM=5VRoT=0-GuaPrIJ zTc2D0alErC!bAEY#ER=#yJ7dgvG=UaXy$7PbwMsvc$O--#;biioxey+c8J*O13tzOg* z;#I``E?!QWm&Wse_cHQu@6f&SOZr!8Sw6uMfb8ulq&k{>fZd5%+o$8qlIHnXeF@J9 zpL-6Jm4wg1g65L&{!Pr6{dcPv!eZoMb+{H27=tR@-O6qWZG`RMzC+nJhPr7denZQw z++*dFOSQg+FQ6#YvgdK=c~~!y9C!wC4mGDZQ5Fa3&jTd{F=W(` z99%KmVX^37?Q*R>uGQ;W?6ePaa?!AtAVq_>Esj8&K`I-_6}<-Grk3P@yvU6U6qCDg z5!wZW%ho_P!U8|k+PJ_Xxq4sb21Y41FnW&Ux_--eI5vA3PjD}zA{n{Kr#CYyk~6=p zH#0yB`{2zCIAhsJ%IP&^lLFJ58I{R3tY)NH zvbL>5i0!C?WN^abW(JT_72?_wSO?$CKoc#8s956JXztBwi4+?I$fy-ur&Z`$mlE2J zuJjc}3B9=k9^g;yRHXcqqq!@)fM5xA%(nC|;Dmc1rQzoLgNQhM{R;o8YaW9aH`K!V zSbVz^pA>Rh_p|o+oItcwH6rIttY1dZ{l}qLwvr|JHOwZl`{6pHs%WOE)4x@D!>X=Y zXvf}%>F_Zww1l{Cz@4mTDI0a7I+iN>x$=S9Q>${t=?l9ueSuccWY`Aa@ ze_!L?XsSFXmh)(o>-jIi4b%4kJ8Fhd4DrA5bcK9Vmg4mXjPdGAevfnJA78b zX56ZDJBp^JE&(=mc9rfA!u#*3M>I&Og?DRX<3%>_K#%x_!NdM#*w+vycCC}EIXbHxmCQ6VcD1kkluhwF5LAz1()?X z%RU=TuIYe77O@k59QCOSch1%qMmQ<|XmDdkzmuBruDT!hXtL^^M4{8%4NCUbM%3Ds z^oe1EUOFS~YS|#%xpES2X~NCZ{5j#|v|u=AT48!TwC|#=q9aG8+Y(v@2Z+KvUqb{E zMC~MjdImF zw_8}tZXuTPUl)r%h1_M%BYH7LuMitEj6&j7QlkrF(BaEi#u7!L7=mOyPPb#Ek0$RV z*AF?k2Np;DjVi91uj~$p8Ori4?sjkdmQWL1kyTw{c*(2YMvM0(Uza$!daD@8T2H^J z{1u9BEh*TKU#%(FXse8d69+jPB&^PeYJg}SBx*l?^&h+OkW((Sz5_+CZC%L8= z1>nRVLnUNS$=-^sGgY+9NwtL7I@wY=9;1Wh5a=Y;M&rc$vFWb%LO?oqBYAg-Yf{)= z41!e_hiGOuI$~yb;tePMay0jjB`6Kni#(L&2GqeILPwY?64)?TeGQ5daXN7PkKui3yO%*sAhz8iIhFK`~@_< zCKLo-7fJ$azKwhbuns^h{)<@P&KL$5d~HyRX?lqh$4;Z&PKs8bHLwbd`%5aiAI$-u zW32GU;*ZA?`JqA0{W(tvz|WYUwe&8Wl#+?Ab%4{|kRpS|4kuapGN05(8;! zVj0FC)eYpTda3J||5x0P_P^eIHOJxa!W(>OmrmlB(cDd}#BhvG@k0Nba9kaEq>p}J z^(?_A8^5-wM)&ngeo#@%zrsvN#xrZO@;uuAaLN@e}UF&X4561Dpb{m!0Ng_WILW# zDUQ=pj9QrZvM)>EBc-*QS&=8UqfcO6HedRnM?ub_b03w=zYg!>C7c}abq7MWsDTdO zGvV7G^gyiA__haEO}dcbM)MVx1Hpt{_*Ukysplp0eoYh1|&K${_xC4+1ADH82^KErI1Jvl7qcsQxrh#C-d zGr`1Y8(ncMfW@p&O~!a3A4Aw)#HH$7))rs%Q!DeBuE3q{o*W5W;uWJ+Ls! z*7Mciw}0NhpL9Itwrce{_b|q91fu+vR;OG13QQEl*yY9Hcpc%oX!Fq9I$15#qh z8?%20p~*P>7$6u9+{2~EqUPD5BG8sFK@QyGt~O#umIINF`8g@9s<7!fu~aNH$*rW# zJDeP6hubVZSJRE!jSGQm>C^#h3oK*uxPCtKUC~_9p#TPCBtLFe> zyyEi@;|8%;Lyr4sXE99!vBSq1x&;A_(Za*r{5=?FXyeG-M@AHE9vLm@7zuLF$Z)}~ zkrf5IVef(6jbAUW`|xWTRZ*}CzxGj)f_0;&6|Bc^1AZIv+l*hwsD%X^M=tYV0ew+~ zF-?Rq4Pi_}7}F5OG=wn?VN5$f7*`{V+%+=Bpfe%nyWxA!NYI(^>z6izt}n<%*cC`$ z1=4p8Twg@=Ya=xZ5)=HpG91W=K!yVuj)+k;Vl+*s`W&Phl&VpnRE?@ds;3on;kOIF z-T3XnuN%K!{QB@~%5w@<CQRBNU{L{FX94ytgfJN}bpgqW3=z-7oz*{_U?tNyH{|yiPn;!VB z9{6`X@OwS*KLBSwnDnbU42;`q+2UD@ijocg0&vRtCi^HDRli|ZX?%~yRec6t=OM>u zh9vO3`VT4U=YExu0H#P`6Z(~yVn0>V!1_5}g8$VI9+dc{X=Iu)Ccgq#%+W*m_#1q* zD{AI0!te>r>x(nYGQ`_gJ#fgt5v$=gvkc13q9KyXe!@b8!8_4_b8qffs5=(& znc*Ut_Qh_Ct>54UC}$eFB|XL9{AhuOIQs^J&(b*MNcmqExRn1RAxFypslcWDmvp~M z3)AaNxSVU#FidRDW$?Q+Zrsxi%^7qEW4kx!-q1Z3A~SNnt=$u6uW8cTLq{-1zINt2 zNq4QhXL~d5zo)xI;*zW7*W3r<*dETf|Bl9O`QH=n*#{f>r&A~lgOT_t6beK6ocbE~ z*J+&c`OM(A3!J^X!Jid!WO=Ha$cm-+TT zLXOP0cLXleo5M_jVLWBN1qs41z5E%|A^IQUX1v^M;b#0R(w>bRGyWYaxA9A&-p#`wA=vNu07tpsMYtZzbp&m-_&2m#|lFEDF3js zeCzc?&QaKJ+5S29*maja_vl3grEZOYHg@_s)@AeGq2qs0ZsWo^b0xVk^L_bg+0O_m zEgQZbyUj*v2I5+-(vgMR*oBOWCiX|MO^gjZCx&&!Lh{m@-~j|jcXJ{0$@vXHvC+93 zvoY*Y?ork~d6bk^V8mUvFrDv&G3Q`>{ie+WSCx3Gjs{Tryqfi z;ez?QaDy!v(4v%PaBNSjy&#aF)W_T5pHhgLT8H_f<_oJ;^qv|nVc!mUDy(ikNuQ5p zJJ6q?tM1u`Q^Uy*V-cPk8k4T^HFkGmTLW(JeIj@)O}NA!4faD;;VPUMbIp{*)}9?x z5?E@*r{HBTG|XsTdJ`0{^&&bYa8jAPxfIsfsqsfoO^)ACnVNZY4z~K+BW2yo9*!n& z;|4-y{MVJaw{d&)>{QXWBICM28HnZVhU)TWe|iC;Hl<}}!zk=)F&Cz^JcsLBLfpTI zrmj+y!|KY^e={}F)SWwERio#cfni7@NNQRwNlRm~En0#wG&68bFQP{-YiVWjPSOiwpp*rX$a;nQLx6jcQ26TA zzVfh*L^VW{W+Hi6u z2|LJ!64tcu^0}^cE78fM<_)TJW7^frks@AI69mi{lmQ(;0W!6)7|3DBDxEoCU*3(9!5;fQY~!KPDF)_s=vyTNlVldfz%)80 z9)SZ$U@svUn0h0*guBS$vL}}Q3ESCf`#G^4)t+0(*jA=Kg#2f)g?wQQJJ9@;nfv-| zK~4f+#;#-|O8QsE5@f)rn@KlgcX~!;@>bTT%H&#?KnNzGOCY?NyMSk>^0xtD(?T!7 zwsv;Pf2~W7cnpCR=0DCL^Ra=gRWNie{~ao|yQRAiK^d-K!*SS9?m$S`)8)H3_6Vn< z7s&7g0hjY>?mZ4HY_$4&9qiOQP<}ZV%mjWH-aIMkYkZp0ndHPnl#VNMGD&il_1gFjcmF=-4QyXYYqcog#NYQ3DMH_XB((Cbn)oU#1utE4n$=!~T47sCX zmAsX)LLBR1C1-}l#GqHxr01SqfUdd*^wvxqKD`E6hG~=P8Y)v`o;#?zhQR7Sp!A(M z!pQXO2UFT`KO?L(FTjp=;!n}vN_-%;BY~#n_262uUh`XGpO2f{T@U%=aw9vYa% zCeKsjK?GH~3xs*?q{g&|?`80V8?H-NW5X?tC1#t}%Rxs~=&j2>lPp>hE_-Y#y7~v) z`n+^~{mI}x| zn?!wf39*|*eYOa(WcysG=to^{ESJBat8**?x|L^jj;8#PEY%r&5>=g{5+r|53?z)P z4PU5CJWqO6?APFzT<{RavTsohYh_}0MKboE{<5uswhv&)QZW~`l<`ztTGrCi^m$4T z00|~bk5@`-_o1<5#@9!|rEter|Mii?ww@bVt29Py*XxV6us%GO@G7Kpl%qu;l zaA3>~DcFs_9VLcga3z^W+}z{{N1Ez1(p1&h0=8;B3I^R$J^aQnEajuBb;CV`?x<2z z2=s`YU7%gfK-AOexAyN>)ixc$Et(l)0QC~O*}!5u!r)I50`gt)KZJS-a%C*t8vJk< zst(ko<0Zs}eGpV=RJw)cD#KW7B&x2HLXl@GA9B~Kf?^O_6Gnd!J>N3zVgpj(HX-(F zx@Lgd;wnFJl~?F~0Z~CIun&OcCT68d3=_FVrHB0|JMIgqfx_)Sp(Ui@v##*q07IIgK-n$i2l=u9OrP19OtK|t#33$L5x`i090Hxb>kNV zoL09!w`_EVL#HkXxkoGn)i9<66B|o^oLy9=h~o}v#+pepCru&1nDA90wqB`R_oStH(M~VHatv@D0^_}%bb?1V3gfnkd-RKKV%K+&m~7 z@~l4dm3ENRH{S>~J5S%u?`C*Y@J*-DmMrU|%djRpvMFvrUA1=8V#oZsg4&I0>QpgAm zV!Is;G8mT%xHzQ78x>8m-PA`fitWZ{itWbr1hU=KqjcXsyfihB%n3J7_2;A?)pzMG zTnr?ojX(z@RySDLAqeHJ>K>Gmp+Oe2U+}3f6WkRHP7IA=AH#KBk$-0K={NDHlEu#;s}^nHz-)C2*_S!6sS< z4%K>akT$^H2zxVZmy=Wh_E8uNrV6l+y!cR!P|h@>T?mT^VIW{BVIcEBz%Kk;I+T~N zxfE96!PLtAieCf+wNHrq2C$+wf?2g0zYd6ZgQ{aHoZ~qRxIYH zmN{14W3ac(aT<3l{CM1xV`Ge}v$#1EKa3KCOqBR8s4@z};u`JI z<>7}dxdi5%3yxQqQD-;<59k4m?&aS7DRczG$9!fu2A>r;ri~fALE!olPkp|Z^o=e5 z9NmN|U&@gj9vSXy9`1jtyAG2s`k{GC# zpD|0&kJ1?2^zZ8|-1N(Q)0XZ{zkH~inT(FF#SM!locyn=4=kkf-OZiBoCWfuSSIDh zfwueH35Ksj_h)P~%wp3YuujpOfFE($2NIucg-eV^7n6H~|MB=y=ArtZ0Kb$e>ke)+ z;p=XKkTOiGG-bG<|5GH0>joWv)>Uat{EhA4VK)Cw+JBq$jBAsB#y{s%yw=Srd6#$KfTmly}y9;^Mce55h)HntaMW~TNp{qoxQGkCkk z?DDJD{(CJCCf>$>5*OL(?`D_m@2k}gS${b$8vmyLQoJ2Dy*QdPRjnU#3}aoe{S&k6 zE+F4}9l-fk{Hnfm0IkoSVltapa3b~sBq)9#a z7a-*@7Yr$fn=FQu14@ktDF?)x0i+yg4AZ0>mr0f3<+xkWm5Q31$E)@=eyN|3Qz{5Ks>Uru z4>TM?&g{@^ZtCMuOc0pTuOf`0B;HVLGOEHz$kA!-LbP$mgu!B(U>&B+=_lmuKv`fj zR1$KU@WKH?P7!hsS&QuxERGjZC7L1RY=;9#U>EfN2|51|LQY9$k-lX$hFLE{4pfBw z%?UZR!zbjdL&fSR^o*H#9i&3uyM-M)rZ8!amR~;Fex}9W=4=fY#g_n#GrOCLe3a;acZ!Tgq#kyNBkEheHxunGk>&POpa*P=uC4@_1w3>yx5>EGkE19OYKJX&5Xt-nRR z0LjL!60OgXWOK1avLV-)iq%{j>V9y4Fp>?UnT2Fi;z6?EKx;@g3FO6r$Rio$YThiH z;6VON7VT;eHa55~?#mG0~!>Rt35D)XLC^HYFk20 zhymCa<$*OjF}=ioeYq2V+R2?s`T|(p;0~|F#{N9bw0X!$EnVx6VE#5+@oXHbL*$DV zRptg^_nd~KU(u8lyCzrhwG@*DOiv!wRULWN)!Fqb^#MWsQfHv$9EMvMF59(qFQ*)w z)eX1Q|{g-Q^wPX#cA{ zH=M;2=`Q=n}-^24Su#Zvj#MNl3(%~TNQruh~(%@dqB^+zdUt;?z%nC7?L zG{3EMAdxaP%T-i%4Jo-jpt-n-28a6|H^r0gZr$Jb{p8h{hb+vAB(CsHNsPbSiQ}lK zEh@>0qD|i6jrP9=UD+;8s5Y?rf0%I4QSj68SLfLId2(1)Rk1ew0}qDdbOh@QOx8fl%1E24RFXas6CxifW@cTN*WfBG zHe{tNdZwmNoiTi}(qZN*A(qNCXUtZZevZ8bS0Kv0Mm)vZxI4i6kNlI~Z5V2%Ae`o}8t5ei00`Gl8?T8KOJD zSL(vAKNx6o8kyUXGYr?@EUiPVUFz035PcCugpienvsA@WlX{#g3Q8*q%GKd^n2Te~G7#&X0g1ni4j6SF!-5rYVCg|&e&Za#F)7iw}8N~4QHj%wB(74oqyn!I@ z(Cx!;hh(5pEJwBbKM?=0y5;WwK=UzmJ8F=ACg!{3G^sib>~r|JVJnZBzjHnC3q9~! z4}7i%zQ6-t?18WFz;6Z4beZ(1ItA>99`3h!;As!M5Cu>9XX`ymRTtrw--#0cy2gX7 zATXbWoh?5_r#b{u6Sk@TL98Z({EwhDG1z`yQzrRCRHB4@59|ELLc;(q%cB?*X=vdk zCd0`%i8nBG&o*he8f!F8_k3pXn*}a8Nxu}hzJxF6<)UX8TmBtb8=;|mDTgmLG3e(_uRuZ@&ATHe&mRQNGBom!)Eodie~uM+v2g!M zjoaL#i5~7J30&s0BjoVX#3vzenQv`Ej?A|p{L(PJ{260&n@m5yUblDS-t^BM7H<0I z|JS)q-_rSR@>OS(x%Jcsw4S6Vm=4{!vCYu0=|5PfXimV7xaSWt0o^$06qGKO z^#~MPkCqU^-~%p8H}m{MYU>J@y}Y~tYw5*h4bW%a#?r)EU$HvTq^%t7!YG^Pwb0Yf z6*R0@b-?;9e&Pu$DVON-DBX3n5f8+#OM{J#-fS2yG(087q4@(y(Ot`y%+Nx;W7G zA{^?=^$=h(hSwrmBEo-Q*eT9G5rvkJjPUR>hS3PLo#7eK|9S^hjz`1Dna5E|(3C;q z9QLpFzzQeN&c}gbA9Lb6&q_^FXIo(*cO}FkQTi~nhZiVWHHWztIXMhgN9Z> ze^do{bf{B496M5(ysZhBv3O@??#flTnw%KZ98NsmvwhV}e7Fx47_qWP8|H+Q{zSO! z=Yel;LtJj_2ySb55iwwE0gaDa1ZSnj=O|@Tk-VI#Nk6pebT8ZL#D9&0M)=7*9mB#R z_PX%6?kW73HfJ|Z%p!PJYCe=o@t75tv$jR0zX^K)KBZQQJD516L#dSlgKaJA1rO_i z){HxL;94GM8BKi|x~2ZBNjbSaL_3+-#fIr@=mrUDh3x~QPRcFn3>o44@VPj}az=P2)J-XEQyUP&{(~$#aEJBPU9QD!z#W}%SB@wZ)(|GA ztykGX_TFfFK zyHrJzV7#Q?$CM5sVTdR59@aWo=4eau)jC{Qr)iIS$GGdH9j?^(lh&RbgKKthOtHvnVe)&z$^2`>We+cXB}(NdxAI*XjT_m< zw`pp1$bS~PZ(=y^NokMbUatebD}^f+QmW;kY2gIQTiJ-FB=f&X!838-94iTwvE{L@ zKyAQUDvCfoTLtUv)R;$sxb3QqO$bWbu8+o{ups9d?$cq-|?8U4i4M{yY9BMgyQl7RA@wsvL-)IfAWMb8nGi;UQaG$T#i z)Iq>UF(;hVML9?XasvGg6!$!Wu|uWb-2zuAq;HGest5xbXoW_S#bNM5h=t8&G1uxJNv;0IH+C)Oy^iaF3 z=B{Dyo$$9Mp6c0I-ttC6ULoE7*v+()5apiziN0l*+uZWd+|sM@cJ5|Dx{u`=e+&ht%0_AMVL3qS2@3|*yNeY* zw@s<_=~q+q5a|>_goKQZJg!e0>T9UOPJ5ENuby1GxAn1Q-Kbow>`GaYIs?m9R+Lgf zx}sH+rF7H}w^pxFwYpzl(awQk^?U=YavqMEZ@NtA0Ya_jahX%VX#XlEf7k{7O=bK^ zCytq))B2pM3OIXpJBNd62Pzrge4Lx~wUo@+WAY<