From 4f8cd9c4774a37ec16bde312d313d22e566cfba5 Mon Sep 17 00:00:00 2001 From: "Christopher J. Morrone" Date: Mon, 30 Oct 2006 18:43:03 +0000 Subject: [PATCH] Put the branch in the right place. --- executable_names/AUTHORS | 27 - executable_names/BUILD.NOTES | 169 - executable_names/COPYING | 382 - executable_names/ChangeLog | 0 executable_names/DISCLAIMER | 75 - executable_names/INSTALL | 228 - executable_names/LICENSE.OpenSSL | 169 - executable_names/META | 17 - executable_names/Makefile.am | 51 - executable_names/Makefile.in | 790 - executable_names/NEWS | 2026 -- executable_names/README | 133 - executable_names/RELEASE_NOTES | 78 - executable_names/aclocal.m4 | 7033 ---- executable_names/autogen.sh | 114 - executable_names/auxdir/Makefile.am | 25 - executable_names/auxdir/Makefile.in | 429 - executable_names/auxdir/acx_pthread.m4 | 221 - executable_names/auxdir/config.guess | 1449 - executable_names/auxdir/config.sub | 1552 - executable_names/auxdir/depcomp | 522 - executable_names/auxdir/install-sh | 322 - executable_names/auxdir/ltmain.sh | 6402 ---- executable_names/auxdir/missing | 360 - executable_names/auxdir/slurm.m4 | 184 - executable_names/auxdir/type_socklen_t.m4 | 32 - .../auxdir/x_ac__system_configuration.m4 | 22 - executable_names/auxdir/x_ac_affinity.m4 | 53 - executable_names/auxdir/x_ac_aix.m4 | 71 - executable_names/auxdir/x_ac_bluegene.m4 | 91 - executable_names/auxdir/x_ac_debug.m4 | 60 - executable_names/auxdir/x_ac_elan.m4 | 64 - executable_names/auxdir/x_ac_federation.m4 | 53 - executable_names/auxdir/x_ac_gpl_licensed.m4 | 19 - executable_names/auxdir/x_ac_gtk.m4 | 89 - executable_names/auxdir/x_ac_munge.m4 | 65 - executable_names/auxdir/x_ac_ncurses.m4 | 35 - executable_names/auxdir/x_ac_pam.m4 | 56 - executable_names/auxdir/x_ac_ptrace.m4 | 25 - executable_names/auxdir/x_ac_readline.m4 | 45 - executable_names/auxdir/x_ac_setpgrp.m4 | 22 - executable_names/auxdir/x_ac_setproctitle.m4 | 50 - executable_names/auxdir/x_ac_sgi_job.m4 | 21 - executable_names/auxdir/x_ac_slurm_ssl.m4 | 150 - executable_names/auxdir/x_ac_xcpu.m4 | 46 - executable_names/config.h.in | 375 - executable_names/config.xml.in | 60 - executable_names/configure | 27595 ---------------- executable_names/configure.ac | 321 - executable_names/doc/Makefile.am | 14 - executable_names/doc/Makefile.in | 568 - executable_names/doc/bgl.report/Makefile | 56 - executable_names/doc/bgl.report/report.tex | 457 - executable_names/doc/bgl.report/smap.output | 19 - executable_names/doc/bgl.report/splncs.bst | 1080 - executable_names/doc/clusterworld/Makefile | 59 - executable_names/doc/clusterworld/bio.txt | 9 - executable_names/doc/clusterworld/report.tex | 1385 - .../doc/clusterworld/sample.config | 57 - executable_names/doc/clusterworld/splncs.bst | 1080 - .../doc/common/Logo_for_papers.ps | 7246 ---- .../doc/common/Rule_and_address.ps | 11341 ------- executable_names/doc/common/acm.cls | 1357 - executable_names/doc/common/chngpage.sty | 318 - executable_names/doc/common/llncs.cls | 1189 - executable_names/doc/common/llncs.dem | 1093 - executable_names/doc/common/llncs.doc | 1277 - executable_names/doc/common/llnlCoverPage.tex | 191 - executable_names/doc/common/project.bib | 219 - executable_names/doc/common/slurm.eps | 4115 --- executable_names/doc/figures/README | 8 - .../doc/figures/allocate-init.dia | 3 - .../doc/figures/allocate-init.eps | 1068 - executable_names/doc/figures/arch.dia | 5 - executable_names/doc/figures/arch.eps | 3929 --- executable_names/doc/figures/arch2.eps | 2591 -- executable_names/doc/figures/comm.eps | 2525 -- executable_names/doc/figures/connections.dia | 2 - executable_names/doc/figures/connections.eps | 619 - executable_names/doc/figures/entities.dia | 1454 - executable_names/doc/figures/entities.eps | 634 - executable_names/doc/figures/entities2.eps | 2516 -- .../doc/figures/interactive-job-init.dia | 3 - .../doc/figures/interactive-job-init.eps | 880 - executable_names/doc/figures/launch.eps | 1040 - executable_names/doc/figures/ll.dat | 6 - .../doc/figures/queued-job-init.dia | 4 - .../doc/figures/queued-job-init.eps | 1027 - executable_names/doc/figures/rms.dat | 12 - executable_names/doc/figures/slurm-arch.dia | 8 - executable_names/doc/figures/slurm-arch.eps | 652 - executable_names/doc/figures/slurm.dat | 12 - executable_names/doc/figures/times.eps | 485 - executable_names/doc/figures/times.gpl | 32 - executable_names/doc/figures/times.gpl.png | 32 - executable_names/doc/html/Makefile.am | 69 - executable_names/doc/html/Makefile.in | 508 - executable_names/doc/html/api.shtml | 331 - executable_names/doc/html/arch.gif | Bin 28772 -> 0 bytes executable_names/doc/html/authplugins.shtml | 203 - executable_names/doc/html/big_sys.shtml | 69 - executable_names/doc/html/bluegene.shtml | 558 - .../doc/html/checkpoint_plugins.shtml | 151 - executable_names/doc/html/coding_style.pdf | Bin 21725 -> 0 bytes .../doc/html/configurator.html.in | 622 - executable_names/doc/html/cons_res.shtml | 484 - executable_names/doc/html/dist_plane.shtml | 149 - executable_names/doc/html/documentation.shtml | 52 - executable_names/doc/html/download.shtml | 72 - executable_names/doc/html/entities.gif | Bin 7899 -> 0 bytes executable_names/doc/html/faq.shtml | 422 - executable_names/doc/html/footer.txt | 17 - executable_names/doc/html/header.txt | 71 - executable_names/doc/html/help.shtml | 20 - executable_names/doc/html/ibm.shtml | 90 - .../doc/html/jobacctplugins.shtml | 347 - .../doc/html/jobcompplugins.shtml | 103 - executable_names/doc/html/lci.7.tutorial.pdf | Bin 727973 -> 0 bytes executable_names/doc/html/lll.gif | Bin 1794 -> 0 bytes executable_names/doc/html/mail.shtml | 19 - executable_names/doc/html/maui.shtml | 92 - executable_names/doc/html/mc_support.gif | Bin 20840 -> 0 bytes executable_names/doc/html/mc_support.shtml | 1050 - executable_names/doc/html/moab.shtml | 116 - executable_names/doc/html/mpiplugins.shtml | 109 - executable_names/doc/html/news.shtml | 105 - executable_names/doc/html/overview.shtml | 153 - executable_names/doc/html/plane_ex1.gif | Bin 2539 -> 0 bytes executable_names/doc/html/plane_ex2.gif | Bin 4041 -> 0 bytes executable_names/doc/html/plane_ex3.gif | Bin 4206 -> 0 bytes executable_names/doc/html/plane_ex4.gif | Bin 6725 -> 0 bytes executable_names/doc/html/plane_ex5.gif | Bin 8653 -> 0 bytes executable_names/doc/html/plane_ex6.gif | Bin 12951 -> 0 bytes executable_names/doc/html/plane_ex7.gif | Bin 12958 -> 0 bytes executable_names/doc/html/platforms.shtml | 29 - executable_names/doc/html/plugins.shtml | 113 - .../doc/html/proctrack_plugins.shtml | 145 - .../doc/html/programmer_guide.shtml | 233 - executable_names/doc/html/publications.shtml | 19 - executable_names/doc/html/quickstart.shtml | 300 - .../doc/html/quickstart_admin.shtml | 609 - executable_names/doc/html/review_release.html | 50 - executable_names/doc/html/schedplugins.shtml | 123 - executable_names/doc/html/selectplugins.shtml | 368 - executable_names/doc/html/shtml2html.py | 69 - executable_names/doc/html/slurm.shtml | 50 - .../doc/html/slurm_banner_filler.jpg | Bin 365 -> 0 bytes .../doc/html/slurm_banner_filler.png | Bin 185 -> 0 bytes .../doc/html/slurm_banner_left.jpg | Bin 11825 -> 0 bytes .../doc/html/slurm_banner_left.png | Bin 33500 -> 0 bytes .../doc/html/slurm_banner_right.jpg | Bin 4459 -> 0 bytes .../doc/html/slurm_banner_right.png | Bin 19212 -> 0 bytes executable_names/doc/html/slurm_design.pdf | Bin 350424 -> 0 bytes executable_names/doc/html/slurmstyles.css | 104 - executable_names/doc/html/switchplugins.shtml | 524 - executable_names/doc/html/team.shtml | 49 - executable_names/doc/html/testimonials.shtml | 97 - executable_names/doc/html/troubleshoot.shtml | 197 - executable_names/doc/jsspp/Makefile | 56 - executable_names/doc/jsspp/abstract.tex | 12 - executable_names/doc/jsspp/architecture.tex | 171 - executable_names/doc/jsspp/conclusions.tex | 22 - executable_names/doc/jsspp/interaction.tex | 231 - executable_names/doc/jsspp/intro.tex | 108 - executable_names/doc/jsspp/jsspp.tex | 74 - executable_names/doc/jsspp/perf.tex | 16 - executable_names/doc/jsspp/references.bib | 393 - executable_names/doc/jsspp/services.tex | 322 - executable_names/doc/jsspp/survey.tex | 316 - executable_names/doc/man/Makefile.am | 101 - executable_names/doc/man/Makefile.in | 706 - executable_names/doc/man/man1/sacct.1 | 1141 - executable_names/doc/man/man1/salloc.1 | 445 - executable_names/doc/man/man1/sattach.1 | 89 - executable_names/doc/man/man1/sbatch.1 | 488 - executable_names/doc/man/man1/sbcast.1 | 108 - executable_names/doc/man/man1/scancel.1 | 133 - executable_names/doc/man/man1/scontrol.1 | 471 - executable_names/doc/man/man1/sinfo.1 | 481 - executable_names/doc/man/man1/slaunch.1 | 676 - executable_names/doc/man/man1/slurm.1 | 60 - executable_names/doc/man/man1/smap.1 | 437 - executable_names/doc/man/man1/squeue.1 | 450 - executable_names/doc/man/man1/srun.1 | 1428 - executable_names/doc/man/man1/sview.1 | 70 - .../doc/man/man3/slurm_allocate_resources.3 | 280 - .../doc/man/man3/slurm_allocation_lookup.3 | 1 - .../doc/man/man3/slurm_api_version.3 | 1 - .../doc/man/man3/slurm_checkpoint_able.3 | 1 - .../doc/man/man3/slurm_checkpoint_complete.3 | 1 - .../doc/man/man3/slurm_checkpoint_create.3 | 1 - .../doc/man/man3/slurm_checkpoint_disable.3 | 1 - .../doc/man/man3/slurm_checkpoint_enable.3 | 1 - .../doc/man/man3/slurm_checkpoint_error.3 | 239 - .../doc/man/man3/slurm_checkpoint_failed.3 | 1 - .../doc/man/man3/slurm_checkpoint_restart.3 | 1 - .../doc/man/man3/slurm_checkpoint_vacate.3 | 1 - .../doc/man/man3/slurm_complete_job.3 | 94 - .../doc/man/man3/slurm_complete_job_step.3 | 1 - .../doc/man/man3/slurm_confirm_allocation.3 | 1 - .../doc/man/man3/slurm_delete_partition.3 | 1 - .../doc/man/man3/slurm_free_ctl_conf.3 | 167 - .../doc/man/man3/slurm_free_job_info_msg.3 | 357 - .../slurm_free_job_step_create_response_msg.3 | 1 - .../slurm_free_job_step_info_response_msg.3 | 229 - .../doc/man/man3/slurm_free_node_info.3 | 263 - .../doc/man/man3/slurm_free_partition_info.3 | 214 - ...rm_free_resource_allocation_response_msg.3 | 1 - .../slurm_free_submit_response_response_msg.3 | 1 - .../doc/man/man3/slurm_get_end_time.3 | 1 - .../doc/man/man3/slurm_get_errno.3 | 111 - .../doc/man/man3/slurm_get_job_steps.3 | 1 - .../doc/man/man3/slurm_get_rem_time.3 | 1 - .../doc/man/man3/slurm_get_select_jobinfo.3 | 1 - .../doc/man/man3/slurm_hostlist_create.3 | 126 - .../doc/man/man3/slurm_hostlist_destroy.3 | 1 - .../doc/man/man3/slurm_hostlist_shift.3 | 1 - .../doc/man/man3/slurm_init_job_desc_msg.3 | 1 - .../doc/man/man3/slurm_init_part_desc_msg.3 | 1 - .../doc/man/man3/slurm_job_step_create.3 | 90 - .../doc/man/man3/slurm_job_will_run.3 | 1 - .../doc/man/man3/slurm_jobinfo_ctx_get.3 | 1 - .../doc/man/man3/slurm_kill_job.3 | 97 - .../doc/man/man3/slurm_kill_job_step.3 | 1 - .../doc/man/man3/slurm_load_ctl_conf.3 | 1 - .../doc/man/man3/slurm_load_jobs.3 | 1 - .../doc/man/man3/slurm_load_node.3 | 1 - .../doc/man/man3/slurm_load_partitions.3 | 1 - executable_names/doc/man/man3/slurm_perror.3 | 1 - .../doc/man/man3/slurm_pid2jobid.3 | 1 - .../doc/man/man3/slurm_print_ctl_conf.3 | 1 - .../doc/man/man3/slurm_print_job_info.3 | 1 - .../doc/man/man3/slurm_print_job_info_msg.3 | 1 - .../doc/man/man3/slurm_print_job_step_info.3 | 1 - .../man/man3/slurm_print_job_step_info_msg.3 | 1 - .../doc/man/man3/slurm_print_node_info_msg.3 | 1 - .../doc/man/man3/slurm_print_node_table.3 | 1 - .../doc/man/man3/slurm_print_partition_info.3 | 1 - .../man/man3/slurm_print_partition_info_msg.3 | 1 - .../doc/man/man3/slurm_reconfigure.3 | 264 - executable_names/doc/man/man3/slurm_requeue.3 | 1 - executable_names/doc/man/man3/slurm_resume.3 | 95 - .../doc/man/man3/slurm_shutdown.3 | 1 - executable_names/doc/man/man3/slurm_spawn.3 | 393 - .../doc/man/man3/slurm_spawn_kill.3 | 1 - .../doc/man/man3/slurm_step_ctx_create.3 | 1 - .../doc/man/man3/slurm_step_ctx_destroy.3 | 1 - .../doc/man/man3/slurm_step_ctx_get.3 | 1 - .../doc/man/man3/slurm_step_ctx_set.3 | 1 - .../doc/man/man3/slurm_strerror.3 | 1 - .../doc/man/man3/slurm_submit_batch_job.3 | 1 - executable_names/doc/man/man3/slurm_suspend.3 | 1 - .../doc/man/man3/slurm_update_job.3 | 1 - .../doc/man/man3/slurm_update_node.3 | 1 - .../doc/man/man3/slurm_update_partition.3 | 1 - executable_names/doc/man/man5/bluegene.conf.5 | 206 - executable_names/doc/man/man5/slurm.conf.5 | 1130 - executable_names/doc/man/man5/wiki.conf.5 | 126 - executable_names/doc/man/man8/slurmctld.8 | 76 - executable_names/doc/man/man8/slurmd.8 | 82 - executable_names/doc/man/man8/slurmstepd.8 | 31 - executable_names/doc/man/man8/spank.8 | 435 - executable_names/doc/pubdesign/ChangeLog | 32 - executable_names/doc/pubdesign/Makefile | 59 - executable_names/doc/pubdesign/report.tex | 1494 - executable_names/doc/pubdesign/sample.config | 57 - executable_names/doc/sigops/Makefile | 53 - executable_names/doc/sigops/report.tex | 406 - executable_names/doc/sigops/splncs.bst | 1080 - .../doc/slides/bigpicture/Makefile | 22 - .../doc/slides/bigpicture/arch.eps | 629 - .../doc/slides/bigpicture/arch.obj | 153 - .../doc/slides/bigpicture/llnl.gif | Bin 1269 -> 0 bytes .../doc/slides/bigpicture/llnl.ps | 577 - .../doc/slides/bigpicture/penguin.eps | 1041 - .../doc/slides/bigpicture/slides.tex | 209 - .../doc/slides/bigpicture/slurm.eps | 4115 --- .../doc/slides/job-initiation/Makefile | 22 - .../doc/slides/job-initiation/llnl.gif | Bin 1269 -> 0 bytes .../doc/slides/job-initiation/llnl.ps | 577 - .../doc/slides/job-initiation/penguin.eps | 1041 - .../doc/slides/job-initiation/slides.tex | 441 - executable_names/doc/slides/qsnet/Makefile | 22 - executable_names/doc/slides/qsnet/llnl.gif | Bin 1269 -> 0 bytes executable_names/doc/slides/qsnet/llnl.ps | 577 - executable_names/doc/slides/qsnet/penguin.eps | 1041 - executable_names/doc/slides/qsnet/slides.tex | 203 - executable_names/doc/slides/qsnet/slurm.eps | 4115 --- executable_names/doc/slides/users/Makefile | 11 - .../doc/slides/users/figures/arch.dia | 5 - .../doc/slides/users/figures/arch.eps | 3931 --- .../doc/slides/users/figures/arrow-glow.ps | 173 - .../doc/slides/users/figures/bullet-glow.ps | 173 - .../slides/users/figures/entities-layered.dia | 4 - .../doc/slides/users/figures/entities0.eps | 1139 - .../doc/slides/users/figures/entities1.eps | 1498 - .../doc/slides/users/figures/entities2.eps | 1611 - .../doc/slides/users/figures/entities3.eps | 1885 -- .../doc/slides/users/figures/fry.eps | 1280 - .../doc/slides/users/figures/fry.jpg | Bin 4696 -> 0 bytes .../doc/slides/users/figures/hpcs.eps | 678 - .../doc/slides/users/figures/icchome.eps | 164 - .../doc/slides/users/figures/linux_llnl.eps | 2137 -- .../doc/slides/users/figures/linux_llnl.png | Bin 11957 -> 0 bytes .../doc/slides/users/figures/linux_llnl2.png | Bin 33175 -> 0 bytes .../doc/slides/users/figures/llnl.ps | 577 - .../doc/slides/users/figures/penguin.eps | 1041 - .../doc/slides/users/figures/rule-glow.ps | 230 - .../doc/slides/users/figures/slides.ps | 6719 ---- .../doc/slides/users/figures/slurm.eps | 4115 --- executable_names/doc/slides/users/slides.tex | 274 - .../doc/slides/users/tex/PPRalienglow.sty | 69 - .../doc/slides/users/tex/prosper.cls | 850 - executable_names/doc/survey/ChangeLog | 17 - executable_names/doc/survey/Makefile | 42 - executable_names/doc/survey/project.bib | 376 - executable_names/doc/survey/report.tex | 336 - executable_names/doc/txt/README | 3 - .../doc/txt/elan.runtime.requirements.txt | 224 - executable_names/doc/txt/heritage.txt | 120 - executable_names/doc/txt/slurmctld.locks | 67 - executable_names/doc/txt/testing.txt | 59 - executable_names/etc/bluegene.conf.example | 73 - executable_names/etc/federation.conf.example | 10 - executable_names/etc/init.d.slurm | 198 - executable_names/etc/ptrace.patch | 125 - executable_names/etc/slurm.conf.example | 77 - executable_names/etc/slurm.epilog.clean | 37 - executable_names/slurm.spec | 359 - executable_names/slurm/pmi.h | 829 - executable_names/slurm/slurm.h.in | 1777 - executable_names/slurm/slurm_errno.h | 226 - executable_names/slurm/spank.h | 271 - executable_names/src/Makefile.am | 4 - executable_names/src/Makefile.in | 556 - executable_names/src/api/Makefile.am | 122 - executable_names/src/api/Makefile.in | 721 - executable_names/src/api/allocate.c | 747 - executable_names/src/api/cancel.c | 119 - executable_names/src/api/checkpoint.c | 296 - executable_names/src/api/complete.c | 79 - executable_names/src/api/config_info.c | 257 - executable_names/src/api/init_msg.c | 155 - executable_names/src/api/job_info.c | 753 - executable_names/src/api/job_info.h | 57 - executable_names/src/api/job_step_info.c | 231 - executable_names/src/api/node_info.c | 195 - executable_names/src/api/node_select_info.c | 121 - executable_names/src/api/node_select_info.h | 93 - executable_names/src/api/partition_info.c | 272 - executable_names/src/api/pmi.c | 1619 - executable_names/src/api/pmi_server.c | 402 - executable_names/src/api/pmi_server.h | 47 - executable_names/src/api/reconfigure.c | 167 - executable_names/src/api/signal.c | 407 - executable_names/src/api/slurm_pmi.c | 243 - executable_names/src/api/slurm_pmi.h | 84 - executable_names/src/api/step_ctx.c | 337 - executable_names/src/api/step_ctx.h | 59 - executable_names/src/api/step_io.c | 1329 - executable_names/src/api/step_io.h | 128 - executable_names/src/api/step_launch.c | 825 - executable_names/src/api/step_launch.h | 92 - executable_names/src/api/submit.c | 120 - executable_names/src/api/suspend.c | 115 - executable_names/src/api/update_config.c | 119 - executable_names/src/common/Makefile.am | 112 - executable_names/src/common/Makefile.in | 740 - executable_names/src/common/arg_desc.c | 94 - executable_names/src/common/arg_desc.h | 106 - executable_names/src/common/bitstring.c | 1206 - executable_names/src/common/bitstring.h | 192 - executable_names/src/common/cbuf.c | 1832 - executable_names/src/common/cbuf.h | 332 - executable_names/src/common/checkpoint.c | 345 - executable_names/src/common/checkpoint.h | 96 - executable_names/src/common/daemonize.c | 202 - executable_names/src/common/daemonize.h | 63 - executable_names/src/common/eio.c | 426 - executable_names/src/common/eio.h | 94 - executable_names/src/common/env.c | 1136 - executable_names/src/common/env.h | 221 - executable_names/src/common/fd.c | 267 - executable_names/src/common/fd.h | 143 - executable_names/src/common/forward.c | 419 - executable_names/src/common/forward.h | 133 - executable_names/src/common/getopt.c | 1055 - executable_names/src/common/getopt.h | 180 - executable_names/src/common/getopt1.c | 188 - executable_names/src/common/global_srun.c | 188 - executable_names/src/common/global_srun.h | 160 - executable_names/src/common/hostlist.c | 3005 -- executable_names/src/common/hostlist.h | 457 - executable_names/src/common/io_hdr.c | 287 - executable_names/src/common/io_hdr.h | 98 - executable_names/src/common/job_options.c | 248 - executable_names/src/common/job_options.h | 92 - executable_names/src/common/list.c | 921 - executable_names/src/common/list.h | 300 - executable_names/src/common/log.c | 921 - executable_names/src/common/log.h | 219 - executable_names/src/common/macros.h | 264 - executable_names/src/common/malloc.c | 22 - executable_names/src/common/malloc.h | 10 - executable_names/src/common/mpi.c | 295 - executable_names/src/common/mpi.h | 58 - executable_names/src/common/net.c | 165 - executable_names/src/common/net.h | 62 - executable_names/src/common/node_select.c | 1183 - executable_names/src/common/node_select.h | 292 - executable_names/src/common/optz.c | 114 - executable_names/src/common/optz.h | 60 - executable_names/src/common/pack.c | 534 - executable_names/src/common/pack.h | 320 - executable_names/src/common/parse_config.c | 1209 - executable_names/src/common/parse_config.h | 321 - executable_names/src/common/parse_spec.c | 341 - executable_names/src/common/parse_spec.h | 88 - executable_names/src/common/parse_time.c | 428 - executable_names/src/common/parse_time.h | 68 - executable_names/src/common/plugin.c | 228 - executable_names/src/common/plugin.h | 158 - executable_names/src/common/plugrack.c | 644 - executable_names/src/common/plugrack.h | 182 - executable_names/src/common/plugstack.c | 1223 - executable_names/src/common/plugstack.h | 123 - executable_names/src/common/read_config.c | 1650 - executable_names/src/common/read_config.h | 291 - executable_names/src/common/safeopen.c | 92 - executable_names/src/common/safeopen.h | 58 - executable_names/src/common/slurm_auth.c | 476 - executable_names/src/common/slurm_auth.h | 168 - executable_names/src/common/slurm_cred.c | 1483 - executable_names/src/common/slurm_cred.h | 254 - executable_names/src/common/slurm_errno.c | 362 - executable_names/src/common/slurm_jobacct.c | 602 - executable_names/src/common/slurm_jobacct.h | 103 - executable_names/src/common/slurm_jobcomp.c | 283 - executable_names/src/common/slurm_jobcomp.h | 75 - .../src/common/slurm_protocol_api.c | 2313 -- .../src/common/slurm_protocol_api.h | 712 - .../src/common/slurm_protocol_common.h | 76 - .../src/common/slurm_protocol_defs.c | 1174 - .../src/common/slurm_protocol_defs.h | 777 - .../src/common/slurm_protocol_interface.h | 403 - .../src/common/slurm_protocol_mongo_common.h | 87 - .../src/common/slurm_protocol_pack.c | 3976 --- .../src/common/slurm_protocol_pack.h | 141 - .../src/common/slurm_protocol_socket_common.h | 84 - .../slurm_protocol_socket_implementation.c | 834 - .../src/common/slurm_protocol_util.c | 126 - .../src/common/slurm_protocol_util.h | 92 - .../src/common/slurm_resource_info.c | 296 - .../src/common/slurm_resource_info.h | 71 - .../src/common/slurm_rlimits_info.c | 180 - .../src/common/slurm_rlimits_info.h | 62 - .../src/common/slurm_selecttype_info.c | 84 - .../src/common/slurm_selecttype_info.h | 49 - .../src/common/slurm_step_layout.c | 746 - .../src/common/slurm_step_layout.h | 108 - executable_names/src/common/slurm_xlator.h | 288 - executable_names/src/common/strlcpy.c | 86 - executable_names/src/common/strlcpy.h | 19 - executable_names/src/common/switch.c | 617 - executable_names/src/common/switch.h | 354 - executable_names/src/common/timers.c | 72 - executable_names/src/common/timers.h | 68 - executable_names/src/common/uid.c | 88 - executable_names/src/common/uid.h | 63 - executable_names/src/common/unsetenv.c | 60 - executable_names/src/common/unsetenv.h | 43 - executable_names/src/common/util-net.c | 368 - executable_names/src/common/util-net.h | 127 - executable_names/src/common/xassert.c | 62 - executable_names/src/common/xassert.h | 70 - executable_names/src/common/xmalloc.c | 282 - executable_names/src/common/xmalloc.h | 114 - executable_names/src/common/xsignal.c | 151 - executable_names/src/common/xsignal.h | 84 - executable_names/src/common/xstring.c | 374 - executable_names/src/common/xstring.h | 133 - executable_names/src/plugins/Makefile.am | 2 - executable_names/src/plugins/Makefile.in | 554 - executable_names/src/plugins/auth/Makefile.am | 3 - executable_names/src/plugins/auth/Makefile.in | 556 - .../src/plugins/auth/authd/Makefile.am | 20 - .../src/plugins/auth/authd/Makefile.in | 563 - .../src/plugins/auth/authd/auth_authd.c | 378 - .../src/plugins/auth/munge/Makefile.am | 19 - .../src/plugins/auth/munge/Makefile.in | 564 - .../src/plugins/auth/munge/auth_munge.c | 576 - .../src/plugins/auth/none/Makefile.am | 13 - .../src/plugins/auth/none/Makefile.in | 558 - .../src/plugins/auth/none/auth_none.c | 401 - .../src/plugins/checkpoint/Makefile.am | 3 - .../src/plugins/checkpoint/Makefile.in | 556 - .../src/plugins/checkpoint/aix/Makefile.am | 16 - .../src/plugins/checkpoint/aix/Makefile.in | 564 - .../plugins/checkpoint/aix/checkpoint_aix.c | 503 - .../src/plugins/checkpoint/none/Makefile.am | 13 - .../src/plugins/checkpoint/none/Makefile.in | 558 - .../plugins/checkpoint/none/checkpoint_none.c | 136 - .../src/plugins/jobacct/Makefile.am | 3 - .../src/plugins/jobacct/Makefile.in | 556 - .../src/plugins/jobacct/aix/Makefile.am | 16 - .../src/plugins/jobacct/aix/Makefile.in | 587 - .../src/plugins/jobacct/aix/jobacct_aix.c | 465 - .../plugins/jobacct/common/common_slurmctld.c | 535 - .../jobacct/common/common_slurmstepd.c | 146 - .../plugins/jobacct/common/jobacct_common.c | 461 - .../plugins/jobacct/common/jobacct_common.h | 132 - .../src/plugins/jobacct/linux/Makefile.am | 16 - .../src/plugins/jobacct/linux/Makefile.in | 587 - .../src/plugins/jobacct/linux/jobacct_linux.c | 533 - .../src/plugins/jobacct/none/Makefile.am | 13 - .../src/plugins/jobacct/none/Makefile.in | 558 - .../src/plugins/jobacct/none/jobacct_none.c | 231 - .../src/plugins/jobcomp/Makefile.am | 3 - .../src/plugins/jobcomp/Makefile.in | 556 - .../src/plugins/jobcomp/filetxt/Makefile.am | 13 - .../src/plugins/jobcomp/filetxt/Makefile.in | 558 - .../plugins/jobcomp/filetxt/jobcomp_filetxt.c | 296 - .../src/plugins/jobcomp/none/Makefile.am | 13 - .../src/plugins/jobcomp/none/Makefile.in | 558 - .../src/plugins/jobcomp/none/jobcomp_none.c | 125 - .../src/plugins/jobcomp/script/Makefile.am | 13 - .../src/plugins/jobcomp/script/Makefile.in | 559 - .../src/plugins/jobcomp/script/README | 16 - .../src/plugins/jobcomp/script/job_record.c | 92 - .../src/plugins/jobcomp/script/job_record.h | 66 - .../plugins/jobcomp/script/jobcomp_script.c | 498 - executable_names/src/plugins/mpi/Makefile.am | 3 - executable_names/src/plugins/mpi/Makefile.in | 556 - .../src/plugins/mpi/lam/Makefile.am | 12 - .../src/plugins/mpi/lam/Makefile.in | 556 - executable_names/src/plugins/mpi/lam/lam.h | 46 - .../src/plugins/mpi/lam/mpi_lam.c | 102 - .../src/plugins/mpi/mpichgm/Makefile.am | 15 - .../src/plugins/mpi/mpichgm/Makefile.in | 579 - .../src/plugins/mpi/mpichgm/mpi_mpichgm.c | 116 - .../src/plugins/mpi/mpichgm/mpichgm.c | 348 - .../src/plugins/mpi/mpichgm/mpichgm.h | 46 - .../src/plugins/mpi/mvapich/Makefile.am | 16 - .../src/plugins/mpi/mvapich/Makefile.in | 579 - .../src/plugins/mpi/mvapich/mpi_mvapich.c | 134 - .../src/plugins/mpi/mvapich/mvapich.c | 532 - .../src/plugins/mpi/mvapich/mvapich.h | 47 - .../src/plugins/mpi/none/Makefile.am | 13 - .../src/plugins/mpi/none/Makefile.in | 558 - .../src/plugins/mpi/none/mpi_none.c | 105 - .../src/plugins/proctrack/Makefile.am | 11 - .../src/plugins/proctrack/Makefile.in | 558 - .../src/plugins/proctrack/aix/Makefile.am | 14 - .../src/plugins/proctrack/aix/Makefile.in | 560 - .../src/plugins/proctrack/aix/proctrack_aix.c | 263 - .../plugins/proctrack/linuxproc/Makefile.am | 16 - .../plugins/proctrack/linuxproc/Makefile.in | 564 - .../plugins/proctrack/linuxproc/kill_tree.c | 389 - .../plugins/proctrack/linuxproc/kill_tree.h | 54 - .../proctrack/linuxproc/proctrack_linuxproc.c | 172 - .../src/plugins/proctrack/pgid/Makefile.am | 13 - .../src/plugins/proctrack/pgid/Makefile.in | 558 - .../plugins/proctrack/pgid/proctrack_pgid.c | 191 - .../src/plugins/proctrack/rms/Makefile.am | 17 - .../src/plugins/proctrack/rms/Makefile.in | 559 - .../src/plugins/proctrack/rms/proctrack_rms.c | 381 - .../src/plugins/proctrack/sgi_job/Makefile.am | 14 - .../src/plugins/proctrack/sgi_job/Makefile.in | 558 - .../proctrack/sgi_job/proctrack_sgi_job.c | 304 - .../src/plugins/sched/Makefile.am | 3 - .../src/plugins/sched/Makefile.in | 556 - .../src/plugins/sched/backfill/Makefile.am | 16 - .../src/plugins/sched/backfill/Makefile.in | 560 - .../src/plugins/sched/backfill/backfill.c | 661 - .../src/plugins/sched/backfill/backfill.h | 43 - .../plugins/sched/backfill/backfill_wrapper.c | 167 - .../src/plugins/sched/builtin/Makefile.am | 14 - .../src/plugins/sched/builtin/Makefile.in | 556 - .../plugins/sched/builtin/builtin_wrapper.c | 114 - .../src/plugins/sched/gang/Makefile.am | 17 - .../src/plugins/sched/gang/Makefile.in | 561 - .../src/plugins/sched/gang/gang.c | 197 - .../src/plugins/sched/gang/gang.h | 50 - .../src/plugins/sched/gang/sched_gang.c | 108 - .../src/plugins/sched/hold/Makefile.am | 14 - .../src/plugins/sched/hold/Makefile.in | 556 - .../src/plugins/sched/hold/hold_wrapper.c | 124 - .../src/plugins/sched/wiki2/Makefile.am | 33 - .../src/plugins/sched/wiki2/Makefile.in | 596 - .../src/plugins/sched/wiki2/cancel_job.c | 147 - .../src/plugins/sched/wiki2/crypto.c | 134 - .../src/plugins/sched/wiki2/crypto.h | 8 - .../src/plugins/sched/wiki2/event.c | 125 - .../src/plugins/sched/wiki2/get_jobs.c | 359 - .../src/plugins/sched/wiki2/get_nodes.c | 245 - .../src/plugins/sched/wiki2/initialize.c | 85 - .../src/plugins/sched/wiki2/job_add_task.c | 47 - .../src/plugins/sched/wiki2/job_modify.c | 168 - .../plugins/sched/wiki2/job_release_task.c | 47 - .../src/plugins/sched/wiki2/job_requeue.c | 82 - .../src/plugins/sched/wiki2/job_signal.c | 155 - .../src/plugins/sched/wiki2/job_will_run.c | 266 - .../src/plugins/sched/wiki2/msg.c | 539 - .../src/plugins/sched/wiki2/msg.h | 116 - .../src/plugins/sched/wiki2/resume_job.c | 85 - .../src/plugins/sched/wiki2/sched_wiki.c | 118 - .../src/plugins/sched/wiki2/start_job.c | 224 - .../src/plugins/sched/wiki2/suspend_job.c | 85 - .../src/plugins/select/Makefile.am | 3 - .../src/plugins/select/Makefile.in | 556 - .../src/plugins/select/bluegene/Makefile.am | 3 - .../src/plugins/select/bluegene/Makefile.in | 556 - .../bluegene/block_allocator/Makefile.am | 36 - .../bluegene/block_allocator/Makefile.in | 556 - .../block_allocator/block_allocator.c | 4652 --- .../block_allocator/block_allocator.h | 360 - .../bluegene/block_allocator/bridge_linker.c | 588 - .../bluegene/block_allocator/bridge_linker.h | 127 - .../select/bluegene/plugin/Makefile.am | 48 - .../select/bluegene/plugin/Makefile.in | 686 - .../plugins/select/bluegene/plugin/Manifest | 21 - .../select/bluegene/plugin/bg_block_info.c | 509 - .../select/bluegene/plugin/bg_block_info.h | 48 - .../select/bluegene/plugin/bg_job_place.c | 709 - .../select/bluegene/plugin/bg_job_place.h | 60 - .../select/bluegene/plugin/bg_job_run.c | 969 - .../select/bluegene/plugin/bg_job_run.h | 88 - .../bluegene/plugin/bg_switch_connections.c | 784 - .../select/bluegene/plugin/block_sys.c | 693 - .../plugins/select/bluegene/plugin/bluegene.c | 2778 -- .../plugins/select/bluegene/plugin/bluegene.h | 243 - .../select/bluegene/plugin/libsched_if64.c | 59 - .../src/plugins/select/bluegene/plugin/opts.c | 152 - .../select/bluegene/plugin/select_bluegene.c | 596 - .../plugins/select/bluegene/plugin/sfree.c | 584 - .../plugins/select/bluegene/plugin/sfree.h | 63 - .../select/bluegene/plugin/slurm_epilog.c | 167 - .../select/bluegene/plugin/slurm_prolog.c | 229 - .../select/bluegene/plugin/state_test.c | 459 - .../select/bluegene/plugin/state_test.h | 57 - .../src/plugins/select/bluegene/wrap_rm_api.h | 60 - .../src/plugins/select/cons_res/Makefile.am | 14 - .../src/plugins/select/cons_res/Makefile.in | 560 - .../plugins/select/cons_res/select_cons_res.c | 2291 -- .../src/plugins/select/linear/Makefile.am | 15 - .../src/plugins/select/linear/Makefile.in | 560 - .../src/plugins/select/linear/select_linear.c | 779 - .../src/plugins/switch/Makefile.am | 3 - .../src/plugins/switch/Makefile.in | 556 - .../src/plugins/switch/elan/Makefile.am | 35 - .../src/plugins/switch/elan/Makefile.in | 580 - .../src/plugins/switch/elan/qsw.c | 1507 - .../src/plugins/switch/elan/qsw.h | 141 - .../src/plugins/switch/elan/switch_elan.c | 845 - .../src/plugins/switch/federation/Makefile.am | 33 - .../src/plugins/switch/federation/Makefile.in | 581 - .../plugins/switch/federation/federation.c | 2570 -- .../plugins/switch/federation/federation.h | 111 - .../switch/federation/federation_keys.h | 60 - .../switch/federation/switch_federation.c | 674 - .../src/plugins/switch/none/Makefile.am | 17 - .../src/plugins/switch/none/Makefile.in | 560 - .../src/plugins/switch/none/switch_none.c | 322 - executable_names/src/plugins/task/Makefile.am | 3 - executable_names/src/plugins/task/Makefile.in | 556 - .../src/plugins/task/affinity/Makefile.am | 29 - .../src/plugins/task/affinity/Makefile.in | 588 - .../src/plugins/task/affinity/affinity.c | 210 - .../src/plugins/task/affinity/affinity.h | 105 - .../src/plugins/task/affinity/dist_tasks.c | 1585 - .../src/plugins/task/affinity/dist_tasks.h | 107 - .../src/plugins/task/affinity/numa.c | 245 - .../src/plugins/task/affinity/schedutils.c | 144 - .../src/plugins/task/affinity/task_affinity.c | 208 - .../src/plugins/task/none/Makefile.am | 17 - .../src/plugins/task/none/Makefile.in | 560 - .../src/plugins/task/none/task_none.c | 153 - executable_names/src/sacct/Makefile.am | 21 - executable_names/src/sacct/Makefile.in | 567 - executable_names/src/sacct/options.c | 1815 - executable_names/src/sacct/print.c | 1175 - executable_names/src/sacct/process.c | 615 - executable_names/src/sacct/sacct.c | 345 - executable_names/src/sacct/sacct.h | 353 - executable_names/src/sacct/sacct_stat.c | 205 - executable_names/src/sacct/sacct_stat.h | 66 - executable_names/src/salloc/Makefile.am | 20 - executable_names/src/salloc/Makefile.in | 560 - executable_names/src/salloc/msg.c | 287 - executable_names/src/salloc/msg.h | 39 - executable_names/src/salloc/opt.c | 1293 - executable_names/src/salloc/opt.h | 119 - executable_names/src/salloc/salloc.c | 308 - executable_names/src/salloc/salloc.h | 42 - executable_names/src/sattach/Makefile.am | 39 - executable_names/src/sattach/Makefile.in | 583 - executable_names/src/sattach/attach.c | 68 - executable_names/src/sattach/attach.h | 82 - executable_names/src/sattach/opt.c | 499 - executable_names/src/sattach/opt.h | 92 - executable_names/src/sattach/sattach.c | 640 - .../src/sattach/sattach.wrapper.c | 18 - executable_names/src/sbatch/Makefile.am | 20 - executable_names/src/sbatch/Makefile.in | 559 - executable_names/src/sbatch/opt.c | 1547 - executable_names/src/sbatch/opt.h | 134 - executable_names/src/sbatch/sbatch.c | 298 - executable_names/src/sbcast/Makefile.am | 21 - executable_names/src/sbcast/Makefile.in | 565 - executable_names/src/sbcast/agent.c | 216 - executable_names/src/sbcast/opts.c | 226 - executable_names/src/sbcast/sbcast.c | 234 - executable_names/src/sbcast/sbcast.h | 68 - executable_names/src/scancel/Makefile.am | 20 - executable_names/src/scancel/Makefile.in | 563 - executable_names/src/scancel/opt.c | 501 - executable_names/src/scancel/scancel.c | 322 - executable_names/src/scancel/scancel.h | 71 - executable_names/src/scontrol/Makefile.am | 29 - executable_names/src/scontrol/Makefile.in | 577 - executable_names/src/scontrol/info_job.c | 367 - executable_names/src/scontrol/info_node.c | 185 - executable_names/src/scontrol/info_part.c | 129 - executable_names/src/scontrol/scontrol.c | 913 - executable_names/src/scontrol/scontrol.h | 122 - executable_names/src/scontrol/update_job.c | 456 - executable_names/src/scontrol/update_node.c | 161 - executable_names/src/scontrol/update_part.c | 193 - executable_names/src/sinfo/Makefile.am | 21 - executable_names/src/sinfo/Makefile.in | 567 - executable_names/src/sinfo/opts.c | 737 - executable_names/src/sinfo/print.c | 726 - executable_names/src/sinfo/print.h | 171 - executable_names/src/sinfo/sinfo.c | 705 - executable_names/src/sinfo/sinfo.h | 164 - executable_names/src/sinfo/sort.c | 529 - executable_names/src/slaunch/Makefile.am | 47 - executable_names/src/slaunch/Makefile.in | 596 - executable_names/src/slaunch/attach.c | 57 - executable_names/src/slaunch/attach.h | 83 - executable_names/src/slaunch/core-format.c | 152 - executable_names/src/slaunch/core-format.h | 42 - executable_names/src/slaunch/fname.c | 159 - executable_names/src/slaunch/fname.h | 56 - executable_names/src/slaunch/multi_prog.c | 207 - executable_names/src/slaunch/multi_prog.h | 37 - executable_names/src/slaunch/opt.c | 2142 -- executable_names/src/slaunch/opt.h | 168 - executable_names/src/slaunch/sigstr.c | 54 - executable_names/src/slaunch/sigstr.h | 39 - executable_names/src/slaunch/slaunch.c | 870 - executable_names/src/slaunch/slaunch.h | 34 - .../src/slaunch/slaunch.wrapper.c | 17 - executable_names/src/slurmctld/Makefile.am | 48 - executable_names/src/slurmctld/Makefile.in | 612 - executable_names/src/slurmctld/agent.c | 1409 - executable_names/src/slurmctld/agent.h | 108 - executable_names/src/slurmctld/backup.c | 405 - executable_names/src/slurmctld/controller.c | 1188 - executable_names/src/slurmctld/job_mgr.c | 4475 --- .../src/slurmctld/job_scheduler.c | 417 - executable_names/src/slurmctld/locks.c | 207 - executable_names/src/slurmctld/locks.h | 150 - executable_names/src/slurmctld/node_mgr.c | 1947 -- .../src/slurmctld/node_scheduler.c | 1634 - .../src/slurmctld/node_scheduler.h | 112 - .../src/slurmctld/partition_mgr.c | 1104 - executable_names/src/slurmctld/ping_nodes.c | 270 - executable_names/src/slurmctld/ping_nodes.h | 73 - executable_names/src/slurmctld/private.key | 15 - executable_names/src/slurmctld/proc_req.c | 2448 -- executable_names/src/slurmctld/proc_req.h | 72 - executable_names/src/slurmctld/read_config.c | 1040 - executable_names/src/slurmctld/read_config.h | 56 - executable_names/src/slurmctld/sched_plugin.c | 291 - executable_names/src/slurmctld/sched_plugin.h | 88 - executable_names/src/slurmctld/slurmctld.h | 1383 - executable_names/src/slurmctld/srun_comm.c | 306 - executable_names/src/slurmctld/srun_comm.h | 81 - executable_names/src/slurmctld/state_save.c | 150 - executable_names/src/slurmctld/state_save.h | 62 - executable_names/src/slurmctld/step_mgr.c | 1517 - executable_names/src/slurmd/Makefile.am | 2 - executable_names/src/slurmd/Makefile.in | 554 - .../src/slurmd/common/proctrack.c | 370 - .../src/slurmd/common/proctrack.h | 147 - .../src/slurmd/common/reverse_tree.h | 45 - .../src/slurmd/common/run_script.c | 130 - .../src/slurmd/common/run_script.h | 59 - .../src/slurmd/common/setproctitle.c | 309 - .../src/slurmd/common/setproctitle.h | 52 - .../src/slurmd/common/slurmstepd_init.c | 93 - .../src/slurmd/common/slurmstepd_init.h | 69 - .../src/slurmd/common/stepd_api.c | 707 - .../src/slurmd/common/stepd_api.h | 200 - .../src/slurmd/common/task_plugin.c | 275 - .../src/slurmd/common/task_plugin.h | 99 - executable_names/src/slurmd/private.key | 15 - executable_names/src/slurmd/public.cert | 6 - .../src/slurmd/slurmd/Makefile.am | 71 - .../src/slurmd/slurmd/Makefile.in | 727 - .../src/slurmd/slurmd/get_mach_stat.c | 799 - .../src/slurmd/slurmd/get_mach_stat.h | 71 - .../src/slurmd/slurmd/read_proc.c | 347 - executable_names/src/slurmd/slurmd/req.c | 2375 -- executable_names/src/slurmd/slurmd/req.h | 50 - .../src/slurmd/slurmd/reverse_tree_math.c | 164 - .../src/slurmd/slurmd/reverse_tree_math.h | 61 - executable_names/src/slurmd/slurmd/slurmd.c | 1187 - executable_names/src/slurmd/slurmd/slurmd.h | 145 - executable_names/src/slurmd/slurmd/xcpu.c | 145 - executable_names/src/slurmd/slurmd/xcpu.h | 53 - .../src/slurmd/slurmstepd/Makefile.am | 52 - .../src/slurmd/slurmstepd/Makefile.in | 687 - .../src/slurmd/slurmstepd/fname.c | 224 - .../src/slurmd/slurmstepd/fname.h | 48 - executable_names/src/slurmd/slurmstepd/io.c | 1368 - executable_names/src/slurmd/slurmstepd/io.h | 111 - executable_names/src/slurmd/slurmstepd/mgr.c | 1596 - executable_names/src/slurmd/slurmstepd/mgr.h | 78 - .../src/slurmd/slurmstepd/pam_ses.c | 165 - .../src/slurmd/slurmstepd/pam_ses.h | 50 - .../src/slurmd/slurmstepd/pdebug.c | 115 - .../src/slurmd/slurmstepd/pdebug.h | 65 - executable_names/src/slurmd/slurmstepd/req.c | 1101 - executable_names/src/slurmd/slurmstepd/req.h | 46 - .../src/slurmd/slurmstepd/slurmstepd.c | 372 - .../src/slurmd/slurmstepd/slurmstepd.h | 64 - .../src/slurmd/slurmstepd/slurmstepd_job.c | 595 - .../src/slurmd/slurmstepd/slurmstepd_job.h | 214 - executable_names/src/slurmd/slurmstepd/task.c | 329 - executable_names/src/slurmd/slurmstepd/task.h | 56 - .../src/slurmd/slurmstepd/task_exec.c | 361 - .../src/slurmd/slurmstepd/task_exec.h | 48 - .../src/slurmd/slurmstepd/ulimits.c | 230 - .../src/slurmd/slurmstepd/ulimits.h | 50 - executable_names/src/smap/Makefile.am | 38 - executable_names/src/smap/Makefile.in | 586 - .../src/smap/configure_functions.c | 1333 - executable_names/src/smap/grid_functions.c | 216 - executable_names/src/smap/job_functions.c | 457 - executable_names/src/smap/opts.c | 208 - .../src/smap/partition_functions.c | 937 - executable_names/src/smap/smap.c | 509 - executable_names/src/smap/smap.h | 136 - executable_names/src/squeue/Makefile.am | 17 - executable_names/src/squeue/Makefile.in | 563 - executable_names/src/squeue/opts.c | 992 - executable_names/src/squeue/print.c | 1396 - executable_names/src/squeue/print.h | 303 - executable_names/src/squeue/sort.c | 760 - executable_names/src/squeue/squeue.c | 229 - executable_names/src/squeue/squeue.h | 111 - executable_names/src/srun/Makefile.am | 57 - executable_names/src/srun/Makefile.in | 613 - executable_names/src/srun/allocate.c | 693 - executable_names/src/srun/allocate.h | 102 - executable_names/src/srun/attach.c | 68 - executable_names/src/srun/attach.h | 84 - executable_names/src/srun/core-format.c | 163 - executable_names/src/srun/core-format.h | 53 - executable_names/src/srun/fname.c | 183 - executable_names/src/srun/fname.h | 77 - executable_names/src/srun/launch.c | 366 - executable_names/src/srun/launch.h | 67 - executable_names/src/srun/msg.c | 1446 - executable_names/src/srun/msg.h | 56 - executable_names/src/srun/multi_prog.c | 218 - executable_names/src/srun/multi_prog.h | 48 - executable_names/src/srun/opt.c | 2728 -- executable_names/src/srun/opt.h | 233 - executable_names/src/srun/reattach.c | 545 - executable_names/src/srun/reattach.h | 46 - executable_names/src/srun/signals.c | 215 - executable_names/src/srun/signals.h | 47 - executable_names/src/srun/sigstr.c | 65 - executable_names/src/srun/sigstr.h | 50 - executable_names/src/srun/srun.c | 1215 - executable_names/src/srun/srun.h | 39 - executable_names/src/srun/srun.wrapper.c | 17 - executable_names/src/srun/srun_job.c | 702 - executable_names/src/srun/srun_job.h | 108 - executable_names/src/sview/Makefile.am | 33 - executable_names/src/sview/Makefile.in | 735 - executable_names/src/sview/admin_info.c | 126 - executable_names/src/sview/block_info.c | 1018 - executable_names/src/sview/common.c | 1042 - executable_names/src/sview/grid.c | 885 - executable_names/src/sview/job_info.c | 2078 -- executable_names/src/sview/node_info.c | 901 - executable_names/src/sview/part_info.c | 1802 - executable_names/src/sview/popups.c | 792 - executable_names/src/sview/submit_info.c | 126 - executable_names/src/sview/sview.c | 662 - executable_names/src/sview/sview.h | 382 - executable_names/testsuite/Makefile.am | 10 - executable_names/testsuite/Makefile.in | 602 - executable_names/testsuite/config/default.exp | 3 - executable_names/testsuite/dejagnu.h | 261 - executable_names/testsuite/expect/Makefile.am | 303 - executable_names/testsuite/expect/Makefile.in | 712 - executable_names/testsuite/expect/README | 498 - executable_names/testsuite/expect/globals | 835 - .../testsuite/expect/mpi-testscripts/Makefile | 68 - .../testsuite/expect/mpi-testscripts/allred.c | 2967 -- .../expect/mpi-testscripts/allred_timed.c | 58 - .../expect/mpi-testscripts/alltoall.c | 43 - .../expect/mpi-testscripts/alltoall_timed.c | 63 - .../expect/mpi-testscripts/barrier_timed.c | 92 - .../expect/mpi-testscripts/script.slurm.sh | 20 - executable_names/testsuite/expect/pkill | 85 - executable_names/testsuite/expect/regression | 86 - .../testsuite/expect/regression.py | 217 - executable_names/testsuite/expect/test1.1 | 107 - executable_names/testsuite/expect/test1.10 | 67 - executable_names/testsuite/expect/test1.11 | 242 - executable_names/testsuite/expect/test1.12 | 142 - executable_names/testsuite/expect/test1.13 | 100 - executable_names/testsuite/expect/test1.14 | 154 - executable_names/testsuite/expect/test1.15 | 86 - executable_names/testsuite/expect/test1.16 | 85 - executable_names/testsuite/expect/test1.17 | 104 - executable_names/testsuite/expect/test1.18 | 133 - .../testsuite/expect/test1.18.prog.c | 53 - executable_names/testsuite/expect/test1.19 | 297 - executable_names/testsuite/expect/test1.2 | 70 - executable_names/testsuite/expect/test1.20 | 100 - executable_names/testsuite/expect/test1.21 | 87 - executable_names/testsuite/expect/test1.22 | 112 - executable_names/testsuite/expect/test1.23 | 230 - executable_names/testsuite/expect/test1.24 | 80 - executable_names/testsuite/expect/test1.25 | 77 - executable_names/testsuite/expect/test1.26 | 293 - executable_names/testsuite/expect/test1.27 | 106 - executable_names/testsuite/expect/test1.28 | 76 - executable_names/testsuite/expect/test1.29 | 230 - .../testsuite/expect/test1.29.prog.c | 59 - executable_names/testsuite/expect/test1.3 | 66 - executable_names/testsuite/expect/test1.30 | 108 - executable_names/testsuite/expect/test1.31 | 161 - executable_names/testsuite/expect/test1.32 | 133 - .../testsuite/expect/test1.32.prog.c | 81 - executable_names/testsuite/expect/test1.33 | 106 - executable_names/testsuite/expect/test1.34 | 116 - executable_names/testsuite/expect/test1.35 | 132 - executable_names/testsuite/expect/test1.36 | 85 - executable_names/testsuite/expect/test1.37 | 155 - executable_names/testsuite/expect/test1.38 | 162 - executable_names/testsuite/expect/test1.39 | 134 - .../testsuite/expect/test1.39.prog.c | 36 - executable_names/testsuite/expect/test1.4 | 66 - executable_names/testsuite/expect/test1.40 | 152 - executable_names/testsuite/expect/test1.41 | 99 - executable_names/testsuite/expect/test1.42 | 244 - executable_names/testsuite/expect/test1.43 | 72 - executable_names/testsuite/expect/test1.44 | 115 - executable_names/testsuite/expect/test1.45 | 114 - executable_names/testsuite/expect/test1.46 | 105 - executable_names/testsuite/expect/test1.47 | 160 - executable_names/testsuite/expect/test1.48 | 100 - executable_names/testsuite/expect/test1.49 | 173 - executable_names/testsuite/expect/test1.5 | 74 - executable_names/testsuite/expect/test1.50 | 83 - executable_names/testsuite/expect/test1.51 | 85 - executable_names/testsuite/expect/test1.52 | 148 - executable_names/testsuite/expect/test1.53 | 189 - executable_names/testsuite/expect/test1.54 | 152 - executable_names/testsuite/expect/test1.55 | 118 - executable_names/testsuite/expect/test1.56 | 88 - executable_names/testsuite/expect/test1.57 | 80 - executable_names/testsuite/expect/test1.58 | 105 - executable_names/testsuite/expect/test1.6 | 75 - executable_names/testsuite/expect/test1.7 | 231 - executable_names/testsuite/expect/test1.8 | 182 - executable_names/testsuite/expect/test1.80 | 130 - executable_names/testsuite/expect/test1.81 | 290 - executable_names/testsuite/expect/test1.82 | 257 - executable_names/testsuite/expect/test1.83 | 155 - executable_names/testsuite/expect/test1.84 | 159 - executable_names/testsuite/expect/test1.85 | 182 - executable_names/testsuite/expect/test1.86 | 488 - executable_names/testsuite/expect/test1.87 | 322 - executable_names/testsuite/expect/test1.88 | 186 - .../testsuite/expect/test1.88.prog.c | 62 - executable_names/testsuite/expect/test1.89 | 486 - .../testsuite/expect/test1.89.prog.c | 79 - executable_names/testsuite/expect/test1.9 | 82 - executable_names/testsuite/expect/test1.90 | 523 - .../testsuite/expect/test1.90.prog.c | 75 - executable_names/testsuite/expect/test10.1 | 66 - executable_names/testsuite/expect/test10.10 | 121 - executable_names/testsuite/expect/test10.11 | 66 - executable_names/testsuite/expect/test10.12 | 109 - executable_names/testsuite/expect/test10.13 | 176 - executable_names/testsuite/expect/test10.2 | 70 - executable_names/testsuite/expect/test10.3 | 105 - executable_names/testsuite/expect/test10.4 | 90 - executable_names/testsuite/expect/test10.5 | 125 - executable_names/testsuite/expect/test10.6 | 111 - executable_names/testsuite/expect/test10.7 | 118 - executable_names/testsuite/expect/test10.8 | 113 - executable_names/testsuite/expect/test10.9 | 88 - executable_names/testsuite/expect/test11.1 | 98 - executable_names/testsuite/expect/test11.2 | 160 - executable_names/testsuite/expect/test11.3 | 97 - executable_names/testsuite/expect/test11.4 | 95 - executable_names/testsuite/expect/test11.5 | 244 - executable_names/testsuite/expect/test11.6 | 145 - executable_names/testsuite/expect/test11.7 | 139 - executable_names/testsuite/expect/test12.1 | 84 - executable_names/testsuite/expect/test12.2 | 335 - .../testsuite/expect/test12.2.prog.c | 51 - executable_names/testsuite/expect/test13.1 | 154 - executable_names/testsuite/expect/test14.1 | 66 - executable_names/testsuite/expect/test14.2 | 70 - executable_names/testsuite/expect/test14.3 | 67 - executable_names/testsuite/expect/test14.4 | 139 - executable_names/testsuite/expect/test14.5 | 156 - executable_names/testsuite/expect/test14.6 | 130 - executable_names/testsuite/expect/test14.7 | 147 - executable_names/testsuite/expect/test14.8 | 137 - executable_names/testsuite/expect/test15.1 | 66 - executable_names/testsuite/expect/test15.10 | 84 - executable_names/testsuite/expect/test15.11 | 126 - executable_names/testsuite/expect/test15.12 | 80 - executable_names/testsuite/expect/test15.13 | 107 - executable_names/testsuite/expect/test15.14 | 151 - executable_names/testsuite/expect/test15.15 | 107 - executable_names/testsuite/expect/test15.16 | 113 - executable_names/testsuite/expect/test15.17 | 112 - executable_names/testsuite/expect/test15.18 | 81 - executable_names/testsuite/expect/test15.19 | 328 - executable_names/testsuite/expect/test15.2 | 70 - executable_names/testsuite/expect/test15.20 | 281 - executable_names/testsuite/expect/test15.21 | 158 - executable_names/testsuite/expect/test15.22 | 182 - executable_names/testsuite/expect/test15.23 | 104 - executable_names/testsuite/expect/test15.3 | 67 - executable_names/testsuite/expect/test15.4 | 115 - executable_names/testsuite/expect/test15.5 | 169 - executable_names/testsuite/expect/test15.6 | 92 - executable_names/testsuite/expect/test15.7 | 137 - executable_names/testsuite/expect/test15.8 | 112 - executable_names/testsuite/expect/test15.9 | 109 - executable_names/testsuite/expect/test16.1 | 66 - executable_names/testsuite/expect/test16.2 | 66 - executable_names/testsuite/expect/test16.3 | 67 - executable_names/testsuite/expect/test16.4 | 200 - .../testsuite/expect/test16.4.prog.c | 53 - executable_names/testsuite/expect/test17.1 | 66 - executable_names/testsuite/expect/test17.10 | 141 - executable_names/testsuite/expect/test17.11 | 171 - executable_names/testsuite/expect/test17.12 | 84 - executable_names/testsuite/expect/test17.13 | 146 - executable_names/testsuite/expect/test17.14 | 119 - executable_names/testsuite/expect/test17.15 | 217 - .../testsuite/expect/test17.15.prog.c | 59 - executable_names/testsuite/expect/test17.16 | 112 - executable_names/testsuite/expect/test17.17 | 155 - executable_names/testsuite/expect/test17.18 | 264 - executable_names/testsuite/expect/test17.19 | 108 - executable_names/testsuite/expect/test17.2 | 70 - executable_names/testsuite/expect/test17.20 | 127 - executable_names/testsuite/expect/test17.21 | 159 - executable_names/testsuite/expect/test17.22 | 72 - executable_names/testsuite/expect/test17.23 | 190 - executable_names/testsuite/expect/test17.24 | 118 - executable_names/testsuite/expect/test17.25 | 102 - executable_names/testsuite/expect/test17.26 | 96 - executable_names/testsuite/expect/test17.27 | 313 - executable_names/testsuite/expect/test17.28 | 158 - executable_names/testsuite/expect/test17.29 | 111 - executable_names/testsuite/expect/test17.3 | 67 - executable_names/testsuite/expect/test17.4 | 139 - executable_names/testsuite/expect/test17.5 | 233 - executable_names/testsuite/expect/test17.6 | 158 - executable_names/testsuite/expect/test17.7 | 106 - executable_names/testsuite/expect/test17.8 | 97 - executable_names/testsuite/expect/test17.9 | 96 - executable_names/testsuite/expect/test18.1 | 66 - executable_names/testsuite/expect/test18.10 | 116 - executable_names/testsuite/expect/test18.11 | 303 - executable_names/testsuite/expect/test18.12 | 90 - executable_names/testsuite/expect/test18.13 | 84 - executable_names/testsuite/expect/test18.14 | 120 - executable_names/testsuite/expect/test18.15 | 84 - executable_names/testsuite/expect/test18.16 | 194 - .../testsuite/expect/test18.16.prog.c | 59 - executable_names/testsuite/expect/test18.17 | 117 - executable_names/testsuite/expect/test18.18 | 94 - executable_names/testsuite/expect/test18.19 | 148 - .../testsuite/expect/test18.19.prog.c | 81 - executable_names/testsuite/expect/test18.2 | 70 - executable_names/testsuite/expect/test18.20 | 116 - executable_names/testsuite/expect/test18.21 | 113 - executable_names/testsuite/expect/test18.22 | 181 - executable_names/testsuite/expect/test18.23 | 81 - executable_names/testsuite/expect/test18.24 | 93 - executable_names/testsuite/expect/test18.25 | 155 - executable_names/testsuite/expect/test18.26 | 173 - executable_names/testsuite/expect/test18.27 | 141 - executable_names/testsuite/expect/test18.28 | 131 - executable_names/testsuite/expect/test18.29 | 205 - executable_names/testsuite/expect/test18.3 | 67 - executable_names/testsuite/expect/test18.30 | 204 - executable_names/testsuite/expect/test18.31 | 333 - executable_names/testsuite/expect/test18.32 | 188 - .../testsuite/expect/test18.32.prog.c | 62 - executable_names/testsuite/expect/test18.33 | 102 - executable_names/testsuite/expect/test18.34 | 83 - executable_names/testsuite/expect/test18.35 | 349 - executable_names/testsuite/expect/test18.36 | 496 - .../testsuite/expect/test18.36.prog.c | 79 - executable_names/testsuite/expect/test18.37 | 526 - .../testsuite/expect/test18.37.prog.c | 75 - executable_names/testsuite/expect/test18.38 | 117 - executable_names/testsuite/expect/test18.4 | 79 - executable_names/testsuite/expect/test18.5 | 196 - executable_names/testsuite/expect/test18.6 | 78 - executable_names/testsuite/expect/test18.7 | 75 - executable_names/testsuite/expect/test18.8 | 88 - executable_names/testsuite/expect/test18.9 | 94 - executable_names/testsuite/expect/test2.1 | 66 - executable_names/testsuite/expect/test2.10 | 88 - executable_names/testsuite/expect/test2.2 | 74 - executable_names/testsuite/expect/test2.3 | 82 - executable_names/testsuite/expect/test2.4 | 171 - executable_names/testsuite/expect/test2.5 | 203 - executable_names/testsuite/expect/test2.6 | 97 - executable_names/testsuite/expect/test2.7 | 139 - executable_names/testsuite/expect/test2.8 | 218 - executable_names/testsuite/expect/test2.9 | 61 - executable_names/testsuite/expect/test3.1 | 64 - executable_names/testsuite/expect/test3.2 | 256 - executable_names/testsuite/expect/test3.3 | 199 - executable_names/testsuite/expect/test3.4 | 147 - executable_names/testsuite/expect/test3.5 | 323 - executable_names/testsuite/expect/test3.6 | 244 - executable_names/testsuite/expect/test3.7 | 242 - .../testsuite/expect/test3.7.prog.c | 56 - executable_names/testsuite/expect/test3.8 | 224 - executable_names/testsuite/expect/test4.1 | 66 - executable_names/testsuite/expect/test4.10 | 66 - executable_names/testsuite/expect/test4.11 | 70 - executable_names/testsuite/expect/test4.2 | 70 - executable_names/testsuite/expect/test4.3 | 264 - executable_names/testsuite/expect/test4.4 | 149 - executable_names/testsuite/expect/test4.5 | 130 - executable_names/testsuite/expect/test4.6 | 70 - executable_names/testsuite/expect/test4.7 | 74 - executable_names/testsuite/expect/test4.8 | 127 - executable_names/testsuite/expect/test4.9 | 99 - executable_names/testsuite/expect/test5.1 | 66 - executable_names/testsuite/expect/test5.2 | 70 - executable_names/testsuite/expect/test5.3 | 78 - executable_names/testsuite/expect/test5.4 | 242 - executable_names/testsuite/expect/test5.5 | 127 - executable_names/testsuite/expect/test5.6 | 345 - executable_names/testsuite/expect/test5.7 | 74 - executable_names/testsuite/expect/test5.8 | 66 - executable_names/testsuite/expect/test6.1 | 66 - executable_names/testsuite/expect/test6.10 | 197 - executable_names/testsuite/expect/test6.11 | 127 - executable_names/testsuite/expect/test6.12 | 307 - executable_names/testsuite/expect/test6.2 | 70 - executable_names/testsuite/expect/test6.3 | 140 - executable_names/testsuite/expect/test6.4 | 142 - executable_names/testsuite/expect/test6.5 | 139 - executable_names/testsuite/expect/test6.6 | 66 - executable_names/testsuite/expect/test6.7 | 124 - executable_names/testsuite/expect/test6.8 | 150 - executable_names/testsuite/expect/test6.9 | 133 - executable_names/testsuite/expect/test7.1 | 174 - executable_names/testsuite/expect/test7.2 | 130 - .../testsuite/expect/test7.2.prog.c | 369 - executable_names/testsuite/expect/test7.3 | 135 - .../testsuite/expect/test7.3.io.c | 75 - .../testsuite/expect/test7.3.prog.c | 219 - executable_names/testsuite/expect/test7.4 | 253 - .../testsuite/expect/test7.4.prog.c | 62 - executable_names/testsuite/expect/test7.5 | 300 - .../testsuite/expect/test7.5.prog.c | 62 - executable_names/testsuite/expect/test7.6 | 201 - .../testsuite/expect/test7.6.prog.c | 63 - executable_names/testsuite/expect/test7.7 | 254 - .../testsuite/expect/test7.7.crypto.c | 134 - .../testsuite/expect/test7.7.prog.c | 421 - executable_names/testsuite/expect/test8.1 | 199 - executable_names/testsuite/expect/test8.2 | 155 - executable_names/testsuite/expect/test8.3 | 218 - executable_names/testsuite/expect/test8.4 | 178 - .../testsuite/expect/test8.4.prog.c | 62 - executable_names/testsuite/expect/test8.5 | 221 - executable_names/testsuite/expect/test8.6 | 178 - executable_names/testsuite/expect/test9.1 | 120 - executable_names/testsuite/expect/test9.2 | 110 - executable_names/testsuite/expect/test9.3 | 120 - executable_names/testsuite/expect/test9.4 | 157 - executable_names/testsuite/expect/test9.5 | 139 - executable_names/testsuite/expect/test9.6 | 121 - executable_names/testsuite/expect/test9.7 | 88 - .../testsuite/expect/test9.7.bash | 106 - executable_names/testsuite/expect/test9.8 | 237 - executable_names/testsuite/expect/usleep | 43 - .../testsuite/slurm_unit/Makefile.am | 6 - .../testsuite/slurm_unit/Makefile.in | 557 - .../testsuite/slurm_unit/api/Makefile.am | 13 - .../testsuite/slurm_unit/api/Makefile.in | 702 - .../testsuite/slurm_unit/api/api-test.c | 12 - .../slurm_unit/api/manual/Makefile.am | 13 - .../slurm_unit/api/manual/Makefile.in | 584 - .../slurm_unit/api/manual/cancel-tst.c | 61 - .../slurm_unit/api/manual/complete-tst.c | 59 - .../slurm_unit/api/manual/job_info-tst.c | 53 - .../slurm_unit/api/manual/node_info-tst.c | 67 - .../api/manual/partition_info-tst.c | 55 - .../slurm_unit/api/manual/reconfigure-tst.c | 52 - .../slurm_unit/api/manual/submit-tst.c | 106 - .../slurm_unit/api/manual/update_config-tst.c | 113 - .../testsuite/slurm_unit/common/Makefile.am | 23 - .../testsuite/slurm_unit/common/Makefile.in | 638 - .../slurm_unit/common/bitstring-test.c | 201 - .../testsuite/slurm_unit/common/log-test.c | 69 - .../testsuite/slurm_unit/common/pack-test.c | 90 - .../testsuite/slurm_unit/common/runall.exp | 36 - .../testsuite/slurm_unit/common/runqsw.c | 266 - .../slurm_unit/slurmctld/Makefile.am | 21 - .../slurm_unit/slurmctld/Makefile.in | 507 - .../slurm_unit/slurmctld/security_2_1.py | 165 - .../slurm_unit/slurmctld/security_2_2.bash | 16 - .../slurm_unit/slurmctld/security_2_2.sh | 16 - .../slurm_unit/slurmctld/security_2_4.sh | 2 - .../slurm_unit/slurmctld/security_2_5.sh | 2 - .../testsuite/slurm_unit/slurmd/Makefile.am | 22 - .../testsuite/slurm_unit/slurmd/Makefile.in | 508 - .../slurm_unit/slurmd/security_3_2.csh | 7 - 1236 files changed, 452761 deletions(-) delete mode 100644 executable_names/AUTHORS delete mode 100644 executable_names/BUILD.NOTES delete mode 100644 executable_names/COPYING delete mode 100644 executable_names/ChangeLog delete mode 100644 executable_names/DISCLAIMER delete mode 100644 executable_names/INSTALL delete mode 100644 executable_names/LICENSE.OpenSSL delete mode 100644 executable_names/META delete mode 100644 executable_names/Makefile.am delete mode 100644 executable_names/Makefile.in delete mode 100644 executable_names/NEWS delete mode 100644 executable_names/README delete mode 100644 executable_names/RELEASE_NOTES delete mode 100644 executable_names/aclocal.m4 delete mode 100755 executable_names/autogen.sh delete mode 100644 executable_names/auxdir/Makefile.am delete mode 100644 executable_names/auxdir/Makefile.in delete mode 100644 executable_names/auxdir/acx_pthread.m4 delete mode 100755 executable_names/auxdir/config.guess delete mode 100755 executable_names/auxdir/config.sub delete mode 100755 executable_names/auxdir/depcomp delete mode 100755 executable_names/auxdir/install-sh delete mode 100644 executable_names/auxdir/ltmain.sh delete mode 100755 executable_names/auxdir/missing delete mode 100644 executable_names/auxdir/slurm.m4 delete mode 100644 executable_names/auxdir/type_socklen_t.m4 delete mode 100644 executable_names/auxdir/x_ac__system_configuration.m4 delete mode 100644 executable_names/auxdir/x_ac_affinity.m4 delete mode 100644 executable_names/auxdir/x_ac_aix.m4 delete mode 100644 executable_names/auxdir/x_ac_bluegene.m4 delete mode 100644 executable_names/auxdir/x_ac_debug.m4 delete mode 100644 executable_names/auxdir/x_ac_elan.m4 delete mode 100644 executable_names/auxdir/x_ac_federation.m4 delete mode 100644 executable_names/auxdir/x_ac_gpl_licensed.m4 delete mode 100644 executable_names/auxdir/x_ac_gtk.m4 delete mode 100644 executable_names/auxdir/x_ac_munge.m4 delete mode 100644 executable_names/auxdir/x_ac_ncurses.m4 delete mode 100644 executable_names/auxdir/x_ac_pam.m4 delete mode 100644 executable_names/auxdir/x_ac_ptrace.m4 delete mode 100644 executable_names/auxdir/x_ac_readline.m4 delete mode 100644 executable_names/auxdir/x_ac_setpgrp.m4 delete mode 100644 executable_names/auxdir/x_ac_setproctitle.m4 delete mode 100644 executable_names/auxdir/x_ac_sgi_job.m4 delete mode 100644 executable_names/auxdir/x_ac_slurm_ssl.m4 delete mode 100644 executable_names/auxdir/x_ac_xcpu.m4 delete mode 100644 executable_names/config.h.in delete mode 100644 executable_names/config.xml.in delete mode 100755 executable_names/configure delete mode 100644 executable_names/configure.ac delete mode 100644 executable_names/doc/Makefile.am delete mode 100644 executable_names/doc/Makefile.in delete mode 100644 executable_names/doc/bgl.report/Makefile delete mode 100644 executable_names/doc/bgl.report/report.tex delete mode 100644 executable_names/doc/bgl.report/smap.output delete mode 100644 executable_names/doc/bgl.report/splncs.bst delete mode 100644 executable_names/doc/clusterworld/Makefile delete mode 100644 executable_names/doc/clusterworld/bio.txt delete mode 100644 executable_names/doc/clusterworld/report.tex delete mode 100644 executable_names/doc/clusterworld/sample.config delete mode 100644 executable_names/doc/clusterworld/splncs.bst delete mode 100644 executable_names/doc/common/Logo_for_papers.ps delete mode 100644 executable_names/doc/common/Rule_and_address.ps delete mode 100644 executable_names/doc/common/acm.cls delete mode 100644 executable_names/doc/common/chngpage.sty delete mode 100644 executable_names/doc/common/llncs.cls delete mode 100644 executable_names/doc/common/llncs.dem delete mode 100644 executable_names/doc/common/llncs.doc delete mode 100644 executable_names/doc/common/llnlCoverPage.tex delete mode 100644 executable_names/doc/common/project.bib delete mode 100644 executable_names/doc/common/slurm.eps delete mode 100644 executable_names/doc/figures/README delete mode 100644 executable_names/doc/figures/allocate-init.dia delete mode 100644 executable_names/doc/figures/allocate-init.eps delete mode 100644 executable_names/doc/figures/arch.dia delete mode 100644 executable_names/doc/figures/arch.eps delete mode 100644 executable_names/doc/figures/arch2.eps delete mode 100644 executable_names/doc/figures/comm.eps delete mode 100644 executable_names/doc/figures/connections.dia delete mode 100644 executable_names/doc/figures/connections.eps delete mode 100644 executable_names/doc/figures/entities.dia delete mode 100644 executable_names/doc/figures/entities.eps delete mode 100644 executable_names/doc/figures/entities2.eps delete mode 100644 executable_names/doc/figures/interactive-job-init.dia delete mode 100644 executable_names/doc/figures/interactive-job-init.eps delete mode 100644 executable_names/doc/figures/launch.eps delete mode 100644 executable_names/doc/figures/ll.dat delete mode 100644 executable_names/doc/figures/queued-job-init.dia delete mode 100644 executable_names/doc/figures/queued-job-init.eps delete mode 100644 executable_names/doc/figures/rms.dat delete mode 100644 executable_names/doc/figures/slurm-arch.dia delete mode 100644 executable_names/doc/figures/slurm-arch.eps delete mode 100644 executable_names/doc/figures/slurm.dat delete mode 100644 executable_names/doc/figures/times.eps delete mode 100644 executable_names/doc/figures/times.gpl delete mode 100644 executable_names/doc/figures/times.gpl.png delete mode 100644 executable_names/doc/html/Makefile.am delete mode 100644 executable_names/doc/html/Makefile.in delete mode 100644 executable_names/doc/html/api.shtml delete mode 100644 executable_names/doc/html/arch.gif delete mode 100644 executable_names/doc/html/authplugins.shtml delete mode 100644 executable_names/doc/html/big_sys.shtml delete mode 100644 executable_names/doc/html/bluegene.shtml delete mode 100644 executable_names/doc/html/checkpoint_plugins.shtml delete mode 100644 executable_names/doc/html/coding_style.pdf delete mode 100644 executable_names/doc/html/configurator.html.in delete mode 100644 executable_names/doc/html/cons_res.shtml delete mode 100644 executable_names/doc/html/dist_plane.shtml delete mode 100644 executable_names/doc/html/documentation.shtml delete mode 100644 executable_names/doc/html/download.shtml delete mode 100644 executable_names/doc/html/entities.gif delete mode 100644 executable_names/doc/html/faq.shtml delete mode 100644 executable_names/doc/html/footer.txt delete mode 100644 executable_names/doc/html/header.txt delete mode 100644 executable_names/doc/html/help.shtml delete mode 100644 executable_names/doc/html/ibm.shtml delete mode 100644 executable_names/doc/html/jobacctplugins.shtml delete mode 100644 executable_names/doc/html/jobcompplugins.shtml delete mode 100644 executable_names/doc/html/lci.7.tutorial.pdf delete mode 100644 executable_names/doc/html/lll.gif delete mode 100644 executable_names/doc/html/mail.shtml delete mode 100644 executable_names/doc/html/maui.shtml delete mode 100644 executable_names/doc/html/mc_support.gif delete mode 100644 executable_names/doc/html/mc_support.shtml delete mode 100644 executable_names/doc/html/moab.shtml delete mode 100644 executable_names/doc/html/mpiplugins.shtml delete mode 100644 executable_names/doc/html/news.shtml delete mode 100644 executable_names/doc/html/overview.shtml delete mode 100755 executable_names/doc/html/plane_ex1.gif delete mode 100755 executable_names/doc/html/plane_ex2.gif delete mode 100755 executable_names/doc/html/plane_ex3.gif delete mode 100755 executable_names/doc/html/plane_ex4.gif delete mode 100755 executable_names/doc/html/plane_ex5.gif delete mode 100755 executable_names/doc/html/plane_ex6.gif delete mode 100755 executable_names/doc/html/plane_ex7.gif delete mode 100644 executable_names/doc/html/platforms.shtml delete mode 100644 executable_names/doc/html/plugins.shtml delete mode 100644 executable_names/doc/html/proctrack_plugins.shtml delete mode 100644 executable_names/doc/html/programmer_guide.shtml delete mode 100644 executable_names/doc/html/publications.shtml delete mode 100644 executable_names/doc/html/quickstart.shtml delete mode 100644 executable_names/doc/html/quickstart_admin.shtml delete mode 100644 executable_names/doc/html/review_release.html delete mode 100644 executable_names/doc/html/schedplugins.shtml delete mode 100644 executable_names/doc/html/selectplugins.shtml delete mode 100755 executable_names/doc/html/shtml2html.py delete mode 100644 executable_names/doc/html/slurm.shtml delete mode 100644 executable_names/doc/html/slurm_banner_filler.jpg delete mode 100644 executable_names/doc/html/slurm_banner_filler.png delete mode 100644 executable_names/doc/html/slurm_banner_left.jpg delete mode 100644 executable_names/doc/html/slurm_banner_left.png delete mode 100644 executable_names/doc/html/slurm_banner_right.jpg delete mode 100644 executable_names/doc/html/slurm_banner_right.png delete mode 100644 executable_names/doc/html/slurm_design.pdf delete mode 100644 executable_names/doc/html/slurmstyles.css delete mode 100644 executable_names/doc/html/switchplugins.shtml delete mode 100644 executable_names/doc/html/team.shtml delete mode 100644 executable_names/doc/html/testimonials.shtml delete mode 100644 executable_names/doc/html/troubleshoot.shtml delete mode 100644 executable_names/doc/jsspp/Makefile delete mode 100644 executable_names/doc/jsspp/abstract.tex delete mode 100644 executable_names/doc/jsspp/architecture.tex delete mode 100644 executable_names/doc/jsspp/conclusions.tex delete mode 100644 executable_names/doc/jsspp/interaction.tex delete mode 100644 executable_names/doc/jsspp/intro.tex delete mode 100644 executable_names/doc/jsspp/jsspp.tex delete mode 100644 executable_names/doc/jsspp/perf.tex delete mode 100644 executable_names/doc/jsspp/references.bib delete mode 100644 executable_names/doc/jsspp/services.tex delete mode 100644 executable_names/doc/jsspp/survey.tex delete mode 100644 executable_names/doc/man/Makefile.am delete mode 100644 executable_names/doc/man/Makefile.in delete mode 100644 executable_names/doc/man/man1/sacct.1 delete mode 100644 executable_names/doc/man/man1/salloc.1 delete mode 100644 executable_names/doc/man/man1/sattach.1 delete mode 100644 executable_names/doc/man/man1/sbatch.1 delete mode 100644 executable_names/doc/man/man1/sbcast.1 delete mode 100644 executable_names/doc/man/man1/scancel.1 delete mode 100644 executable_names/doc/man/man1/scontrol.1 delete mode 100644 executable_names/doc/man/man1/sinfo.1 delete mode 100644 executable_names/doc/man/man1/slaunch.1 delete mode 100644 executable_names/doc/man/man1/slurm.1 delete mode 100644 executable_names/doc/man/man1/smap.1 delete mode 100644 executable_names/doc/man/man1/squeue.1 delete mode 100644 executable_names/doc/man/man1/srun.1 delete mode 100644 executable_names/doc/man/man1/sview.1 delete mode 100644 executable_names/doc/man/man3/slurm_allocate_resources.3 delete mode 100644 executable_names/doc/man/man3/slurm_allocation_lookup.3 delete mode 100644 executable_names/doc/man/man3/slurm_api_version.3 delete mode 100644 executable_names/doc/man/man3/slurm_checkpoint_able.3 delete mode 100644 executable_names/doc/man/man3/slurm_checkpoint_complete.3 delete mode 100644 executable_names/doc/man/man3/slurm_checkpoint_create.3 delete mode 100644 executable_names/doc/man/man3/slurm_checkpoint_disable.3 delete mode 100644 executable_names/doc/man/man3/slurm_checkpoint_enable.3 delete mode 100644 executable_names/doc/man/man3/slurm_checkpoint_error.3 delete mode 100644 executable_names/doc/man/man3/slurm_checkpoint_failed.3 delete mode 100644 executable_names/doc/man/man3/slurm_checkpoint_restart.3 delete mode 100644 executable_names/doc/man/man3/slurm_checkpoint_vacate.3 delete mode 100644 executable_names/doc/man/man3/slurm_complete_job.3 delete mode 100644 executable_names/doc/man/man3/slurm_complete_job_step.3 delete mode 100644 executable_names/doc/man/man3/slurm_confirm_allocation.3 delete mode 100644 executable_names/doc/man/man3/slurm_delete_partition.3 delete mode 100644 executable_names/doc/man/man3/slurm_free_ctl_conf.3 delete mode 100644 executable_names/doc/man/man3/slurm_free_job_info_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_free_job_step_create_response_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_free_job_step_info_response_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_free_node_info.3 delete mode 100644 executable_names/doc/man/man3/slurm_free_partition_info.3 delete mode 100644 executable_names/doc/man/man3/slurm_free_resource_allocation_response_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_free_submit_response_response_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_get_end_time.3 delete mode 100644 executable_names/doc/man/man3/slurm_get_errno.3 delete mode 100644 executable_names/doc/man/man3/slurm_get_job_steps.3 delete mode 100644 executable_names/doc/man/man3/slurm_get_rem_time.3 delete mode 100644 executable_names/doc/man/man3/slurm_get_select_jobinfo.3 delete mode 100644 executable_names/doc/man/man3/slurm_hostlist_create.3 delete mode 100644 executable_names/doc/man/man3/slurm_hostlist_destroy.3 delete mode 100644 executable_names/doc/man/man3/slurm_hostlist_shift.3 delete mode 100644 executable_names/doc/man/man3/slurm_init_job_desc_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_init_part_desc_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_job_step_create.3 delete mode 100644 executable_names/doc/man/man3/slurm_job_will_run.3 delete mode 100644 executable_names/doc/man/man3/slurm_jobinfo_ctx_get.3 delete mode 100644 executable_names/doc/man/man3/slurm_kill_job.3 delete mode 100644 executable_names/doc/man/man3/slurm_kill_job_step.3 delete mode 100644 executable_names/doc/man/man3/slurm_load_ctl_conf.3 delete mode 100644 executable_names/doc/man/man3/slurm_load_jobs.3 delete mode 100644 executable_names/doc/man/man3/slurm_load_node.3 delete mode 100644 executable_names/doc/man/man3/slurm_load_partitions.3 delete mode 100644 executable_names/doc/man/man3/slurm_perror.3 delete mode 100644 executable_names/doc/man/man3/slurm_pid2jobid.3 delete mode 100644 executable_names/doc/man/man3/slurm_print_ctl_conf.3 delete mode 100644 executable_names/doc/man/man3/slurm_print_job_info.3 delete mode 100644 executable_names/doc/man/man3/slurm_print_job_info_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_print_job_step_info.3 delete mode 100644 executable_names/doc/man/man3/slurm_print_job_step_info_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_print_node_info_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_print_node_table.3 delete mode 100644 executable_names/doc/man/man3/slurm_print_partition_info.3 delete mode 100644 executable_names/doc/man/man3/slurm_print_partition_info_msg.3 delete mode 100644 executable_names/doc/man/man3/slurm_reconfigure.3 delete mode 100644 executable_names/doc/man/man3/slurm_requeue.3 delete mode 100644 executable_names/doc/man/man3/slurm_resume.3 delete mode 100644 executable_names/doc/man/man3/slurm_shutdown.3 delete mode 100644 executable_names/doc/man/man3/slurm_spawn.3 delete mode 100644 executable_names/doc/man/man3/slurm_spawn_kill.3 delete mode 100644 executable_names/doc/man/man3/slurm_step_ctx_create.3 delete mode 100644 executable_names/doc/man/man3/slurm_step_ctx_destroy.3 delete mode 100644 executable_names/doc/man/man3/slurm_step_ctx_get.3 delete mode 100644 executable_names/doc/man/man3/slurm_step_ctx_set.3 delete mode 100644 executable_names/doc/man/man3/slurm_strerror.3 delete mode 100644 executable_names/doc/man/man3/slurm_submit_batch_job.3 delete mode 100644 executable_names/doc/man/man3/slurm_suspend.3 delete mode 100644 executable_names/doc/man/man3/slurm_update_job.3 delete mode 100644 executable_names/doc/man/man3/slurm_update_node.3 delete mode 100644 executable_names/doc/man/man3/slurm_update_partition.3 delete mode 100644 executable_names/doc/man/man5/bluegene.conf.5 delete mode 100644 executable_names/doc/man/man5/slurm.conf.5 delete mode 100644 executable_names/doc/man/man5/wiki.conf.5 delete mode 100644 executable_names/doc/man/man8/slurmctld.8 delete mode 100644 executable_names/doc/man/man8/slurmd.8 delete mode 100644 executable_names/doc/man/man8/slurmstepd.8 delete mode 100644 executable_names/doc/man/man8/spank.8 delete mode 100644 executable_names/doc/pubdesign/ChangeLog delete mode 100644 executable_names/doc/pubdesign/Makefile delete mode 100644 executable_names/doc/pubdesign/report.tex delete mode 100644 executable_names/doc/pubdesign/sample.config delete mode 100644 executable_names/doc/sigops/Makefile delete mode 100644 executable_names/doc/sigops/report.tex delete mode 100644 executable_names/doc/sigops/splncs.bst delete mode 100644 executable_names/doc/slides/bigpicture/Makefile delete mode 100644 executable_names/doc/slides/bigpicture/arch.eps delete mode 100644 executable_names/doc/slides/bigpicture/arch.obj delete mode 100644 executable_names/doc/slides/bigpicture/llnl.gif delete mode 100644 executable_names/doc/slides/bigpicture/llnl.ps delete mode 100644 executable_names/doc/slides/bigpicture/penguin.eps delete mode 100644 executable_names/doc/slides/bigpicture/slides.tex delete mode 100644 executable_names/doc/slides/bigpicture/slurm.eps delete mode 100644 executable_names/doc/slides/job-initiation/Makefile delete mode 100644 executable_names/doc/slides/job-initiation/llnl.gif delete mode 100644 executable_names/doc/slides/job-initiation/llnl.ps delete mode 100644 executable_names/doc/slides/job-initiation/penguin.eps delete mode 100644 executable_names/doc/slides/job-initiation/slides.tex delete mode 100644 executable_names/doc/slides/qsnet/Makefile delete mode 100644 executable_names/doc/slides/qsnet/llnl.gif delete mode 100644 executable_names/doc/slides/qsnet/llnl.ps delete mode 100644 executable_names/doc/slides/qsnet/penguin.eps delete mode 100644 executable_names/doc/slides/qsnet/slides.tex delete mode 100644 executable_names/doc/slides/qsnet/slurm.eps delete mode 100644 executable_names/doc/slides/users/Makefile delete mode 100644 executable_names/doc/slides/users/figures/arch.dia delete mode 100644 executable_names/doc/slides/users/figures/arch.eps delete mode 100644 executable_names/doc/slides/users/figures/arrow-glow.ps delete mode 100644 executable_names/doc/slides/users/figures/bullet-glow.ps delete mode 100644 executable_names/doc/slides/users/figures/entities-layered.dia delete mode 100644 executable_names/doc/slides/users/figures/entities0.eps delete mode 100644 executable_names/doc/slides/users/figures/entities1.eps delete mode 100644 executable_names/doc/slides/users/figures/entities2.eps delete mode 100644 executable_names/doc/slides/users/figures/entities3.eps delete mode 100644 executable_names/doc/slides/users/figures/fry.eps delete mode 100644 executable_names/doc/slides/users/figures/fry.jpg delete mode 100644 executable_names/doc/slides/users/figures/hpcs.eps delete mode 100644 executable_names/doc/slides/users/figures/icchome.eps delete mode 100644 executable_names/doc/slides/users/figures/linux_llnl.eps delete mode 100644 executable_names/doc/slides/users/figures/linux_llnl.png delete mode 100644 executable_names/doc/slides/users/figures/linux_llnl2.png delete mode 100644 executable_names/doc/slides/users/figures/llnl.ps delete mode 100644 executable_names/doc/slides/users/figures/penguin.eps delete mode 100644 executable_names/doc/slides/users/figures/rule-glow.ps delete mode 100644 executable_names/doc/slides/users/figures/slides.ps delete mode 100644 executable_names/doc/slides/users/figures/slurm.eps delete mode 100644 executable_names/doc/slides/users/slides.tex delete mode 100644 executable_names/doc/slides/users/tex/PPRalienglow.sty delete mode 100644 executable_names/doc/slides/users/tex/prosper.cls delete mode 100644 executable_names/doc/survey/ChangeLog delete mode 100644 executable_names/doc/survey/Makefile delete mode 100644 executable_names/doc/survey/project.bib delete mode 100644 executable_names/doc/survey/report.tex delete mode 100644 executable_names/doc/txt/README delete mode 100644 executable_names/doc/txt/elan.runtime.requirements.txt delete mode 100644 executable_names/doc/txt/heritage.txt delete mode 100644 executable_names/doc/txt/slurmctld.locks delete mode 100644 executable_names/doc/txt/testing.txt delete mode 100644 executable_names/etc/bluegene.conf.example delete mode 100644 executable_names/etc/federation.conf.example delete mode 100644 executable_names/etc/init.d.slurm delete mode 100644 executable_names/etc/ptrace.patch delete mode 100644 executable_names/etc/slurm.conf.example delete mode 100644 executable_names/etc/slurm.epilog.clean delete mode 100644 executable_names/slurm.spec delete mode 100644 executable_names/slurm/pmi.h delete mode 100644 executable_names/slurm/slurm.h.in delete mode 100644 executable_names/slurm/slurm_errno.h delete mode 100644 executable_names/slurm/spank.h delete mode 100644 executable_names/src/Makefile.am delete mode 100644 executable_names/src/Makefile.in delete mode 100644 executable_names/src/api/Makefile.am delete mode 100644 executable_names/src/api/Makefile.in delete mode 100644 executable_names/src/api/allocate.c delete mode 100644 executable_names/src/api/cancel.c delete mode 100644 executable_names/src/api/checkpoint.c delete mode 100644 executable_names/src/api/complete.c delete mode 100644 executable_names/src/api/config_info.c delete mode 100644 executable_names/src/api/init_msg.c delete mode 100644 executable_names/src/api/job_info.c delete mode 100644 executable_names/src/api/job_info.h delete mode 100644 executable_names/src/api/job_step_info.c delete mode 100644 executable_names/src/api/node_info.c delete mode 100644 executable_names/src/api/node_select_info.c delete mode 100644 executable_names/src/api/node_select_info.h delete mode 100644 executable_names/src/api/partition_info.c delete mode 100644 executable_names/src/api/pmi.c delete mode 100644 executable_names/src/api/pmi_server.c delete mode 100644 executable_names/src/api/pmi_server.h delete mode 100644 executable_names/src/api/reconfigure.c delete mode 100644 executable_names/src/api/signal.c delete mode 100644 executable_names/src/api/slurm_pmi.c delete mode 100644 executable_names/src/api/slurm_pmi.h delete mode 100644 executable_names/src/api/step_ctx.c delete mode 100644 executable_names/src/api/step_ctx.h delete mode 100644 executable_names/src/api/step_io.c delete mode 100644 executable_names/src/api/step_io.h delete mode 100644 executable_names/src/api/step_launch.c delete mode 100644 executable_names/src/api/step_launch.h delete mode 100644 executable_names/src/api/submit.c delete mode 100644 executable_names/src/api/suspend.c delete mode 100644 executable_names/src/api/update_config.c delete mode 100644 executable_names/src/common/Makefile.am delete mode 100644 executable_names/src/common/Makefile.in delete mode 100644 executable_names/src/common/arg_desc.c delete mode 100644 executable_names/src/common/arg_desc.h delete mode 100644 executable_names/src/common/bitstring.c delete mode 100644 executable_names/src/common/bitstring.h delete mode 100644 executable_names/src/common/cbuf.c delete mode 100644 executable_names/src/common/cbuf.h delete mode 100644 executable_names/src/common/checkpoint.c delete mode 100644 executable_names/src/common/checkpoint.h delete mode 100644 executable_names/src/common/daemonize.c delete mode 100644 executable_names/src/common/daemonize.h delete mode 100644 executable_names/src/common/eio.c delete mode 100644 executable_names/src/common/eio.h delete mode 100644 executable_names/src/common/env.c delete mode 100644 executable_names/src/common/env.h delete mode 100644 executable_names/src/common/fd.c delete mode 100644 executable_names/src/common/fd.h delete mode 100644 executable_names/src/common/forward.c delete mode 100644 executable_names/src/common/forward.h delete mode 100644 executable_names/src/common/getopt.c delete mode 100644 executable_names/src/common/getopt.h delete mode 100644 executable_names/src/common/getopt1.c delete mode 100644 executable_names/src/common/global_srun.c delete mode 100644 executable_names/src/common/global_srun.h delete mode 100644 executable_names/src/common/hostlist.c delete mode 100644 executable_names/src/common/hostlist.h delete mode 100644 executable_names/src/common/io_hdr.c delete mode 100644 executable_names/src/common/io_hdr.h delete mode 100644 executable_names/src/common/job_options.c delete mode 100644 executable_names/src/common/job_options.h delete mode 100644 executable_names/src/common/list.c delete mode 100644 executable_names/src/common/list.h delete mode 100644 executable_names/src/common/log.c delete mode 100644 executable_names/src/common/log.h delete mode 100644 executable_names/src/common/macros.h delete mode 100644 executable_names/src/common/malloc.c delete mode 100644 executable_names/src/common/malloc.h delete mode 100644 executable_names/src/common/mpi.c delete mode 100644 executable_names/src/common/mpi.h delete mode 100644 executable_names/src/common/net.c delete mode 100644 executable_names/src/common/net.h delete mode 100644 executable_names/src/common/node_select.c delete mode 100644 executable_names/src/common/node_select.h delete mode 100644 executable_names/src/common/optz.c delete mode 100644 executable_names/src/common/optz.h delete mode 100644 executable_names/src/common/pack.c delete mode 100644 executable_names/src/common/pack.h delete mode 100644 executable_names/src/common/parse_config.c delete mode 100644 executable_names/src/common/parse_config.h delete mode 100644 executable_names/src/common/parse_spec.c delete mode 100644 executable_names/src/common/parse_spec.h delete mode 100644 executable_names/src/common/parse_time.c delete mode 100644 executable_names/src/common/parse_time.h delete mode 100644 executable_names/src/common/plugin.c delete mode 100644 executable_names/src/common/plugin.h delete mode 100644 executable_names/src/common/plugrack.c delete mode 100644 executable_names/src/common/plugrack.h delete mode 100644 executable_names/src/common/plugstack.c delete mode 100644 executable_names/src/common/plugstack.h delete mode 100644 executable_names/src/common/read_config.c delete mode 100644 executable_names/src/common/read_config.h delete mode 100644 executable_names/src/common/safeopen.c delete mode 100644 executable_names/src/common/safeopen.h delete mode 100644 executable_names/src/common/slurm_auth.c delete mode 100644 executable_names/src/common/slurm_auth.h delete mode 100644 executable_names/src/common/slurm_cred.c delete mode 100644 executable_names/src/common/slurm_cred.h delete mode 100644 executable_names/src/common/slurm_errno.c delete mode 100644 executable_names/src/common/slurm_jobacct.c delete mode 100644 executable_names/src/common/slurm_jobacct.h delete mode 100644 executable_names/src/common/slurm_jobcomp.c delete mode 100644 executable_names/src/common/slurm_jobcomp.h delete mode 100644 executable_names/src/common/slurm_protocol_api.c delete mode 100644 executable_names/src/common/slurm_protocol_api.h delete mode 100644 executable_names/src/common/slurm_protocol_common.h delete mode 100644 executable_names/src/common/slurm_protocol_defs.c delete mode 100644 executable_names/src/common/slurm_protocol_defs.h delete mode 100644 executable_names/src/common/slurm_protocol_interface.h delete mode 100644 executable_names/src/common/slurm_protocol_mongo_common.h delete mode 100644 executable_names/src/common/slurm_protocol_pack.c delete mode 100644 executable_names/src/common/slurm_protocol_pack.h delete mode 100644 executable_names/src/common/slurm_protocol_socket_common.h delete mode 100644 executable_names/src/common/slurm_protocol_socket_implementation.c delete mode 100644 executable_names/src/common/slurm_protocol_util.c delete mode 100644 executable_names/src/common/slurm_protocol_util.h delete mode 100644 executable_names/src/common/slurm_resource_info.c delete mode 100644 executable_names/src/common/slurm_resource_info.h delete mode 100644 executable_names/src/common/slurm_rlimits_info.c delete mode 100644 executable_names/src/common/slurm_rlimits_info.h delete mode 100644 executable_names/src/common/slurm_selecttype_info.c delete mode 100644 executable_names/src/common/slurm_selecttype_info.h delete mode 100644 executable_names/src/common/slurm_step_layout.c delete mode 100644 executable_names/src/common/slurm_step_layout.h delete mode 100644 executable_names/src/common/slurm_xlator.h delete mode 100644 executable_names/src/common/strlcpy.c delete mode 100644 executable_names/src/common/strlcpy.h delete mode 100644 executable_names/src/common/switch.c delete mode 100644 executable_names/src/common/switch.h delete mode 100644 executable_names/src/common/timers.c delete mode 100644 executable_names/src/common/timers.h delete mode 100644 executable_names/src/common/uid.c delete mode 100644 executable_names/src/common/uid.h delete mode 100644 executable_names/src/common/unsetenv.c delete mode 100644 executable_names/src/common/unsetenv.h delete mode 100644 executable_names/src/common/util-net.c delete mode 100644 executable_names/src/common/util-net.h delete mode 100644 executable_names/src/common/xassert.c delete mode 100644 executable_names/src/common/xassert.h delete mode 100644 executable_names/src/common/xmalloc.c delete mode 100644 executable_names/src/common/xmalloc.h delete mode 100644 executable_names/src/common/xsignal.c delete mode 100644 executable_names/src/common/xsignal.h delete mode 100644 executable_names/src/common/xstring.c delete mode 100644 executable_names/src/common/xstring.h delete mode 100644 executable_names/src/plugins/Makefile.am delete mode 100644 executable_names/src/plugins/Makefile.in delete mode 100644 executable_names/src/plugins/auth/Makefile.am delete mode 100644 executable_names/src/plugins/auth/Makefile.in delete mode 100644 executable_names/src/plugins/auth/authd/Makefile.am delete mode 100644 executable_names/src/plugins/auth/authd/Makefile.in delete mode 100644 executable_names/src/plugins/auth/authd/auth_authd.c delete mode 100644 executable_names/src/plugins/auth/munge/Makefile.am delete mode 100644 executable_names/src/plugins/auth/munge/Makefile.in delete mode 100644 executable_names/src/plugins/auth/munge/auth_munge.c delete mode 100644 executable_names/src/plugins/auth/none/Makefile.am delete mode 100644 executable_names/src/plugins/auth/none/Makefile.in delete mode 100644 executable_names/src/plugins/auth/none/auth_none.c delete mode 100644 executable_names/src/plugins/checkpoint/Makefile.am delete mode 100644 executable_names/src/plugins/checkpoint/Makefile.in delete mode 100644 executable_names/src/plugins/checkpoint/aix/Makefile.am delete mode 100644 executable_names/src/plugins/checkpoint/aix/Makefile.in delete mode 100644 executable_names/src/plugins/checkpoint/aix/checkpoint_aix.c delete mode 100644 executable_names/src/plugins/checkpoint/none/Makefile.am delete mode 100644 executable_names/src/plugins/checkpoint/none/Makefile.in delete mode 100644 executable_names/src/plugins/checkpoint/none/checkpoint_none.c delete mode 100644 executable_names/src/plugins/jobacct/Makefile.am delete mode 100644 executable_names/src/plugins/jobacct/Makefile.in delete mode 100644 executable_names/src/plugins/jobacct/aix/Makefile.am delete mode 100644 executable_names/src/plugins/jobacct/aix/Makefile.in delete mode 100644 executable_names/src/plugins/jobacct/aix/jobacct_aix.c delete mode 100644 executable_names/src/plugins/jobacct/common/common_slurmctld.c delete mode 100644 executable_names/src/plugins/jobacct/common/common_slurmstepd.c delete mode 100644 executable_names/src/plugins/jobacct/common/jobacct_common.c delete mode 100644 executable_names/src/plugins/jobacct/common/jobacct_common.h delete mode 100644 executable_names/src/plugins/jobacct/linux/Makefile.am delete mode 100644 executable_names/src/plugins/jobacct/linux/Makefile.in delete mode 100644 executable_names/src/plugins/jobacct/linux/jobacct_linux.c delete mode 100644 executable_names/src/plugins/jobacct/none/Makefile.am delete mode 100644 executable_names/src/plugins/jobacct/none/Makefile.in delete mode 100644 executable_names/src/plugins/jobacct/none/jobacct_none.c delete mode 100644 executable_names/src/plugins/jobcomp/Makefile.am delete mode 100644 executable_names/src/plugins/jobcomp/Makefile.in delete mode 100644 executable_names/src/plugins/jobcomp/filetxt/Makefile.am delete mode 100644 executable_names/src/plugins/jobcomp/filetxt/Makefile.in delete mode 100644 executable_names/src/plugins/jobcomp/filetxt/jobcomp_filetxt.c delete mode 100644 executable_names/src/plugins/jobcomp/none/Makefile.am delete mode 100644 executable_names/src/plugins/jobcomp/none/Makefile.in delete mode 100644 executable_names/src/plugins/jobcomp/none/jobcomp_none.c delete mode 100644 executable_names/src/plugins/jobcomp/script/Makefile.am delete mode 100644 executable_names/src/plugins/jobcomp/script/Makefile.in delete mode 100644 executable_names/src/plugins/jobcomp/script/README delete mode 100644 executable_names/src/plugins/jobcomp/script/job_record.c delete mode 100644 executable_names/src/plugins/jobcomp/script/job_record.h delete mode 100644 executable_names/src/plugins/jobcomp/script/jobcomp_script.c delete mode 100644 executable_names/src/plugins/mpi/Makefile.am delete mode 100644 executable_names/src/plugins/mpi/Makefile.in delete mode 100644 executable_names/src/plugins/mpi/lam/Makefile.am delete mode 100644 executable_names/src/plugins/mpi/lam/Makefile.in delete mode 100644 executable_names/src/plugins/mpi/lam/lam.h delete mode 100644 executable_names/src/plugins/mpi/lam/mpi_lam.c delete mode 100644 executable_names/src/plugins/mpi/mpichgm/Makefile.am delete mode 100644 executable_names/src/plugins/mpi/mpichgm/Makefile.in delete mode 100644 executable_names/src/plugins/mpi/mpichgm/mpi_mpichgm.c delete mode 100644 executable_names/src/plugins/mpi/mpichgm/mpichgm.c delete mode 100644 executable_names/src/plugins/mpi/mpichgm/mpichgm.h delete mode 100644 executable_names/src/plugins/mpi/mvapich/Makefile.am delete mode 100644 executable_names/src/plugins/mpi/mvapich/Makefile.in delete mode 100644 executable_names/src/plugins/mpi/mvapich/mpi_mvapich.c delete mode 100644 executable_names/src/plugins/mpi/mvapich/mvapich.c delete mode 100644 executable_names/src/plugins/mpi/mvapich/mvapich.h delete mode 100644 executable_names/src/plugins/mpi/none/Makefile.am delete mode 100644 executable_names/src/plugins/mpi/none/Makefile.in delete mode 100644 executable_names/src/plugins/mpi/none/mpi_none.c delete mode 100644 executable_names/src/plugins/proctrack/Makefile.am delete mode 100644 executable_names/src/plugins/proctrack/Makefile.in delete mode 100644 executable_names/src/plugins/proctrack/aix/Makefile.am delete mode 100644 executable_names/src/plugins/proctrack/aix/Makefile.in delete mode 100644 executable_names/src/plugins/proctrack/aix/proctrack_aix.c delete mode 100644 executable_names/src/plugins/proctrack/linuxproc/Makefile.am delete mode 100644 executable_names/src/plugins/proctrack/linuxproc/Makefile.in delete mode 100644 executable_names/src/plugins/proctrack/linuxproc/kill_tree.c delete mode 100644 executable_names/src/plugins/proctrack/linuxproc/kill_tree.h delete mode 100644 executable_names/src/plugins/proctrack/linuxproc/proctrack_linuxproc.c delete mode 100644 executable_names/src/plugins/proctrack/pgid/Makefile.am delete mode 100644 executable_names/src/plugins/proctrack/pgid/Makefile.in delete mode 100644 executable_names/src/plugins/proctrack/pgid/proctrack_pgid.c delete mode 100644 executable_names/src/plugins/proctrack/rms/Makefile.am delete mode 100644 executable_names/src/plugins/proctrack/rms/Makefile.in delete mode 100644 executable_names/src/plugins/proctrack/rms/proctrack_rms.c delete mode 100644 executable_names/src/plugins/proctrack/sgi_job/Makefile.am delete mode 100644 executable_names/src/plugins/proctrack/sgi_job/Makefile.in delete mode 100644 executable_names/src/plugins/proctrack/sgi_job/proctrack_sgi_job.c delete mode 100644 executable_names/src/plugins/sched/Makefile.am delete mode 100644 executable_names/src/plugins/sched/Makefile.in delete mode 100644 executable_names/src/plugins/sched/backfill/Makefile.am delete mode 100644 executable_names/src/plugins/sched/backfill/Makefile.in delete mode 100644 executable_names/src/plugins/sched/backfill/backfill.c delete mode 100644 executable_names/src/plugins/sched/backfill/backfill.h delete mode 100644 executable_names/src/plugins/sched/backfill/backfill_wrapper.c delete mode 100644 executable_names/src/plugins/sched/builtin/Makefile.am delete mode 100644 executable_names/src/plugins/sched/builtin/Makefile.in delete mode 100644 executable_names/src/plugins/sched/builtin/builtin_wrapper.c delete mode 100644 executable_names/src/plugins/sched/gang/Makefile.am delete mode 100644 executable_names/src/plugins/sched/gang/Makefile.in delete mode 100644 executable_names/src/plugins/sched/gang/gang.c delete mode 100644 executable_names/src/plugins/sched/gang/gang.h delete mode 100644 executable_names/src/plugins/sched/gang/sched_gang.c delete mode 100644 executable_names/src/plugins/sched/hold/Makefile.am delete mode 100644 executable_names/src/plugins/sched/hold/Makefile.in delete mode 100644 executable_names/src/plugins/sched/hold/hold_wrapper.c delete mode 100644 executable_names/src/plugins/sched/wiki2/Makefile.am delete mode 100644 executable_names/src/plugins/sched/wiki2/Makefile.in delete mode 100644 executable_names/src/plugins/sched/wiki2/cancel_job.c delete mode 100644 executable_names/src/plugins/sched/wiki2/crypto.c delete mode 100644 executable_names/src/plugins/sched/wiki2/crypto.h delete mode 100644 executable_names/src/plugins/sched/wiki2/event.c delete mode 100644 executable_names/src/plugins/sched/wiki2/get_jobs.c delete mode 100644 executable_names/src/plugins/sched/wiki2/get_nodes.c delete mode 100644 executable_names/src/plugins/sched/wiki2/initialize.c delete mode 100644 executable_names/src/plugins/sched/wiki2/job_add_task.c delete mode 100644 executable_names/src/plugins/sched/wiki2/job_modify.c delete mode 100644 executable_names/src/plugins/sched/wiki2/job_release_task.c delete mode 100644 executable_names/src/plugins/sched/wiki2/job_requeue.c delete mode 100644 executable_names/src/plugins/sched/wiki2/job_signal.c delete mode 100644 executable_names/src/plugins/sched/wiki2/job_will_run.c delete mode 100644 executable_names/src/plugins/sched/wiki2/msg.c delete mode 100644 executable_names/src/plugins/sched/wiki2/msg.h delete mode 100644 executable_names/src/plugins/sched/wiki2/resume_job.c delete mode 100644 executable_names/src/plugins/sched/wiki2/sched_wiki.c delete mode 100644 executable_names/src/plugins/sched/wiki2/start_job.c delete mode 100644 executable_names/src/plugins/sched/wiki2/suspend_job.c delete mode 100644 executable_names/src/plugins/select/Makefile.am delete mode 100644 executable_names/src/plugins/select/Makefile.in delete mode 100644 executable_names/src/plugins/select/bluegene/Makefile.am delete mode 100644 executable_names/src/plugins/select/bluegene/Makefile.in delete mode 100644 executable_names/src/plugins/select/bluegene/block_allocator/Makefile.am delete mode 100644 executable_names/src/plugins/select/bluegene/block_allocator/Makefile.in delete mode 100644 executable_names/src/plugins/select/bluegene/block_allocator/block_allocator.c delete mode 100644 executable_names/src/plugins/select/bluegene/block_allocator/block_allocator.h delete mode 100644 executable_names/src/plugins/select/bluegene/block_allocator/bridge_linker.c delete mode 100644 executable_names/src/plugins/select/bluegene/block_allocator/bridge_linker.h delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/Makefile.am delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/Makefile.in delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/Manifest delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/bg_block_info.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/bg_block_info.h delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/bg_job_place.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/bg_job_place.h delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/bg_job_run.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/bg_job_run.h delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/bg_switch_connections.c delete mode 100755 executable_names/src/plugins/select/bluegene/plugin/block_sys.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/bluegene.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/bluegene.h delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/libsched_if64.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/opts.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/select_bluegene.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/sfree.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/sfree.h delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/slurm_epilog.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/slurm_prolog.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/state_test.c delete mode 100644 executable_names/src/plugins/select/bluegene/plugin/state_test.h delete mode 100644 executable_names/src/plugins/select/bluegene/wrap_rm_api.h delete mode 100644 executable_names/src/plugins/select/cons_res/Makefile.am delete mode 100644 executable_names/src/plugins/select/cons_res/Makefile.in delete mode 100644 executable_names/src/plugins/select/cons_res/select_cons_res.c delete mode 100644 executable_names/src/plugins/select/linear/Makefile.am delete mode 100644 executable_names/src/plugins/select/linear/Makefile.in delete mode 100644 executable_names/src/plugins/select/linear/select_linear.c delete mode 100644 executable_names/src/plugins/switch/Makefile.am delete mode 100644 executable_names/src/plugins/switch/Makefile.in delete mode 100644 executable_names/src/plugins/switch/elan/Makefile.am delete mode 100644 executable_names/src/plugins/switch/elan/Makefile.in delete mode 100644 executable_names/src/plugins/switch/elan/qsw.c delete mode 100644 executable_names/src/plugins/switch/elan/qsw.h delete mode 100644 executable_names/src/plugins/switch/elan/switch_elan.c delete mode 100644 executable_names/src/plugins/switch/federation/Makefile.am delete mode 100644 executable_names/src/plugins/switch/federation/Makefile.in delete mode 100644 executable_names/src/plugins/switch/federation/federation.c delete mode 100644 executable_names/src/plugins/switch/federation/federation.h delete mode 100644 executable_names/src/plugins/switch/federation/federation_keys.h delete mode 100644 executable_names/src/plugins/switch/federation/switch_federation.c delete mode 100644 executable_names/src/plugins/switch/none/Makefile.am delete mode 100644 executable_names/src/plugins/switch/none/Makefile.in delete mode 100644 executable_names/src/plugins/switch/none/switch_none.c delete mode 100644 executable_names/src/plugins/task/Makefile.am delete mode 100644 executable_names/src/plugins/task/Makefile.in delete mode 100644 executable_names/src/plugins/task/affinity/Makefile.am delete mode 100644 executable_names/src/plugins/task/affinity/Makefile.in delete mode 100644 executable_names/src/plugins/task/affinity/affinity.c delete mode 100644 executable_names/src/plugins/task/affinity/affinity.h delete mode 100644 executable_names/src/plugins/task/affinity/dist_tasks.c delete mode 100644 executable_names/src/plugins/task/affinity/dist_tasks.h delete mode 100644 executable_names/src/plugins/task/affinity/numa.c delete mode 100644 executable_names/src/plugins/task/affinity/schedutils.c delete mode 100644 executable_names/src/plugins/task/affinity/task_affinity.c delete mode 100644 executable_names/src/plugins/task/none/Makefile.am delete mode 100644 executable_names/src/plugins/task/none/Makefile.in delete mode 100644 executable_names/src/plugins/task/none/task_none.c delete mode 100644 executable_names/src/sacct/Makefile.am delete mode 100644 executable_names/src/sacct/Makefile.in delete mode 100644 executable_names/src/sacct/options.c delete mode 100644 executable_names/src/sacct/print.c delete mode 100644 executable_names/src/sacct/process.c delete mode 100644 executable_names/src/sacct/sacct.c delete mode 100644 executable_names/src/sacct/sacct.h delete mode 100644 executable_names/src/sacct/sacct_stat.c delete mode 100644 executable_names/src/sacct/sacct_stat.h delete mode 100644 executable_names/src/salloc/Makefile.am delete mode 100644 executable_names/src/salloc/Makefile.in delete mode 100644 executable_names/src/salloc/msg.c delete mode 100644 executable_names/src/salloc/msg.h delete mode 100644 executable_names/src/salloc/opt.c delete mode 100644 executable_names/src/salloc/opt.h delete mode 100644 executable_names/src/salloc/salloc.c delete mode 100644 executable_names/src/salloc/salloc.h delete mode 100644 executable_names/src/sattach/Makefile.am delete mode 100644 executable_names/src/sattach/Makefile.in delete mode 100644 executable_names/src/sattach/attach.c delete mode 100644 executable_names/src/sattach/attach.h delete mode 100644 executable_names/src/sattach/opt.c delete mode 100644 executable_names/src/sattach/opt.h delete mode 100644 executable_names/src/sattach/sattach.c delete mode 100644 executable_names/src/sattach/sattach.wrapper.c delete mode 100644 executable_names/src/sbatch/Makefile.am delete mode 100644 executable_names/src/sbatch/Makefile.in delete mode 100644 executable_names/src/sbatch/opt.c delete mode 100644 executable_names/src/sbatch/opt.h delete mode 100644 executable_names/src/sbatch/sbatch.c delete mode 100644 executable_names/src/sbcast/Makefile.am delete mode 100644 executable_names/src/sbcast/Makefile.in delete mode 100644 executable_names/src/sbcast/agent.c delete mode 100644 executable_names/src/sbcast/opts.c delete mode 100644 executable_names/src/sbcast/sbcast.c delete mode 100644 executable_names/src/sbcast/sbcast.h delete mode 100644 executable_names/src/scancel/Makefile.am delete mode 100644 executable_names/src/scancel/Makefile.in delete mode 100644 executable_names/src/scancel/opt.c delete mode 100644 executable_names/src/scancel/scancel.c delete mode 100644 executable_names/src/scancel/scancel.h delete mode 100644 executable_names/src/scontrol/Makefile.am delete mode 100644 executable_names/src/scontrol/Makefile.in delete mode 100644 executable_names/src/scontrol/info_job.c delete mode 100644 executable_names/src/scontrol/info_node.c delete mode 100644 executable_names/src/scontrol/info_part.c delete mode 100644 executable_names/src/scontrol/scontrol.c delete mode 100644 executable_names/src/scontrol/scontrol.h delete mode 100644 executable_names/src/scontrol/update_job.c delete mode 100644 executable_names/src/scontrol/update_node.c delete mode 100644 executable_names/src/scontrol/update_part.c delete mode 100644 executable_names/src/sinfo/Makefile.am delete mode 100644 executable_names/src/sinfo/Makefile.in delete mode 100644 executable_names/src/sinfo/opts.c delete mode 100644 executable_names/src/sinfo/print.c delete mode 100644 executable_names/src/sinfo/print.h delete mode 100644 executable_names/src/sinfo/sinfo.c delete mode 100644 executable_names/src/sinfo/sinfo.h delete mode 100644 executable_names/src/sinfo/sort.c delete mode 100644 executable_names/src/slaunch/Makefile.am delete mode 100644 executable_names/src/slaunch/Makefile.in delete mode 100644 executable_names/src/slaunch/attach.c delete mode 100644 executable_names/src/slaunch/attach.h delete mode 100644 executable_names/src/slaunch/core-format.c delete mode 100644 executable_names/src/slaunch/core-format.h delete mode 100644 executable_names/src/slaunch/fname.c delete mode 100644 executable_names/src/slaunch/fname.h delete mode 100644 executable_names/src/slaunch/multi_prog.c delete mode 100644 executable_names/src/slaunch/multi_prog.h delete mode 100644 executable_names/src/slaunch/opt.c delete mode 100644 executable_names/src/slaunch/opt.h delete mode 100644 executable_names/src/slaunch/sigstr.c delete mode 100644 executable_names/src/slaunch/sigstr.h delete mode 100644 executable_names/src/slaunch/slaunch.c delete mode 100644 executable_names/src/slaunch/slaunch.h delete mode 100644 executable_names/src/slaunch/slaunch.wrapper.c delete mode 100644 executable_names/src/slurmctld/Makefile.am delete mode 100644 executable_names/src/slurmctld/Makefile.in delete mode 100644 executable_names/src/slurmctld/agent.c delete mode 100644 executable_names/src/slurmctld/agent.h delete mode 100644 executable_names/src/slurmctld/backup.c delete mode 100644 executable_names/src/slurmctld/controller.c delete mode 100644 executable_names/src/slurmctld/job_mgr.c delete mode 100644 executable_names/src/slurmctld/job_scheduler.c delete mode 100644 executable_names/src/slurmctld/locks.c delete mode 100644 executable_names/src/slurmctld/locks.h delete mode 100644 executable_names/src/slurmctld/node_mgr.c delete mode 100644 executable_names/src/slurmctld/node_scheduler.c delete mode 100644 executable_names/src/slurmctld/node_scheduler.h delete mode 100644 executable_names/src/slurmctld/partition_mgr.c delete mode 100644 executable_names/src/slurmctld/ping_nodes.c delete mode 100644 executable_names/src/slurmctld/ping_nodes.h delete mode 100644 executable_names/src/slurmctld/private.key delete mode 100644 executable_names/src/slurmctld/proc_req.c delete mode 100644 executable_names/src/slurmctld/proc_req.h delete mode 100644 executable_names/src/slurmctld/read_config.c delete mode 100644 executable_names/src/slurmctld/read_config.h delete mode 100644 executable_names/src/slurmctld/sched_plugin.c delete mode 100644 executable_names/src/slurmctld/sched_plugin.h delete mode 100644 executable_names/src/slurmctld/slurmctld.h delete mode 100644 executable_names/src/slurmctld/srun_comm.c delete mode 100644 executable_names/src/slurmctld/srun_comm.h delete mode 100644 executable_names/src/slurmctld/state_save.c delete mode 100644 executable_names/src/slurmctld/state_save.h delete mode 100644 executable_names/src/slurmctld/step_mgr.c delete mode 100644 executable_names/src/slurmd/Makefile.am delete mode 100644 executable_names/src/slurmd/Makefile.in delete mode 100644 executable_names/src/slurmd/common/proctrack.c delete mode 100644 executable_names/src/slurmd/common/proctrack.h delete mode 100644 executable_names/src/slurmd/common/reverse_tree.h delete mode 100644 executable_names/src/slurmd/common/run_script.c delete mode 100644 executable_names/src/slurmd/common/run_script.h delete mode 100644 executable_names/src/slurmd/common/setproctitle.c delete mode 100644 executable_names/src/slurmd/common/setproctitle.h delete mode 100644 executable_names/src/slurmd/common/slurmstepd_init.c delete mode 100644 executable_names/src/slurmd/common/slurmstepd_init.h delete mode 100644 executable_names/src/slurmd/common/stepd_api.c delete mode 100644 executable_names/src/slurmd/common/stepd_api.h delete mode 100644 executable_names/src/slurmd/common/task_plugin.c delete mode 100644 executable_names/src/slurmd/common/task_plugin.h delete mode 100644 executable_names/src/slurmd/private.key delete mode 100644 executable_names/src/slurmd/public.cert delete mode 100644 executable_names/src/slurmd/slurmd/Makefile.am delete mode 100644 executable_names/src/slurmd/slurmd/Makefile.in delete mode 100644 executable_names/src/slurmd/slurmd/get_mach_stat.c delete mode 100644 executable_names/src/slurmd/slurmd/get_mach_stat.h delete mode 100644 executable_names/src/slurmd/slurmd/read_proc.c delete mode 100644 executable_names/src/slurmd/slurmd/req.c delete mode 100644 executable_names/src/slurmd/slurmd/req.h delete mode 100644 executable_names/src/slurmd/slurmd/reverse_tree_math.c delete mode 100644 executable_names/src/slurmd/slurmd/reverse_tree_math.h delete mode 100644 executable_names/src/slurmd/slurmd/slurmd.c delete mode 100644 executable_names/src/slurmd/slurmd/slurmd.h delete mode 100644 executable_names/src/slurmd/slurmd/xcpu.c delete mode 100644 executable_names/src/slurmd/slurmd/xcpu.h delete mode 100644 executable_names/src/slurmd/slurmstepd/Makefile.am delete mode 100644 executable_names/src/slurmd/slurmstepd/Makefile.in delete mode 100644 executable_names/src/slurmd/slurmstepd/fname.c delete mode 100644 executable_names/src/slurmd/slurmstepd/fname.h delete mode 100644 executable_names/src/slurmd/slurmstepd/io.c delete mode 100644 executable_names/src/slurmd/slurmstepd/io.h delete mode 100644 executable_names/src/slurmd/slurmstepd/mgr.c delete mode 100644 executable_names/src/slurmd/slurmstepd/mgr.h delete mode 100644 executable_names/src/slurmd/slurmstepd/pam_ses.c delete mode 100644 executable_names/src/slurmd/slurmstepd/pam_ses.h delete mode 100644 executable_names/src/slurmd/slurmstepd/pdebug.c delete mode 100644 executable_names/src/slurmd/slurmstepd/pdebug.h delete mode 100644 executable_names/src/slurmd/slurmstepd/req.c delete mode 100644 executable_names/src/slurmd/slurmstepd/req.h delete mode 100644 executable_names/src/slurmd/slurmstepd/slurmstepd.c delete mode 100644 executable_names/src/slurmd/slurmstepd/slurmstepd.h delete mode 100644 executable_names/src/slurmd/slurmstepd/slurmstepd_job.c delete mode 100644 executable_names/src/slurmd/slurmstepd/slurmstepd_job.h delete mode 100644 executable_names/src/slurmd/slurmstepd/task.c delete mode 100644 executable_names/src/slurmd/slurmstepd/task.h delete mode 100644 executable_names/src/slurmd/slurmstepd/task_exec.c delete mode 100644 executable_names/src/slurmd/slurmstepd/task_exec.h delete mode 100644 executable_names/src/slurmd/slurmstepd/ulimits.c delete mode 100644 executable_names/src/slurmd/slurmstepd/ulimits.h delete mode 100644 executable_names/src/smap/Makefile.am delete mode 100644 executable_names/src/smap/Makefile.in delete mode 100644 executable_names/src/smap/configure_functions.c delete mode 100644 executable_names/src/smap/grid_functions.c delete mode 100644 executable_names/src/smap/job_functions.c delete mode 100644 executable_names/src/smap/opts.c delete mode 100644 executable_names/src/smap/partition_functions.c delete mode 100644 executable_names/src/smap/smap.c delete mode 100644 executable_names/src/smap/smap.h delete mode 100644 executable_names/src/squeue/Makefile.am delete mode 100644 executable_names/src/squeue/Makefile.in delete mode 100644 executable_names/src/squeue/opts.c delete mode 100644 executable_names/src/squeue/print.c delete mode 100644 executable_names/src/squeue/print.h delete mode 100644 executable_names/src/squeue/sort.c delete mode 100644 executable_names/src/squeue/squeue.c delete mode 100644 executable_names/src/squeue/squeue.h delete mode 100644 executable_names/src/srun/Makefile.am delete mode 100644 executable_names/src/srun/Makefile.in delete mode 100644 executable_names/src/srun/allocate.c delete mode 100644 executable_names/src/srun/allocate.h delete mode 100644 executable_names/src/srun/attach.c delete mode 100644 executable_names/src/srun/attach.h delete mode 100644 executable_names/src/srun/core-format.c delete mode 100644 executable_names/src/srun/core-format.h delete mode 100644 executable_names/src/srun/fname.c delete mode 100644 executable_names/src/srun/fname.h delete mode 100644 executable_names/src/srun/launch.c delete mode 100644 executable_names/src/srun/launch.h delete mode 100644 executable_names/src/srun/msg.c delete mode 100644 executable_names/src/srun/msg.h delete mode 100644 executable_names/src/srun/multi_prog.c delete mode 100644 executable_names/src/srun/multi_prog.h delete mode 100644 executable_names/src/srun/opt.c delete mode 100644 executable_names/src/srun/opt.h delete mode 100644 executable_names/src/srun/reattach.c delete mode 100644 executable_names/src/srun/reattach.h delete mode 100644 executable_names/src/srun/signals.c delete mode 100644 executable_names/src/srun/signals.h delete mode 100644 executable_names/src/srun/sigstr.c delete mode 100644 executable_names/src/srun/sigstr.h delete mode 100644 executable_names/src/srun/srun.c delete mode 100644 executable_names/src/srun/srun.h delete mode 100644 executable_names/src/srun/srun.wrapper.c delete mode 100644 executable_names/src/srun/srun_job.c delete mode 100644 executable_names/src/srun/srun_job.h delete mode 100644 executable_names/src/sview/Makefile.am delete mode 100644 executable_names/src/sview/Makefile.in delete mode 100644 executable_names/src/sview/admin_info.c delete mode 100644 executable_names/src/sview/block_info.c delete mode 100644 executable_names/src/sview/common.c delete mode 100644 executable_names/src/sview/grid.c delete mode 100644 executable_names/src/sview/job_info.c delete mode 100644 executable_names/src/sview/node_info.c delete mode 100644 executable_names/src/sview/part_info.c delete mode 100644 executable_names/src/sview/popups.c delete mode 100644 executable_names/src/sview/submit_info.c delete mode 100644 executable_names/src/sview/sview.c delete mode 100644 executable_names/src/sview/sview.h delete mode 100644 executable_names/testsuite/Makefile.am delete mode 100644 executable_names/testsuite/Makefile.in delete mode 100644 executable_names/testsuite/config/default.exp delete mode 100644 executable_names/testsuite/dejagnu.h delete mode 100644 executable_names/testsuite/expect/Makefile.am delete mode 100644 executable_names/testsuite/expect/Makefile.in delete mode 100644 executable_names/testsuite/expect/README delete mode 100755 executable_names/testsuite/expect/globals delete mode 100644 executable_names/testsuite/expect/mpi-testscripts/Makefile delete mode 100644 executable_names/testsuite/expect/mpi-testscripts/allred.c delete mode 100644 executable_names/testsuite/expect/mpi-testscripts/allred_timed.c delete mode 100644 executable_names/testsuite/expect/mpi-testscripts/alltoall.c delete mode 100644 executable_names/testsuite/expect/mpi-testscripts/alltoall_timed.c delete mode 100644 executable_names/testsuite/expect/mpi-testscripts/barrier_timed.c delete mode 100755 executable_names/testsuite/expect/mpi-testscripts/script.slurm.sh delete mode 100755 executable_names/testsuite/expect/pkill delete mode 100755 executable_names/testsuite/expect/regression delete mode 100755 executable_names/testsuite/expect/regression.py delete mode 100755 executable_names/testsuite/expect/test1.1 delete mode 100755 executable_names/testsuite/expect/test1.10 delete mode 100755 executable_names/testsuite/expect/test1.11 delete mode 100755 executable_names/testsuite/expect/test1.12 delete mode 100755 executable_names/testsuite/expect/test1.13 delete mode 100755 executable_names/testsuite/expect/test1.14 delete mode 100755 executable_names/testsuite/expect/test1.15 delete mode 100755 executable_names/testsuite/expect/test1.16 delete mode 100755 executable_names/testsuite/expect/test1.17 delete mode 100755 executable_names/testsuite/expect/test1.18 delete mode 100644 executable_names/testsuite/expect/test1.18.prog.c delete mode 100755 executable_names/testsuite/expect/test1.19 delete mode 100755 executable_names/testsuite/expect/test1.2 delete mode 100755 executable_names/testsuite/expect/test1.20 delete mode 100755 executable_names/testsuite/expect/test1.21 delete mode 100755 executable_names/testsuite/expect/test1.22 delete mode 100755 executable_names/testsuite/expect/test1.23 delete mode 100755 executable_names/testsuite/expect/test1.24 delete mode 100755 executable_names/testsuite/expect/test1.25 delete mode 100755 executable_names/testsuite/expect/test1.26 delete mode 100755 executable_names/testsuite/expect/test1.27 delete mode 100755 executable_names/testsuite/expect/test1.28 delete mode 100755 executable_names/testsuite/expect/test1.29 delete mode 100644 executable_names/testsuite/expect/test1.29.prog.c delete mode 100755 executable_names/testsuite/expect/test1.3 delete mode 100755 executable_names/testsuite/expect/test1.30 delete mode 100755 executable_names/testsuite/expect/test1.31 delete mode 100755 executable_names/testsuite/expect/test1.32 delete mode 100644 executable_names/testsuite/expect/test1.32.prog.c delete mode 100755 executable_names/testsuite/expect/test1.33 delete mode 100755 executable_names/testsuite/expect/test1.34 delete mode 100755 executable_names/testsuite/expect/test1.35 delete mode 100755 executable_names/testsuite/expect/test1.36 delete mode 100755 executable_names/testsuite/expect/test1.37 delete mode 100755 executable_names/testsuite/expect/test1.38 delete mode 100755 executable_names/testsuite/expect/test1.39 delete mode 100644 executable_names/testsuite/expect/test1.39.prog.c delete mode 100755 executable_names/testsuite/expect/test1.4 delete mode 100755 executable_names/testsuite/expect/test1.40 delete mode 100755 executable_names/testsuite/expect/test1.41 delete mode 100755 executable_names/testsuite/expect/test1.42 delete mode 100755 executable_names/testsuite/expect/test1.43 delete mode 100755 executable_names/testsuite/expect/test1.44 delete mode 100755 executable_names/testsuite/expect/test1.45 delete mode 100755 executable_names/testsuite/expect/test1.46 delete mode 100755 executable_names/testsuite/expect/test1.47 delete mode 100755 executable_names/testsuite/expect/test1.48 delete mode 100755 executable_names/testsuite/expect/test1.49 delete mode 100755 executable_names/testsuite/expect/test1.5 delete mode 100755 executable_names/testsuite/expect/test1.50 delete mode 100755 executable_names/testsuite/expect/test1.51 delete mode 100755 executable_names/testsuite/expect/test1.52 delete mode 100755 executable_names/testsuite/expect/test1.53 delete mode 100755 executable_names/testsuite/expect/test1.54 delete mode 100755 executable_names/testsuite/expect/test1.55 delete mode 100755 executable_names/testsuite/expect/test1.56 delete mode 100755 executable_names/testsuite/expect/test1.57 delete mode 100755 executable_names/testsuite/expect/test1.58 delete mode 100755 executable_names/testsuite/expect/test1.6 delete mode 100755 executable_names/testsuite/expect/test1.7 delete mode 100755 executable_names/testsuite/expect/test1.8 delete mode 100755 executable_names/testsuite/expect/test1.80 delete mode 100755 executable_names/testsuite/expect/test1.81 delete mode 100755 executable_names/testsuite/expect/test1.82 delete mode 100755 executable_names/testsuite/expect/test1.83 delete mode 100755 executable_names/testsuite/expect/test1.84 delete mode 100755 executable_names/testsuite/expect/test1.85 delete mode 100755 executable_names/testsuite/expect/test1.86 delete mode 100755 executable_names/testsuite/expect/test1.87 delete mode 100755 executable_names/testsuite/expect/test1.88 delete mode 100644 executable_names/testsuite/expect/test1.88.prog.c delete mode 100755 executable_names/testsuite/expect/test1.89 delete mode 100644 executable_names/testsuite/expect/test1.89.prog.c delete mode 100755 executable_names/testsuite/expect/test1.9 delete mode 100755 executable_names/testsuite/expect/test1.90 delete mode 100644 executable_names/testsuite/expect/test1.90.prog.c delete mode 100755 executable_names/testsuite/expect/test10.1 delete mode 100755 executable_names/testsuite/expect/test10.10 delete mode 100755 executable_names/testsuite/expect/test10.11 delete mode 100755 executable_names/testsuite/expect/test10.12 delete mode 100755 executable_names/testsuite/expect/test10.13 delete mode 100755 executable_names/testsuite/expect/test10.2 delete mode 100755 executable_names/testsuite/expect/test10.3 delete mode 100755 executable_names/testsuite/expect/test10.4 delete mode 100755 executable_names/testsuite/expect/test10.5 delete mode 100755 executable_names/testsuite/expect/test10.6 delete mode 100755 executable_names/testsuite/expect/test10.7 delete mode 100755 executable_names/testsuite/expect/test10.8 delete mode 100755 executable_names/testsuite/expect/test10.9 delete mode 100755 executable_names/testsuite/expect/test11.1 delete mode 100755 executable_names/testsuite/expect/test11.2 delete mode 100755 executable_names/testsuite/expect/test11.3 delete mode 100755 executable_names/testsuite/expect/test11.4 delete mode 100755 executable_names/testsuite/expect/test11.5 delete mode 100755 executable_names/testsuite/expect/test11.6 delete mode 100755 executable_names/testsuite/expect/test11.7 delete mode 100755 executable_names/testsuite/expect/test12.1 delete mode 100755 executable_names/testsuite/expect/test12.2 delete mode 100644 executable_names/testsuite/expect/test12.2.prog.c delete mode 100755 executable_names/testsuite/expect/test13.1 delete mode 100755 executable_names/testsuite/expect/test14.1 delete mode 100755 executable_names/testsuite/expect/test14.2 delete mode 100755 executable_names/testsuite/expect/test14.3 delete mode 100755 executable_names/testsuite/expect/test14.4 delete mode 100755 executable_names/testsuite/expect/test14.5 delete mode 100755 executable_names/testsuite/expect/test14.6 delete mode 100755 executable_names/testsuite/expect/test14.7 delete mode 100755 executable_names/testsuite/expect/test14.8 delete mode 100755 executable_names/testsuite/expect/test15.1 delete mode 100755 executable_names/testsuite/expect/test15.10 delete mode 100755 executable_names/testsuite/expect/test15.11 delete mode 100755 executable_names/testsuite/expect/test15.12 delete mode 100755 executable_names/testsuite/expect/test15.13 delete mode 100755 executable_names/testsuite/expect/test15.14 delete mode 100755 executable_names/testsuite/expect/test15.15 delete mode 100755 executable_names/testsuite/expect/test15.16 delete mode 100755 executable_names/testsuite/expect/test15.17 delete mode 100755 executable_names/testsuite/expect/test15.18 delete mode 100755 executable_names/testsuite/expect/test15.19 delete mode 100755 executable_names/testsuite/expect/test15.2 delete mode 100755 executable_names/testsuite/expect/test15.20 delete mode 100755 executable_names/testsuite/expect/test15.21 delete mode 100755 executable_names/testsuite/expect/test15.22 delete mode 100755 executable_names/testsuite/expect/test15.23 delete mode 100755 executable_names/testsuite/expect/test15.3 delete mode 100755 executable_names/testsuite/expect/test15.4 delete mode 100755 executable_names/testsuite/expect/test15.5 delete mode 100755 executable_names/testsuite/expect/test15.6 delete mode 100755 executable_names/testsuite/expect/test15.7 delete mode 100755 executable_names/testsuite/expect/test15.8 delete mode 100755 executable_names/testsuite/expect/test15.9 delete mode 100755 executable_names/testsuite/expect/test16.1 delete mode 100755 executable_names/testsuite/expect/test16.2 delete mode 100755 executable_names/testsuite/expect/test16.3 delete mode 100755 executable_names/testsuite/expect/test16.4 delete mode 100644 executable_names/testsuite/expect/test16.4.prog.c delete mode 100755 executable_names/testsuite/expect/test17.1 delete mode 100755 executable_names/testsuite/expect/test17.10 delete mode 100755 executable_names/testsuite/expect/test17.11 delete mode 100755 executable_names/testsuite/expect/test17.12 delete mode 100755 executable_names/testsuite/expect/test17.13 delete mode 100755 executable_names/testsuite/expect/test17.14 delete mode 100755 executable_names/testsuite/expect/test17.15 delete mode 100644 executable_names/testsuite/expect/test17.15.prog.c delete mode 100755 executable_names/testsuite/expect/test17.16 delete mode 100755 executable_names/testsuite/expect/test17.17 delete mode 100755 executable_names/testsuite/expect/test17.18 delete mode 100755 executable_names/testsuite/expect/test17.19 delete mode 100755 executable_names/testsuite/expect/test17.2 delete mode 100755 executable_names/testsuite/expect/test17.20 delete mode 100755 executable_names/testsuite/expect/test17.21 delete mode 100755 executable_names/testsuite/expect/test17.22 delete mode 100755 executable_names/testsuite/expect/test17.23 delete mode 100755 executable_names/testsuite/expect/test17.24 delete mode 100755 executable_names/testsuite/expect/test17.25 delete mode 100755 executable_names/testsuite/expect/test17.26 delete mode 100755 executable_names/testsuite/expect/test17.27 delete mode 100755 executable_names/testsuite/expect/test17.28 delete mode 100755 executable_names/testsuite/expect/test17.29 delete mode 100755 executable_names/testsuite/expect/test17.3 delete mode 100755 executable_names/testsuite/expect/test17.4 delete mode 100755 executable_names/testsuite/expect/test17.5 delete mode 100755 executable_names/testsuite/expect/test17.6 delete mode 100755 executable_names/testsuite/expect/test17.7 delete mode 100755 executable_names/testsuite/expect/test17.8 delete mode 100755 executable_names/testsuite/expect/test17.9 delete mode 100755 executable_names/testsuite/expect/test18.1 delete mode 100755 executable_names/testsuite/expect/test18.10 delete mode 100755 executable_names/testsuite/expect/test18.11 delete mode 100755 executable_names/testsuite/expect/test18.12 delete mode 100755 executable_names/testsuite/expect/test18.13 delete mode 100755 executable_names/testsuite/expect/test18.14 delete mode 100755 executable_names/testsuite/expect/test18.15 delete mode 100755 executable_names/testsuite/expect/test18.16 delete mode 100644 executable_names/testsuite/expect/test18.16.prog.c delete mode 100755 executable_names/testsuite/expect/test18.17 delete mode 100755 executable_names/testsuite/expect/test18.18 delete mode 100755 executable_names/testsuite/expect/test18.19 delete mode 100644 executable_names/testsuite/expect/test18.19.prog.c delete mode 100755 executable_names/testsuite/expect/test18.2 delete mode 100755 executable_names/testsuite/expect/test18.20 delete mode 100755 executable_names/testsuite/expect/test18.21 delete mode 100755 executable_names/testsuite/expect/test18.22 delete mode 100755 executable_names/testsuite/expect/test18.23 delete mode 100755 executable_names/testsuite/expect/test18.24 delete mode 100755 executable_names/testsuite/expect/test18.25 delete mode 100755 executable_names/testsuite/expect/test18.26 delete mode 100755 executable_names/testsuite/expect/test18.27 delete mode 100755 executable_names/testsuite/expect/test18.28 delete mode 100755 executable_names/testsuite/expect/test18.29 delete mode 100755 executable_names/testsuite/expect/test18.3 delete mode 100755 executable_names/testsuite/expect/test18.30 delete mode 100755 executable_names/testsuite/expect/test18.31 delete mode 100755 executable_names/testsuite/expect/test18.32 delete mode 100644 executable_names/testsuite/expect/test18.32.prog.c delete mode 100755 executable_names/testsuite/expect/test18.33 delete mode 100755 executable_names/testsuite/expect/test18.34 delete mode 100755 executable_names/testsuite/expect/test18.35 delete mode 100755 executable_names/testsuite/expect/test18.36 delete mode 100644 executable_names/testsuite/expect/test18.36.prog.c delete mode 100755 executable_names/testsuite/expect/test18.37 delete mode 100644 executable_names/testsuite/expect/test18.37.prog.c delete mode 100755 executable_names/testsuite/expect/test18.38 delete mode 100755 executable_names/testsuite/expect/test18.4 delete mode 100755 executable_names/testsuite/expect/test18.5 delete mode 100755 executable_names/testsuite/expect/test18.6 delete mode 100755 executable_names/testsuite/expect/test18.7 delete mode 100755 executable_names/testsuite/expect/test18.8 delete mode 100755 executable_names/testsuite/expect/test18.9 delete mode 100755 executable_names/testsuite/expect/test2.1 delete mode 100755 executable_names/testsuite/expect/test2.10 delete mode 100755 executable_names/testsuite/expect/test2.2 delete mode 100755 executable_names/testsuite/expect/test2.3 delete mode 100755 executable_names/testsuite/expect/test2.4 delete mode 100755 executable_names/testsuite/expect/test2.5 delete mode 100755 executable_names/testsuite/expect/test2.6 delete mode 100755 executable_names/testsuite/expect/test2.7 delete mode 100755 executable_names/testsuite/expect/test2.8 delete mode 100755 executable_names/testsuite/expect/test2.9 delete mode 100755 executable_names/testsuite/expect/test3.1 delete mode 100755 executable_names/testsuite/expect/test3.2 delete mode 100755 executable_names/testsuite/expect/test3.3 delete mode 100755 executable_names/testsuite/expect/test3.4 delete mode 100755 executable_names/testsuite/expect/test3.5 delete mode 100755 executable_names/testsuite/expect/test3.6 delete mode 100755 executable_names/testsuite/expect/test3.7 delete mode 100644 executable_names/testsuite/expect/test3.7.prog.c delete mode 100755 executable_names/testsuite/expect/test3.8 delete mode 100755 executable_names/testsuite/expect/test4.1 delete mode 100755 executable_names/testsuite/expect/test4.10 delete mode 100755 executable_names/testsuite/expect/test4.11 delete mode 100755 executable_names/testsuite/expect/test4.2 delete mode 100755 executable_names/testsuite/expect/test4.3 delete mode 100755 executable_names/testsuite/expect/test4.4 delete mode 100755 executable_names/testsuite/expect/test4.5 delete mode 100755 executable_names/testsuite/expect/test4.6 delete mode 100755 executable_names/testsuite/expect/test4.7 delete mode 100755 executable_names/testsuite/expect/test4.8 delete mode 100755 executable_names/testsuite/expect/test4.9 delete mode 100755 executable_names/testsuite/expect/test5.1 delete mode 100755 executable_names/testsuite/expect/test5.2 delete mode 100755 executable_names/testsuite/expect/test5.3 delete mode 100755 executable_names/testsuite/expect/test5.4 delete mode 100755 executable_names/testsuite/expect/test5.5 delete mode 100755 executable_names/testsuite/expect/test5.6 delete mode 100755 executable_names/testsuite/expect/test5.7 delete mode 100755 executable_names/testsuite/expect/test5.8 delete mode 100755 executable_names/testsuite/expect/test6.1 delete mode 100755 executable_names/testsuite/expect/test6.10 delete mode 100755 executable_names/testsuite/expect/test6.11 delete mode 100755 executable_names/testsuite/expect/test6.12 delete mode 100755 executable_names/testsuite/expect/test6.2 delete mode 100755 executable_names/testsuite/expect/test6.3 delete mode 100755 executable_names/testsuite/expect/test6.4 delete mode 100755 executable_names/testsuite/expect/test6.5 delete mode 100755 executable_names/testsuite/expect/test6.6 delete mode 100755 executable_names/testsuite/expect/test6.7 delete mode 100755 executable_names/testsuite/expect/test6.8 delete mode 100755 executable_names/testsuite/expect/test6.9 delete mode 100755 executable_names/testsuite/expect/test7.1 delete mode 100755 executable_names/testsuite/expect/test7.2 delete mode 100644 executable_names/testsuite/expect/test7.2.prog.c delete mode 100755 executable_names/testsuite/expect/test7.3 delete mode 100644 executable_names/testsuite/expect/test7.3.io.c delete mode 100644 executable_names/testsuite/expect/test7.3.prog.c delete mode 100755 executable_names/testsuite/expect/test7.4 delete mode 100644 executable_names/testsuite/expect/test7.4.prog.c delete mode 100755 executable_names/testsuite/expect/test7.5 delete mode 100644 executable_names/testsuite/expect/test7.5.prog.c delete mode 100755 executable_names/testsuite/expect/test7.6 delete mode 100644 executable_names/testsuite/expect/test7.6.prog.c delete mode 100755 executable_names/testsuite/expect/test7.7 delete mode 100644 executable_names/testsuite/expect/test7.7.crypto.c delete mode 100644 executable_names/testsuite/expect/test7.7.prog.c delete mode 100755 executable_names/testsuite/expect/test8.1 delete mode 100755 executable_names/testsuite/expect/test8.2 delete mode 100755 executable_names/testsuite/expect/test8.3 delete mode 100755 executable_names/testsuite/expect/test8.4 delete mode 100644 executable_names/testsuite/expect/test8.4.prog.c delete mode 100755 executable_names/testsuite/expect/test8.5 delete mode 100755 executable_names/testsuite/expect/test8.6 delete mode 100755 executable_names/testsuite/expect/test9.1 delete mode 100755 executable_names/testsuite/expect/test9.2 delete mode 100755 executable_names/testsuite/expect/test9.3 delete mode 100755 executable_names/testsuite/expect/test9.4 delete mode 100755 executable_names/testsuite/expect/test9.5 delete mode 100755 executable_names/testsuite/expect/test9.6 delete mode 100755 executable_names/testsuite/expect/test9.7 delete mode 100755 executable_names/testsuite/expect/test9.7.bash delete mode 100755 executable_names/testsuite/expect/test9.8 delete mode 100755 executable_names/testsuite/expect/usleep delete mode 100644 executable_names/testsuite/slurm_unit/Makefile.am delete mode 100644 executable_names/testsuite/slurm_unit/Makefile.in delete mode 100644 executable_names/testsuite/slurm_unit/api/Makefile.am delete mode 100644 executable_names/testsuite/slurm_unit/api/Makefile.in delete mode 100644 executable_names/testsuite/slurm_unit/api/api-test.c delete mode 100644 executable_names/testsuite/slurm_unit/api/manual/Makefile.am delete mode 100644 executable_names/testsuite/slurm_unit/api/manual/Makefile.in delete mode 100644 executable_names/testsuite/slurm_unit/api/manual/cancel-tst.c delete mode 100644 executable_names/testsuite/slurm_unit/api/manual/complete-tst.c delete mode 100644 executable_names/testsuite/slurm_unit/api/manual/job_info-tst.c delete mode 100644 executable_names/testsuite/slurm_unit/api/manual/node_info-tst.c delete mode 100644 executable_names/testsuite/slurm_unit/api/manual/partition_info-tst.c delete mode 100644 executable_names/testsuite/slurm_unit/api/manual/reconfigure-tst.c delete mode 100644 executable_names/testsuite/slurm_unit/api/manual/submit-tst.c delete mode 100644 executable_names/testsuite/slurm_unit/api/manual/update_config-tst.c delete mode 100644 executable_names/testsuite/slurm_unit/common/Makefile.am delete mode 100644 executable_names/testsuite/slurm_unit/common/Makefile.in delete mode 100644 executable_names/testsuite/slurm_unit/common/bitstring-test.c delete mode 100644 executable_names/testsuite/slurm_unit/common/log-test.c delete mode 100644 executable_names/testsuite/slurm_unit/common/pack-test.c delete mode 100755 executable_names/testsuite/slurm_unit/common/runall.exp delete mode 100644 executable_names/testsuite/slurm_unit/common/runqsw.c delete mode 100644 executable_names/testsuite/slurm_unit/slurmctld/Makefile.am delete mode 100644 executable_names/testsuite/slurm_unit/slurmctld/Makefile.in delete mode 100755 executable_names/testsuite/slurm_unit/slurmctld/security_2_1.py delete mode 100755 executable_names/testsuite/slurm_unit/slurmctld/security_2_2.bash delete mode 100755 executable_names/testsuite/slurm_unit/slurmctld/security_2_2.sh delete mode 100755 executable_names/testsuite/slurm_unit/slurmctld/security_2_4.sh delete mode 100755 executable_names/testsuite/slurm_unit/slurmctld/security_2_5.sh delete mode 100644 executable_names/testsuite/slurm_unit/slurmd/Makefile.am delete mode 100644 executable_names/testsuite/slurm_unit/slurmd/Makefile.in delete mode 100755 executable_names/testsuite/slurm_unit/slurmd/security_3_2.csh diff --git a/executable_names/AUTHORS b/executable_names/AUTHORS deleted file mode 100644 index e0a5f4cad7..0000000000 --- a/executable_names/AUTHORS +++ /dev/null @@ -1,27 +0,0 @@ -Ernest Artiaga -Danny Auble -Susanne Balle -Hongjia Cao -Chuck Clouston -Daniel Christians -Chris Dunlap -Joey Ekstrom -Jim Garlick -Mark Grondona -Christopher Holmes -Takao Hatazaki -Nathan Huff -David Jackson -Greg Johnson -Morris Jette -Jason King -Donna Mecozzi -Chris Morrone -Bryan O'Sullivan -Gennaro Oliva -Daniel Palermo -Dan Phung -Andy Riebs -Jeff Squyres -Keven Tew -Jay Windley diff --git a/executable_names/BUILD.NOTES b/executable_names/BUILD.NOTES deleted file mode 100644 index bbd6e4b918..0000000000 --- a/executable_names/BUILD.NOTES +++ /dev/null @@ -1,169 +0,0 @@ -Simple build/install on Linux: - ./autogen.sh - ./configure --enable-debug \ - --prefix= --sysconfdir= - make - make install - -If you make changes to Makefile.am files, then on _MCR_, run - ./autogen.sh -then check-in the new Makefile.am and Makefile.in files - -Here is a step-by-step HOWTO for creating a new release of SLURM on a -Linux cluster (See BlueGene and AIX specific notes below for some differences). -0. svn co https://eris.llnl.gov/svn/slurm/trunk slurm - svn co https://eris.llnl.gov/svn/chaos/private/buildfarm/trunk buildfarm - put the buildfarm directory in your search path -1. Update NEWS and META files for the new release. In the META file, - the API, Major, Minor, Micro, Version, and Release fields must all - by up-to-date. **** DON'T UPDATE META UNTIL RIGHT BEFORE THE TAG **** - The Release field should always be 1 unless one of - the following is true - - Changes were made to the spec file, documentation, or example - files, but not to code. - - this is a prerelease (Release = 0.preX) -2. Tag the repository with the appropriate name for the new version. - svn copy https://eris.llnl.gov/svn/slurm/trunk \ - https://eris.llnl.gov/svn/slurm/tags/slurm-1-2-0-0-pre3 \ - -m "description" -3. Use the rpm make target to create the new RPMs. This requires a .rpmmacros - (.rpmrc for newer versions of rpmbuild) file containing: - %_slurm_sysconfdir /etc/slurm - %_enable_debug "--enable-debug" - I usually build with using the following syntax: - build -s https://eris.llnl.gov/svn/slurm/tags/slurm-1-2-0-0-pre3 - NOTE: For v1.0 and earlier add: --pre-exec='./autogen.sh' -4. Move the RPMs to - /usr/local/admin/rpms/llnl/RPMS-RHEL4/x86_64 (odevi, or gauss) - /usr/local/admin/rpms/llnl/RPMS-RHEL4/i386/ (mdevi) - /usr/local/admin/rpms/llnl/RPMS-RHEL4/ia64/ (tdevi) - send an announcement email (with the latest entry from the NEWS - file) out to linux-admin@lists.llnl.gov. -5. Copy tagged bzip file (e.g. slurm-0.6.0-0.pre3.bz2) to FTP server - for external SLURM users. -6. Copy bzip file and rpms (including src.rpm) to sourceforge.net: - ncftp upload.sf.net - cd upload - put filename - Use SourceForge admin tool to add new release, including changelog. - -BlueGene build notes: -3. Use the rpm make target to create the new RPMs. This requires a .rpmmacros - (.rpmrc for newer versions of rpmbuild) file containing: - %_slurm_sysconfdir /etc/slurm - %_enable_debug "--enable-debug" - %with_cflags CFLAGS=-m64 - Build on Service Node with using the following syntax - build -s https://eris.llnl.gov/svn/slurm/tags/slurm-1-2-0-0-pre3 - 4. Copy RPMs to /usr/admin/sles/llnl/RPMS-SLES9 - Do _not_ copy the switch-elan, authd-authd, - aix-federation or auth-none RPMs - -To build and run on AIX: -0. svn co https://eris.llnl.gov/svn/slurm/trunk slurm - svn co https://eris.llnl.gov/svn/buildfarm/trunk buildfarm - put the buildfarm directory in your search path - Also, you will need two commands to appear FIRST in your PATH: - - /usr/local/tools/gnu/aix_5_64_fed/bin/install - /usr/local/gnu/bin/tar - - I do this by making symlinks to those commands in the buildfarm directory, - then making the buildfarm directory the first one in my PATH. - Also, make certain that the "proctrack" rpm is installed. -1. export OBJECT_MODE=32 -2. Build with: - ./configure --enable-debug --prefix=/opt/freeware \ - --sysconfdir=/opt/freeware/etc/slurm - --with-ssl=/opt/freeware --with-munge=/opt/freeware - make - make uninstall # remove old shared libraries, aix caches them - make install -3. To build RPMs (NOTE: Many GNU tools are required): - Create a file specifying system specific files: - # - # RPM Macros for use with SLURM on AIX - # The system-wide macros for RPM are in /usr/lib/rpm/macros - # and this overrides a few of them - # - %_prefix /opt/freeware - %_slurm_sysconfdir %{_prefix}/etc/slurm - %_defaultdocdir %{_prefix}/doc - - %_enable_debug "--enable-debug" - %with_ssl "--with-ssl=/opt/freeware" - %with_munge "--with-munge=/opt/freeware" - build -s https://eris.llnl.gov/svn/slurm/tags/slurm-1-2-0-0-pre3 -4. export MP_RMLIB=./slurm_ll_api.so - export CHECKPOINT=yes -5. poe hostname -rmpool debug -6. To debug, set SLURM_LL_API_DEBUG=3 before running poe - will create a file - /tmp/slurm.* - It can also be helpful to use poe options "-ilevel 6 -pmdlog yes" - There will be a log file create named /tmp/mplog.. -7. If you update proctrack, be sure to run "slibclean" to clear cached - version. -8. Install the rpms slurm-*.ppc.rpm, slurm-aix-federation-*.ppc.rpm, - slurm-auth-munge-*.ppc.rpm, slurm-devel-*.ppc.rpm, and - slurm-sched-wiki-*.ppc.rpm in /usr/admin/inst.image/slurm/aix5.3 on an - OCF AIX machine (pdev is a good choice). - -AIX/Federation switch window problems -To clean switch windows: ntblclean =w 8 -a sni0 -To get switch window status: ntblstatus - -BlueGene bglblock boot problem diagnosis - - Logon to the Service Node (bglsn, ubglsn) - - Execute /admin/bglscripts/fatalras - This will produce a list of failures including Rack and Midplane number - R M - - Translate the Rack and Midplane to SLURM node id: smap -R r - - Drain only the bad SLURM node, return others to service using scontrol - -Configuration file update procedures: - - cd /usr/bgl/dist/slurm (on bgli) - - co -l - - vi - - ci -u - - make install - - then run "dist_local slurm" on SN and FENs to update /etc/slurm - -Some RPM commands: - - rpm -querry --all | grep slurm - - rpm --erase package_name - - rpm --install --ignoresize file_name -For main SLURM plugin installation on BGL service node: - - rpm --install --force --nodeps --ignoresize slurm-#.rpm - - -To clear a wedged job: - /bgl/startMMCSconsole - > delete bgljob #### - > free RMP### - -Starting and stopping daemons on Linux: - /etc/init.d/slurm stop - /etc/init.d/slurm start - -Patches: - - cd to the top level src directory - - Run the patch command with epilog_complete.patch as stdin: - patch -p[path_level_to_filter] [--dry-run] < epilog_complete.patch - -CVS and gnats: -Include "gnats: e.g. "(gnats:123)" as part of cvs commit to -automatically record that update in gnats database. NOTE: Does -not change gnats bug state, but records source files associated -with the bug. - -For memory leaks (for AIX use zerofault, zf; for linux use valgrind) - valgrind --tool=memcheck --leak-check=yes --num-callers=6 --leak-resolution=med ./slurmctld - -Before new major release: - - Test on ia64, i386, BGL, AIX, OSX, XCPU - - Test for memory leaks in slurmctld and slurmd - - Change API version number - - Review and release web pages - - Review and release code - - Run "make check" - diff --git a/executable_names/COPYING b/executable_names/COPYING deleted file mode 100644 index 4938ad9338..0000000000 --- a/executable_names/COPYING +++ /dev/null @@ -1,382 +0,0 @@ -All SLURM code and documentation is available under the GNU General Public -License. - -In addition, as a special exception, the copyright holders give permission -to link the code of portions of this program with the OpenSSL library under -certain conditions as described in each individual source file, and distribute -linked combinations including the two. You must obey the GNU General Public -License in all respects for all of the code used other than OpenSSL. If you -modify file(s) with this exception, you may extend this exception to your -version of the file(s), but you are not obligated to do so. If you do not -wish to do so, delete this exception statement from your version. If you -delete this exception statement from all source files in the program, then -also delete it here. - -============================================================================= - -OUR NOTICE AND TERMS OF AND CONDITIONS OF THE GNU GENERAL PUBLIC LICENSE - -Our Preamble Notice - -A. This notice is required to be provided under our contract with the U.S. -Department of Energy (DOE). This work was produced at the University -of California, Lawrence Livermore National Laboratory under Contract -No. W-7405-ENG-48 with the DOE. - -B. Neither the United States Government nor the University of California -nor any of their employees, makes any warranty, express or implied, or -assumes any liability or responsibility for the accuracy, completeness, or -usefulness of any information, apparatus, product, or process disclosed, or -represents that its use would not infringe privately-owned rights. - -C. Also, reference herein to any specific commercial products, process, or -services by trade names, trademark, manufacturer or otherwise does not -necessarily constitute or imply its endorsement, recommendation, or -favoring by the United States Government or the University of California. -The views and opinions of authors expressed herein do not necessarily -state or reflect those of the United States Government or the University of -California, and shall not be used for advertising or product endorsement -purposes. - -============================================================================= - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/executable_names/ChangeLog b/executable_names/ChangeLog deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/executable_names/DISCLAIMER b/executable_names/DISCLAIMER deleted file mode 100644 index 47cf0c61a2..0000000000 --- a/executable_names/DISCLAIMER +++ /dev/null @@ -1,75 +0,0 @@ -Copyright (C) 2002-2006 The Regents of the University of California. -Produced at Lawrence Livermore National Laboratory, Hewlett-Packard, -Linux NetworX, and other sites. - -Written by: -Ernest Artiaga -Danny Auble -Susanne Balle -Daniel Christians -Chris Dunlap -Joey Ekstrom -Jim Garlick -Mark Grondona -Christopher Holmes -Takae Hatazaki -Nathan Huff -David Jackson -Greg Johnson -Morris Jette -Jason King -Chris Morrone -Brian O'Sullivan -Daniel Palermo -Dan Phung -Andy Riebs -Jeff Squyres -Keven Tew -Jay Windley - -UCRL-CODE-217948. - -This file is part of SLURM, a resource management program. -For details, see . - -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. - -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -You should have received a copy of the GNU General Public License along -with SLURM; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - -OUR NOTICE AND TERMS OF AND CONDITIONS OF THE GNU GENERAL PUBLIC LICENSE - -Our Preamble Notice - -A. This notice is required to be provided under our contract with the U.S. -Department of Energy (DOE). This work was produced at the University -of California, Lawrence Livermore National Laboratory under Contract -No. W-7405-ENG-48 with the DOE. - -B. Neither the United States Government nor the University of California -nor any of their employees, makes any warranty, express or implied, or -assumes any liability or responsibility for the accuracy, completeness, or -usefulness of any information, apparatus, product, or process disclosed, or -represents that its use would not infringe privately-owned rights. - -C. Also, reference herein to any specific commercial products, process, or -services by trade names, trademark, manufacturer or otherwise does not -necessarily constitute or imply its endorsement, recommendation, or -favoring by the United States Government or the University of California. -The views and opinions of authors expressed herein do not necessarily -state or reflect those of the United States Government or the University of -California, and shall not be used for advertising or product endorsement -purposes. - -The precise terms and conditions for copying, distribution and modification -is provided in the file named "COPYING" in this directory. diff --git a/executable_names/INSTALL b/executable_names/INSTALL deleted file mode 100644 index ce83b00cf5..0000000000 --- a/executable_names/INSTALL +++ /dev/null @@ -1,228 +0,0 @@ -Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software -Foundation, Inc. - - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is -disabled by default to prevent problems with accidental use of stale -cache files.) - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for variables by setting -them in the environment. You can do that on the command line like this: - - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the `--target=TYPE' option to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -will cause the specified gcc to be used as the C compiler (unless it is -overridden in the site shell script). - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff --git a/executable_names/LICENSE.OpenSSL b/executable_names/LICENSE.OpenSSL deleted file mode 100644 index 1c9a88bb8d..0000000000 --- a/executable_names/LICENSE.OpenSSL +++ /dev/null @@ -1,169 +0,0 @@ -/* - * (c) 2002, 2003, 2004 by Jason McLaughlin and Riadh Elloumi - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * is provided AS IS, WITHOUT ANY WARRANTY; without even the implied - * warranty of MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, and - * NON-INFRINGEMENT. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * In addition, as a special exception, the copyright holders give - * permission to link the code of portions of this program with the - * OpenSSL library under certain conditions as described in each - * individual source file, and distribute linked combinations - * including the two. - * You must obey the GNU General Public License in all respects - * for all of the code used other than OpenSSL. If you modify - * file(s) with this exception, you may extend this exception to your - * version of the file(s), but you are not obligated to do so. If you - * do not wish to do so, delete this exception statement from your - * version. If you delete this exception statement from all source - * files in the program, then also delete it here. - */ - -Certain source files in this program permit linking with the OpenSSL -library (http://www.openssl.org), which otherwise wouldn't be allowed -under the GPL. For purposes of identifying OpenSSL, most source files -giving this permission limit it to versions of OpenSSL having a license -identical to that listed in this file (LICENSE.OpenSSL). It is not -necessary for the copyright years to match between this file and the -OpenSSL version in question. However, note that because this file is -an extension of the license statements of these source files, this file -may not be changed except with permission from all copyright holders -of source files in this program which reference this file. - - - LICENSE ISSUES - ============== - - The OpenSSL toolkit stays under a dual license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. Actually both licenses are BSD-style - Open Source licenses. In case of any license issues related to OpenSSL - please contact openssl-core@openssl.org. - - OpenSSL License - --------------- - -/* ==================================================================== - * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - - Original SSLeay License - ----------------------- - -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ diff --git a/executable_names/META b/executable_names/META deleted file mode 100644 index 211c855d72..0000000000 --- a/executable_names/META +++ /dev/null @@ -1,17 +0,0 @@ -## -# $Id$ -## -# Metadata for RPM/TAR makefile targets -## -# See src/api/Makefile.am for guidance on setting API_ values -## - Meta: 1 - Name: slurm - Major: 1 - Minor: 2 - Micro: 0 - Version: 1.2.0 - Release: 0.pre5 - API_CURRENT: 10 - API_AGE: 0 - API_REVISION: 0 diff --git a/executable_names/Makefile.am b/executable_names/Makefile.am deleted file mode 100644 index 630d606a24..0000000000 --- a/executable_names/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ - -AUTOMAKE_OPTIONS = foreign -ACLOCAL_AMFLAGS = -I auxdir -SUBDIRS = auxdir src testsuite doc - -EXTRA_DIST = \ - etc/bluegene.conf.example \ - etc/federation.conf.example \ - etc/slurm.conf.example \ - etc/slurm.epilog.clean \ - etc/init.d.slurm \ - etc/ptrace.patch \ - autogen.sh \ - slurm.spec \ - README \ - RELEASE_NOTES \ - DISCLAIMER \ - COPYING \ - AUTHORS \ - INSTALL \ - LICENSE.OpenSSL \ - NEWS \ - ChangeLog \ - META \ - config.xml - -pkginclude_HEADERS = \ - slurm/pmi.h \ - slurm/slurm.h \ - slurm/slurm_errno.h \ - slurm/spank.h - -MAINTAINERCLEANFILES = \ - aclocal.m4 config.guess config.xml \ - config.h.in config.sub configure install-sh \ - ltconfig ltmain.sh missing mkinstalldirs \ - slurm/slurm.h \ - stamp-h.in - -distclean-local: - -(cd $(top_srcdir) && rm -rf autom4te*.cache autoscan.*) - -(cd $(top_srcdir) && rm -rf $(PACKAGE)-*) - -mrproper: distclean-local clean - -(cd $(top_srcdir) && rm -rf autom4te.cache config.h config.log) - -(cd $(top_srcdir) && rm -rf config.status libtool stamp-h1) - -(cd $(top_srcdir)/auxdir && rm -rf mkinstalldirs) - -(cd $(top_srcdir)/slurm && rm -rf stamp-h2 slurm.h) - -find $(top_srcdir)/src -name "Makefile" -exec rm {} \; - -find $(top_srcdir) -depth -name ".deps" -exec rm -rf {} \; - diff --git a/executable_names/Makefile.in b/executable_names/Makefile.in deleted file mode 100644 index a0970a16df..0000000000 --- a/executable_names/Makefile.in +++ /dev/null @@ -1,790 +0,0 @@ -# Makefile.in generated by automake 1.9 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_triplet = @host@ -subdir = . -DIST_COMMON = README $(am__configure_deps) $(pkginclude_HEADERS) \ - $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/config.h.in $(srcdir)/config.xml.in \ - $(top_srcdir)/configure $(top_srcdir)/slurm/slurm.h.in AUTHORS \ - COPYING ChangeLog INSTALL NEWS -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/auxdir/acx_pthread.m4 \ - $(top_srcdir)/auxdir/slurm.m4 \ - $(top_srcdir)/auxdir/x_ac__system_configuration.m4 \ - $(top_srcdir)/auxdir/x_ac_affinity.m4 \ - $(top_srcdir)/auxdir/x_ac_aix.m4 \ - $(top_srcdir)/auxdir/x_ac_bluegene.m4 \ - $(top_srcdir)/auxdir/x_ac_debug.m4 \ - $(top_srcdir)/auxdir/x_ac_elan.m4 \ - $(top_srcdir)/auxdir/x_ac_federation.m4 \ - $(top_srcdir)/auxdir/x_ac_gpl_licensed.m4 \ - $(top_srcdir)/auxdir/x_ac_gtk.m4 \ - $(top_srcdir)/auxdir/x_ac_munge.m4 \ - $(top_srcdir)/auxdir/x_ac_ncurses.m4 \ - $(top_srcdir)/auxdir/x_ac_pam.m4 \ - $(top_srcdir)/auxdir/x_ac_ptrace.m4 \ - $(top_srcdir)/auxdir/x_ac_readline.m4 \ - $(top_srcdir)/auxdir/x_ac_setpgrp.m4 \ - $(top_srcdir)/auxdir/x_ac_setproctitle.m4 \ - $(top_srcdir)/auxdir/x_ac_sgi_job.m4 \ - $(top_srcdir)/auxdir/x_ac_slurm_ssl.m4 \ - $(top_srcdir)/auxdir/x_ac_xcpu.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno configure.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h $(top_builddir)/slurm/slurm.h -CONFIG_CLEAN_FILES = config.xml -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(pkgincludedir)" -pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER) -HEADERS = $(pkginclude_HEADERS) -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTHD_CFLAGS = @AUTHD_CFLAGS@ -AUTHD_LIBS = @AUTHD_LIBS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BG_INCLUDES = @BG_INCLUDES@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CMD_LDFLAGS = @CMD_LDFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG_MODULES_FALSE = @DEBUG_MODULES_FALSE@ -DEBUG_MODULES_TRUE = @DEBUG_MODULES_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ELAN_LIBS = @ELAN_LIBS@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FEDERATION_LDFLAGS = @FEDERATION_LDFLAGS@ -FFLAGS = @FFLAGS@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -HAVEPKGCONFIG = @HAVEPKGCONFIG@ -HAVE_AIX = @HAVE_AIX@ -HAVE_AIX_FALSE = @HAVE_AIX_FALSE@ -HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@ -HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@ -HAVE_AIX_TRUE = @HAVE_AIX_TRUE@ -HAVE_ELAN = @HAVE_ELAN@ -HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@ -HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@ -HAVE_FEDERATION = @HAVE_FEDERATION@ -HAVE_FEDERATION_FALSE = @HAVE_FEDERATION_FALSE@ -HAVE_FEDERATION_TRUE = @HAVE_FEDERATION_TRUE@ -HAVE_GTK_FALSE = @HAVE_GTK_FALSE@ -HAVE_GTK_TRUE = @HAVE_GTK_TRUE@ -HAVE_NUMA_FALSE = @HAVE_NUMA_FALSE@ -HAVE_NUMA_TRUE = @HAVE_NUMA_TRUE@ -HAVE_PAM_FALSE = @HAVE_PAM_FALSE@ -HAVE_PAM_TRUE = @HAVE_PAM_TRUE@ -HAVE_SCHED_SETAFFINITY_FALSE = @HAVE_SCHED_SETAFFINITY_FALSE@ -HAVE_SCHED_SETAFFINITY_TRUE = @HAVE_SCHED_SETAFFINITY_TRUE@ -HAVE_SGI_JOB_FALSE = @HAVE_SGI_JOB_FALSE@ -HAVE_SGI_JOB_TRUE = @HAVE_SGI_JOB_TRUE@ -HAVE_SOME_CURSES = @HAVE_SOME_CURSES@ -HAVE_SOME_CURSES_FALSE = @HAVE_SOME_CURSES_FALSE@ -HAVE_SOME_CURSES_TRUE = @HAVE_SOME_CURSES_TRUE@ -HAVE_UNSETENV_FALSE = @HAVE_UNSETENV_FALSE@ -HAVE_UNSETENV_TRUE = @HAVE_UNSETENV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_LDFLAGS = @LIB_LDFLAGS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MUNGE_CPPFLAGS = @MUNGE_CPPFLAGS@ -MUNGE_LDFLAGS = @MUNGE_LDFLAGS@ -MUNGE_LIBS = @MUNGE_LIBS@ -NCURSES = @NCURSES@ -NUMA_LIBS = @NUMA_LIBS@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PAM_LIBS = @PAM_LIBS@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PROCTRACKDIR = @PROCTRACKDIR@ -PROJECT = @PROJECT@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -READLINE_LIBS = @READLINE_LIBS@ -RELEASE = @RELEASE@ -SEMAPHORE_LIBS = @SEMAPHORE_LIBS@ -SEMAPHORE_SOURCES = @SEMAPHORE_SOURCES@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SLURMCTLD_PORT = @SLURMCTLD_PORT@ -SLURMD_PORT = @SLURMD_PORT@ -SLURM_API_AGE = @SLURM_API_AGE@ -SLURM_API_CURRENT = @SLURM_API_CURRENT@ -SLURM_API_MAJOR = @SLURM_API_MAJOR@ -SLURM_API_REVISION = @SLURM_API_REVISION@ -SLURM_API_VERSION = @SLURM_API_VERSION@ -SLURM_MAJOR = @SLURM_MAJOR@ -SLURM_MICRO = @SLURM_MICRO@ -SLURM_MINOR = @SLURM_MINOR@ -SLURM_VERSION = @SLURM_VERSION@ -SO_LDFLAGS = @SO_LDFLAGS@ -SSL_CPPFLAGS = @SSL_CPPFLAGS@ -SSL_LDFLAGS = @SSL_LDFLAGS@ -SSL_LIBS = @SSL_LIBS@ -STRIP = @STRIP@ -VERSION = @VERSION@ -WITH_AUTHD_FALSE = @WITH_AUTHD_FALSE@ -WITH_AUTHD_TRUE = @WITH_AUTHD_TRUE@ -WITH_GNU_LD_FALSE = @WITH_GNU_LD_FALSE@ -WITH_GNU_LD_TRUE = @WITH_GNU_LD_TRUE@ -WITH_MUNGE_FALSE = @WITH_MUNGE_FALSE@ -WITH_MUNGE_TRUE = @WITH_MUNGE_TRUE@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -AUTOMAKE_OPTIONS = foreign -ACLOCAL_AMFLAGS = -I auxdir -SUBDIRS = auxdir src testsuite doc -EXTRA_DIST = \ - etc/bluegene.conf.example \ - etc/federation.conf.example \ - etc/slurm.conf.example \ - etc/slurm.epilog.clean \ - etc/init.d.slurm \ - etc/ptrace.patch \ - autogen.sh \ - slurm.spec \ - README \ - RELEASE_NOTES \ - DISCLAIMER \ - COPYING \ - AUTHORS \ - INSTALL \ - LICENSE.OpenSSL \ - NEWS \ - ChangeLog \ - META \ - config.xml - -pkginclude_HEADERS = \ - slurm/pmi.h \ - slurm/slurm.h \ - slurm/slurm_errno.h \ - slurm/spank.h - -MAINTAINERCLEANFILES = \ - aclocal.m4 config.guess config.xml \ - config.h.in config.sub configure install-sh \ - ltconfig ltmain.sh missing mkinstalldirs \ - slurm/slurm.h \ - stamp-h.in - -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -am--refresh: - @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ - cd $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) stamp-h1; \ - else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_srcdir) && $(AUTOHEADER) - rm -f stamp-h1 - touch $@ - -slurm/slurm.h: slurm/stamp-h2 - @if test ! -f $@; then \ - rm -f slurm/stamp-h2; \ - $(MAKE) slurm/stamp-h2; \ - else :; fi - -slurm/stamp-h2: $(top_srcdir)/slurm/slurm.h.in $(top_builddir)/config.status - @rm -f slurm/stamp-h2 - cd $(top_builddir) && $(SHELL) ./config.status slurm/slurm.h - -distclean-hdr: - -rm -f config.h stamp-h1 slurm/slurm.h slurm/stamp-h2 -config.xml: $(top_builddir)/config.status $(srcdir)/config.xml.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-pkgincludeHEADERS: $(pkginclude_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)" - @list='$(pkginclude_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \ - $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \ - done - -uninstall-pkgincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(pkginclude_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \ - rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \ - done - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(am__remove_distdir) - mkdir $(distdir) - $(mkdir_p) $(distdir)/. $(distdir)/auxdir $(distdir)/doc/html $(distdir)/etc $(distdir)/slurm - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' -distuninstallcheck: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(HEADERS) config.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(pkgincludedir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-local distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: install-pkgincludeHEADERS - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am uninstall-pkgincludeHEADERS - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ - check-am clean clean-generic clean-libtool clean-recursive \ - ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ - dist-shar dist-tarZ dist-zip distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-local distclean-recursive distclean-tags \ - distcleancheck distdir distuninstallcheck dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-pkgincludeHEADERS \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-pkgincludeHEADERS - - -distclean-local: - -(cd $(top_srcdir) && rm -rf autom4te*.cache autoscan.*) - -(cd $(top_srcdir) && rm -rf $(PACKAGE)-*) - -mrproper: distclean-local clean - -(cd $(top_srcdir) && rm -rf autom4te.cache config.h config.log) - -(cd $(top_srcdir) && rm -rf config.status libtool stamp-h1) - -(cd $(top_srcdir)/auxdir && rm -rf mkinstalldirs) - -(cd $(top_srcdir)/slurm && rm -rf stamp-h2 slurm.h) - -find $(top_srcdir)/src -name "Makefile" -exec rm {} \; - -find $(top_srcdir) -depth -name ".deps" -exec rm -rf {} \; -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/executable_names/NEWS b/executable_names/NEWS deleted file mode 100644 index f53fb4809b..0000000000 --- a/executable_names/NEWS +++ /dev/null @@ -1,2026 +0,0 @@ -This file describes changes in recent versions of SLURM. It primarily -documents those changes that are of interest to users and admins. - -* Changes in SLURM 1.2.0-pre6 -============================= - -- Maintain actually job step run time with suspend/resume use. - -- Allow slurm.conf options to appear multiple times. SLURM will use the - last instance of any particular option. - -- Add version number to node state save file. Will not recover node - state information on restart from older version. - -* Changes in SLURM 1.2.0-pre5 -============================= - -- Patch from HP patch.1.2.0.pre4.061017.crcore_hints, supports cores as - consumable resource. - -* Changes in SLURM 1.2.0-pre4 -============================= - -- Added node_inx to job_step_info_t to get the node indecies for mapping out - steps in a job by nodes. - -- sview grid added - -- BLUEGENE node_inx added to blocks for reference. - -- Automatic CPU_MASK generation for task launch, new srun option -B. - -- Automatic logical to physical processor identification and mapping. - -- Added new srun options to --cpu_bind: sockets, cores, and threads - -- Updated select/cons_res to operate as socket granularity. - -- New srun task distribution options to -m: plane - -- Multi-core support in sinfo, squeue, and scontrol. - -- Memory can be treated as a consumable resource. - -- New srun options --ntasks-per-[node|socket|core]. - -* Changes in SLURM 1.2.0-pre3 -============================= - -- Remove configuration parameter ShedulerAuth (defunct). - -- Add NextJobId to "scontrol show config" output. - -- Add new slurm.conf parameter MailProg. - -- New forwarding logic. New recieve_msg functions depending on what you - are expecting to get back. No srun_node_id anymore passed around in - a slurm_msg_t - -- Remove sched/wiki plugin (use sched/wiki2 for now) - -- Disable pthread_create() for PMI_send when TotalView is running for - better performance. - -- Fixed certain tests in test suite to not run with bluegene or front-end - systems - -- Removed addresses from slurm_step_layout_t - -- Added new job field, "comment". Set by srun, salloc and sbatch. See - with "scontrol show job". Used in sched/wiki2. - -- Report a job's exit status in "scontrol show job". - -- In sched/wiki2: add support for JOBREQUEUE command. - -* Changes in SLURM 1.2.0-pre2 -============================= - -- Added function slurm_init_slurm_msg to be used to init any slurm_msg_t - you no longer need do any other type of initialization to the type. - -* Changes in SLURM 1.2.0-pre2 -============================= - -- Fixed task dist to work with hostfile and warn about asking for more tasks - than you have nodes for in arbitray mode. - -- Added "account" field to job and step accounting information and sacct output. - -- Moved task layout to slurmctld instead of srun. Job step create returns - step_layout structure with hostnames and addresses that corrisponds - to those nodes. - -- Changed api slurm_lookup_allocation params, - resource_allocation_response_msg_t changed to job_alloc_info_response_msg_t - this structure is being renamed so contents are the same. - -- alter resource_allocation_response_msg_t see slurm.h.in - -- remove old_job_alloc_msg_t and function slurm_confirm_alloc - -- Slurm configuration files now support an "Include" directive to - include other files inline. - -- BLUEGENE New --enable-bluegene-emulation configure parameter to allow - running system in bluegene emulation mode. Only - really useful for developers. - -- New added new tool sview GUI for displaying slurm info. - -- fixed bug in step layout to lay out tasks correctly - -* Changes in SLURM 1.2.0-pre1 -============================= - -- Fix bug that could run a job's prolog more than once - -- Permit batch jobs to be requeued, scontrol requeue - -- Send overcommit flag from srun in RPCs and have slurmd set SLURM_OVERCOMMIT - flag at batch job launch time. - -- Added new configuration parameter MessageTimeout (replaces #define in - the code) - -- Added support for OSX build. - -* Changes in SLURM 1.1.18 -========================= - - In sched/wiki2, add support for EHost and EHostBackup configuration - parameters in wiki.conf file - - In sched/wiki2, fix memory management bug for JOBWILLRUN command. - - In sched/wiki2, consider job Busy while in Completing state for - KillWait+10 seconds (used to be 30 seconds). - - BLUEGENE - Fixes to allow full block creation on the system and not to add - passthrough nodes to the allocation when creating a block. - - BLUEGENE - Fix deadlock issue with starting and failing jobs at the same - time - - Make connect() non-blocking and poll() with timeout to avoid huge - waits under some conditions. - - Set "ENVIRONMENT=BATCH" environment variable for "srun --batch" jobs only. - -* Changes in SLURM 1.1.17 -========================= - - BLUEGENE - fix to make dynamic partitioning not go create block where - there are nodes that are down or draining. - - Fix srun's default node count with an existing allocation when neither - SLURM_NNODES nor -N are set. - - Stop srun from setting SLURM_DISTRIBUTION under job steps when a - specific was not explicitly requested by the user. - -* Changes in SLURM 1.1.16 -========================= - - BLUEGENE - fix to make prolog run 5 minutes longer to make sure we have - enough time to free the overlapping blocks when starting a new job on a - block. - - BLUEGENE - edit to the libsched_if.so to read env and look at - MPIRUN_PARTITION to see if we are in slurm or running mpirun natively. - - Plugins are now dlopened RTLD_LAZY instead of RTLD_NOW. - -* Changes in SLURM 1.1.15 -========================= - - BLUEGENE - fix to be able to create static partitions - - Fixed fanout timeout logic. - - Fix for slurmctld timeout on outgoing message (Hongjia Cao, NUDT.edu.cn). - -* Changes in SLURM 1.1.14 -========================= - - In sched/wiki2: report job/node id and state only if no changes since - time specified in request. - - In sched/wiki2: include a job's exit code in job state information. - - In sched/wiki2: add event notification logic on job submit and completion. - - In sched/wiki2: add support for JOBWILLRUN command type. - - In sched/wiki2: for job info, include required HOSTLIST if applicable. - - In sched/wiki2: for job info, replace PARTITIONMASK with RCLASS (report - partition name associated with a job, but no task count) - - In sched/wiki2: for job and node info, report all data if TS==0, - volitile data if TS<=update_time, state only if TS>update_time - - In sched/wiki2: add support for CMD=JOBSIGNAL ARG=jobid SIGNAL=name or # - - In sched/wiki2: add support for CMD=JOBMODIFY ARG=jobid [BANK=name] - [TIMELIMIT=minutes] [PARTITION=name] - - In sched/wiki2: add support for CMD=INITIALIZE ARG=[USEHOSTEXP=T|F] - [EPORT=#]; RESPONSE=EPORT=# USEHOSTEXP=T - - In sched/wiki2: fix memory leak. - - Fix sinfo node state filtering when asking for idle nodes that are also - draining. - - Add Fortran extension to slurm_get_rem_time() API. - - Fix bug when changing the time limit of a running job that has previously - been suspended (formerly failed to account for suspend time in setting - termination time). - - fix for step allocation to be able to specify only a few nodes in a - step and ask for more that specified. - - patch from Hongjia Cao for forwarding logic - - BLUEGENE - able to allocate specific nodes without locking up. - - BLUEGENE - better tracking of blocks that are created dynamically, - less hitting the db2. - -* Changes in SLURM 1.1.13 -========================= - - Fix hang in sched/wiki2 if Moab stops responding responding when - response is outgoing. - - BLUEGENE - fix to make sure the block is good to go when picking it - - BLUEGENE - add libsched_if.so so mpirun doesn't try to create a block - by itself. - - Enable specification of srun --jobid=# option with --batch (for user root). - - Verify that job actually starts when requested by sched/wiki2. - - Add new wiki.conf parameters: EPort and JobAggregationTime for event - notification logic (see wiki.conf man page for details) - -* Changes in SLURM 1.1.12 -========================= - - Sched/wiki2 to report a job's account as COMMENT response to GETJOBS - request. - - Add srun option "--comment" (maps to job account until slurm v1.2, - needed for Moab scheduler functionality). - - fixed some timeout issues in the controller hopefully stopping all the - issues with excessive timeouts. - - unit conversion (i.e. 1024 => 1k) only happens on bgl systems for node - count. - - Sched/wiki2 to report a job's COMPETETIME and SUSPENDTIME in GETJOBS - response. - - Added support for Mellanox's version of mvapich-0.9.7. - -* Changes in SLURM 1.1.11 -========================= - - Update file headers adding permission to link with OpenSSL. - - Enable sched/wiki2 message authentication. - - Fix libpmi compilation issue. - - Remove "gcc-c++ python" from slurm.spec BuildRequires. It breaks - the AIX build, so we'll have to find another way to deal with that. - -* Changes in SLURM 1.1.10 -========================= - -- task distribution fix for steps that are smaller than job allocation. - -- BLUEGENE - fix to only send a success when block was created when trying - to allocate the block. - -- fix so if slurm_send_recv_node_msg fails on the send the auth_cred returned - by the resp is NULL. - -- Fix switch/federation plugin so backup controller can assume control - repeatedly without leaking or corrupting memory. - -- Add new error code (for Maui/Moab scheduler): ESLURM_JOB_HELD - -- Tweak slurmctld's node ping logic to better handle failed nodes with - hierarchical communications fail-over logic. - -- Add support for sched/wiki specific configuration file "wiki.conf". - -- Added sched/wiki2 plugin (new experimental wiki plugin). - -* Changes in SLURM 1.1.9 -======================== - -- BLUEGENE - fix to handle a NO_VAL sent in as num procs in the job - description. - -- Fix bug in slurmstepd code for parsing --multi-prog command script. - Parser was failing for commands with no arguments. - -- Fix bug to check unsigned ints correctly in bitstring.c - -- Alter node count covert to kilo to only convert number divisible by - 1024 or 512 - -* Changes in SLURM 1.1.8 -======================== - -- Added bug fixes (fault-tolerance and memory leaks) from Hongjia Cao - - -- Gixed some potential BLUEGENE issues with the bridge log file not having - a mutex around the fclose and fopen. - -- BLUEGENE - srun -n procs now regristers correctly - -- Fixed problem with reattach double allocating step_layout->tids - -- BLUEGENE - fix race condition where job is finished before it starts. - -* Changes in SLURM 1.1.7 -======================== - -- BLUEGENE - fixed issue with doing an allocation for nodes since asking - for 32,128, or 512 all mean 1 to the controller. - -- Add "Include" directive to slurm.conf files. If "Include" is found - at the beginning of a line followed by whitespace and then - the full path to a file, that file is included inline with the current - slurm.conf file. - -* Changes in SLURM 1.1.6 -======================== - -- Improved task layout for relative positions - -- Fixed heterogeous cpu overcommit issue - -- Fix bug where srun would hang if it ran on one node and that - node's slurmd died - -- Fix bug where srun task layout would be bad when min-max node range is - specified (e.g. "srun -N1-4 ...") - -- Made slurmctld_conf.node_prefix only be set on Bluegene systems. - -- Fixed a race condition in the controller to make it so a plugin thread - wouldn't be able to access the slurmctld_conf structure before it was - filled. - -* Changes in SLURM 1.1.5 -======================== - -- Ignore partition's MaxNodes for SlurmUser and root. - -- Fix possible memory corruption with use of PMI_KVS_Create call. - -- Fix race condition when multiple PMI_KVS_Barrier calls. - -- Fix logic in which slurmctld outgoing RPC requests could get delayed. - -- Fix logic for laying out steps without a hostlist. - -* Changes in SLURM 1.1.4 -======================== - -- Improve error handling in hierarchical communications logic. - -* Changes in SLURM 1.1.3 -======================== - -- Fix big-endian bug in the bitstring code which plagued AIX. - -- Fix bug in handling srun's --multi-prog option, could go off end of buffer. - -- Added support for job step completion (and switch window release) on - subset of allocated nodes. - -- BLUEGENE - removed configure option --with-bg-link bridge is linked with - dlopen now no longer needing fake database so files on frontend node. - -- BLUEGENE - implemented use of rm_get_partition_info instead of - ...partitions_info which has made a much better design improving stability. - -- Streamline PMI communications and increase timeouts for highly parallel - jobs. Improves scalability of PMI. - -* Changes in SLURM 1.1.2 -======================== - -- Fix bug in jobcomp/filetxt plugin to report proper NodeCnt when a job - fails due to a node failure. - -- Fix Bluegene configure to work with the new 64bit libs. - -- Fix bug in controller that causes it to segfault when hit with a malformed - message. - -- For "srun --attach=X" to other users job, report an error and exit (it - previously just hung). - -- BLUEGENE - fix for doing correct small block logic on user error. - -- BLUEGENE - Added support in slurmd to create a fake libdb2.so if it - doesn't exist so smap won't seg fault - -- BLUEGENE - "scontrol show job" reports "MaxProcs=None" and "Start=None" - if values are not specified at job submit time - -- Add retry logic for PMI communications, may be needed for highly parallel - jobs. - -- Fix bug in slurmd where variable is used in logging message after freed - (slurmstepd rank info). - -- Fix bug in scontrol show daemons if NodeName=localhost will work now to - display slurmd as place where it is running. - -- Patch from HP for init nodes before init_bitmaps - -- ctrl-c killed sruns will result in job state as cancelled instead of - completed. - -- BLUEGENE - added configure option --with-bg-link to choose dynamic linking - or static linking with the bridgeapi. - -* Changes in SLURM 1.1.1 -======================== - -- Fix bug in packing job suspend/resume RPC. - -- If a user breaks out of srun before the allocation takes place, mark the - job as CANCELLED rather than COMPLETED and change its start and end time - to that time. - -- Fix bug in PMI support that prevented use of second PMI_Barrier call. - This fix is needed for MVAPICH2 use. - -- Add "-V" options to slurmctld and slurmd to print version number and exit. - -- Fix scalability bug in sbcast. - -- Fix bug in cons_res allocation strategy. - -- Fix bug in forwarding with mpi - -- Fix bug sacct forwarding with stat option - -- Added nodeid to sacct stat information - -- cleaned up way slurm_send_recv_node_msg works no more clearing errno - -- Fix error handling bug in the networking code that causes the slurmd to - xassert if the server is not running when the slurmd tries to register. - -* Changes in SLURM 1.1.0 -======================== - -- Fix bug that could temporarily make nodes DOWN when they are really - responding. - -- Fix bug preventing backup slurmctld from responding to PING RPCs. - -- Set "CFLAGS=-DISO8601" before configuration to get ISO8601 format - times for all SLURM commands. NOTE: This may break Moab, Maui, and/or - LSF schedulers. - -- Fix for srun -n and -O options when paired with -b. - -- Added logic for fanout to failover to forward list if main node is - unreachable - -- sacct also now keeps track of submitted, started and ending times of jobs - -- reinit config file mutex at beginning of slurmstepd to avoid fork issues - -* Changes in SLURM 1.1.0-pre8 -============================= - -- Fix bug in enforcement of partition's MaxNodes limit. - -- BLUEGENE - added support for srun -w option also fixed the geometry option - for srun. - -* Changes in SLURM 1.1.0-pre7 -============================= - -- Accounting works for aix systems, use jobacct/aix - -- Support large (over 2GB) files on 32-bit linux systems - -- changed all writes to safe_write in srun - -- added $float to globals.example in the testsuite - -- Set job's num_proc correctly for jobs that do not have exclusive use - of it's allocated nodes. - -- Change in support for test suite: 'testsuite/expect/globals.example' - is now 'testsuite/expect/globals' and you can override variable - settings with a new file 'testsuite/expect/globals.local'. - -- Job suspend now sends SIGTSTP, sleep(1), sends SIGSTOP for better - MPI support. - -- Plug a bunch of memory leaks in various places. - -- Bluegene - before assigning a job to a block the plugin will check the bps - to make sure they aren't in error state. - -- Change time format in job completion logging (JobCompType=jobcomp/filetxt) - from "MM/DD HH:MM:SS" to "YYYY-MM-DDTHH:MM:SS", conforming with the ISO8601 - standard format. - -* Changes in SLURM 1.1.0-pre6 -============================= - -- Added logic to "stat" a running job with sacct option -S use -j to specify - job.step - -- removed jobacct/bluegene (no real need for this) meaning, I don't think - there is a way to gather the data yet. - -- Added support for mapping "%h" in configured SlurmdLog to the hostname. - -- Add PropagatePrioProcess to control propagation of a user's nice value - to spawned tasks (based upon work by Daniel Christians, HP). - -* Changes in SLURM 1.1.0-pre5 -============================= - -- Added step completion RPC logic - -- Vastly changed sacct and the jobacct plugin. Read documentation for full - details. - -- Added jobacct plugin for AIX and BlueGene, they currently don't work, - but infrastructure is in place. - -- Add support for srun option --ctrl-comm-ifhn to set PMI communications - address (Hongjia Cao, National University of Defense Technology). - -- Moved safe_read/write to slurm_protocol_defs.h removing multiple copies. - -- Remove vestigial functions slurm_allocate_resources_and_run() and - slurm_free_resource_allocation_and_run_response_msg(). - -- Added support for different executable files and arguments by task based - upon a configuration file. See srun's --multi-prog option (based upon - work by Hongjia Cao, National University of Defense Technology). - -- moved the way forward logic waited for fanout logic mostly eliminating - problems with scalability issues. - -- changed -l option in sacct to display different params see sacct/sacct.h - for details. - -* Changes in SLURM 1.1.0-pre4 -============================= - -- Bluegene specific - Added support to set bluegene block state to - free/error via scontrol update BlockName - -- Add needed symbol to select/bluegene in order to load plugin. - -* Changes in SLURM 1.1.0-pre3 -============================= - -- Added framework for XCPU job launch support. - -- New general configuration file parser and slurm.conf handling code. - Allows long lines to be continued on the next line by ending with a "\". - Whitespace is allowed between the key and "=", and between the "=" and - value. - WARNING: A NodeName may now occur only once in a slurm.conf file. - If you want to temporarily make nodes DOWN in the slurm.conf, - use the new DownNodes keyword (see "man slurm.conf"). - -- Gracefully handle request to submit batch job from within an existing - batch job. - -- Warn user attempting to create a job allocation from within an existing job - allocation. - -- Add web page description for proctrack plugin. - -- Add new function slurm_get_rem_time() for job's time limit. - -- JobAcct plugin renamed from "log" to "linux" in preparation for support of - new system types. - WARNING: "JobAcctType=jobacct/log" is no longer supported. - -- Removed vestigal 'bg' names from bluegene plugin and smap - -- InactiveLimit parameter is not enforced for RootOnly partitions. - -- Update select/cons_res web page (Susanne Balle, HP, - cons_res_doc_patch_3_29_06). - -- Build a "slurmd.test" along with slurmd. slurmd.test has the path to - slurmstepd set allowing it to run unmodified out of the builddir for - testing (Mark Grondona). - -* Changes in SLURM 1.1.0-pre2 -============================= - -- Added "bcast" command to transmit copies of a file to compute nodes - with message fanout. - -- Bluegene specific - Added support for overlapping partitions and - dynamic partitioning. - -- Bluegene specific - Added support for nodecard sized blocks. - -- Added logic to accept 1k for 1024 and so on for --nodes option of srun. - This logic is through display tools such as smap, sinfo, scontrol, and - squeue. - -- Added bluegene.conf man page. - -- Added support for memory affinity, see srun --mem_bind option. - -* Changes in SLURM 1.1.0-pre1 -============================= - -- New --enable-multiple-slurmd configure parameter to allow running - more than one copy of slurmd on a node at the same time. Only - really useful for developers. - -- New communication is now branched on all processes to slurmd's from - slurmctld and srun launch command. This is done with a tree type - algorithm. Spawn and batch mode work the same as before. New slurm.conf - variable TreeWidth=50 is default. This is the number of threads per - stop on the tree. - -- Configuration parameter HeartBeatInterval is depracated. Now used half - of SlurmdTimeout and SlurmctldTimeout for communications to slurmd and - slurmctld daemons repsectively. - -- Add hash tables for select/cons_res plugin (Susanne Balle, HP, - patch_02222006). - -- Remove some use of cr_enabled flag in slurmctld job record, use - new flag "test_only" in select_g_job_test() instead. - -* Changes in SLURM 1.0.16 -========================= - -- For "srun --attach=X" to other users job, report an error and exit (it - previously just hung). - -- Make sure that "scancel -s KILL" terminates the job just like "scancel" - including deletion of all job steps (Chris Holmes, HP, slurm,patch). - -- Recognize ISO-8859 input to srun as a script (for non-English scripts). - -- switch/elan: Fix bug in propagation of ELAN_STATKEY environment variable. - -* Changes in SLURM 1.0.15 -========================= - -- In srun, reset stdin to blocking mode (if it was originally blocking before - we set it to O_NONBLOCK) on exit to avoid trouble with things like running - srun under a bash shell in an emacs *shell* buffer. - -- Fix srun race condition that occasionally causes segfaults at shutdown - -- Fix obscure locking issues in log.c code. - -- Explicitly close IO related sockets. If an srun gets "stuck", possibly - because of unkillable tasks in its job step, it will not hold many TCP - sockets in the CLOSE_WAIT state. - -- Increase the SLURM protocol timeout from 5 seconds to 10 seconds. - (In 1.2 there will be a slurm.conf parameter for this, rather than having - it hardcoded.) - -* Changes in SLURM 1.0.14 -========================= - -- Fix for bad xfree() call in auth/munge which can raise an assert(). - -- Fix installed fork handlers for the conf mutex for slurmd and slurmstepd. - -* Changes in SLURM 1.0.13 -========================= - -- Fix for AllowGroups option to work when the /etc/group file doesn't - contain all users in group by adding the uids of the names in /etc/passwd - that have a gid of that which we are looking for. - -- Fix bug in InactiveLimit support that can potentially purge active jobs. - NOTE: This is highly unlikely except on very large AIX clusters. - -- Fix bug for reiniting the config_lock around the control_file in - slurm_protocol_api.c logic has changed in 1.1 so no need to merge - -* Changes in SLURM 1.0.12 -========================= - -- Report node state of DRAIN rather than DOWN if DOWN with DRAIN flag set. - -- Initialize job->mail_type to 0 (NONE) for job submission. - -- Fix for stalled task stdout/stderr when buffered I/O is used, and - a single line exceeds 4096 bytes. - -- Memory leak fixes for maui plugin (hjcao@nudt.edu.cn) - -- Fix for spinning srun when the terminal to which srun is talking - goes away. - -- Don't set avail_node_bitmap for DRAINED nodes on slurmctld reconfig - (can schedule a job on drained node after reconfig). - - -* Changes in SLURM 1.0.11 -========================= - -- Fix for slurmstepd hang when launching a task. (Needed to install - list library's atfork handlers). - -- Fix memory leak on AIX (and possibly other architectures) due to - missing pthread_attr_destroy() calls. - -- Fix rare task standard I/O setup bug. When the bug hit, stdin, stdout, - or stderr could be an invalid file descriptor. - -- General slurmstepd file descriptor cleanup. - -- Fix memory leak in job accounting logic (Andy Riebs, HP, memory_leak.patch). - -* Changes in SLURM 1.0.10 -========================= - -- Fix for job accounting logic submitted from Andy Riebs to handle issues - with suspending jobs and such. patch file named requeue.patch - -- Make select/cons_res interoperate with mpi/lam plugin for task counts. - -- Fix race condition where srun could seg-fault due to use of logging functions - within pthread after calling log_fini. - -- Code changes for clean build with gcc 2.96 (gcc_2_96.patch, Takao Hatazaki, HP). - -- Add CacheGroups configuration support in configurator.html (configurator.patch, - Takao Hatazaki, HP). - -- Fix bug preventing use of mpich-gm plugin (mpichgm.patch, Takao Hatazaki, HP). - -* Changes in SLURM 1.0.9 -======================== - -- Fix job accounting logic to open new log file on slurmctld reconfig. - (Andy Riebs, slurm.hp.logfile.patch). - -- Fix bug which allows a user to run a batch script on a node not allocated - by the slurmctld. - -- Fix poe MP_HOSTFILE handling bug on AIX. - -* Changes in SLURM 1.0.8 -======================== - -- Fix to communication between slurmd and slurmstepd to allow for partial - reads and writes on their communication pipes. - -* Changes in SLURM 1.0.7 -======================== - -- Change in how AuthType=auth/dummy is handled for security testing. - -- Fix for bluegene systems to allow full system partitions to stay booted - when other jobs are submitted to the queue. - -* Changes in SLURM 1.0.6 -======================== - -- Prevent slurmstepd from crashing when srun attaches to batch job. - -* Changes in SLURM 1.0.5 -======================== - -- Restructure logic for scheduling BlueGene small block jobs. Added - "test_only" flag to select_p_job_test() in select plugin. - -- Correct squeue "NODELIST" output for BlueGene small block jobs. - -- Fix possible deadlock situations on BlueGene plugin on errors. - -* Changes in SLURM 1.0.4 -======================== - -- Release job allocation if step creation fails (especially for BlueGene). - -- Fix bug select/bluegene warm start with changed bglblock layout. - -- Fix bug for queuing full-system BlueGene jobs. - -* Changes in SLURM 1.0.3 -======================== - -- Fix bug that could refuse to queue batch jobs for BlueGene system. - -- Add BlueGene plugin mutex lock for reconfig. - -- Ignore BlueGene bgljobs in ERROR state (don't try to kill). - -- Fix job accounting for batch jobs (Andy Riebs, HP, - slurm.hp.jobacct_divby0a.patch). - -- Added proctrack/linuxproc.so to the main RPM. - -- Added mutex around bridge api file to avoid locking up the api. - -- BlueGene mod: Terminate slurm_prolog and slurm_epilog immediately if - SLURM_JOBID environment variable is invalid. - -- Federation driver: allow selection of a sepecific switch interface - (sni0, sni1, etc.) with -euidevice/MP_EUIDEVICE. - -- Return an error for "scontrol reconfig" if there is already one in - progress - -* Changes in SLURM 1.0.2 -======================== - -- Correctly report DRAINED node state as type OTHER for "sinfo --summarize". - -- Fixes in sacct use of malloc (Andy Riebs, HP, sacct_malloc.patch). - -- Smap mods: eliminate screen flicker, fix window resize, report more clear - message if window too small (Dan Palermo, HP, patch.1.0.0.1.060126.smap). - -- Sacct mods for inconsistent records (race condition) and replace --debug - option with --verbose (Andy Riebs, HP, slurm.hp.sacct_exp_vvv.patch). - -- scancel of a job step will now send a job-step-completed message - to the controller after verifying that the step has completed on all nodes. - -- Fix task layout bug in srun. - -- Added times to node "Reason" field when set down for insufficient - resources or if not responding. - -- Validate operation with Elan switch and heterogeneous nodes. - -* Changes in SLURM 1.0.1 -======================== - -- Assorted updates and clarifications in documentation. - -- Detect which munge installation to use 32/64 bit. - -* Changes in SLURM 1.0.0 -======================== - -- Fix sinfo filtering bug, especially "sinfo -R" output. - -- Fix node state change bug, resuming down or drained nodes. - -- Fix "scontrol show config" to display JobCredentialPrivateKey instead - of JobCredPrivateKey and JobCredentialPublicCertificate instead of - JobCredPublicKey. They now match the options in the slurm.conf. - -- Fix bug in job accounting for very long node list records (Andy Riebs, - HP, sacct_buf.patch). - -- BLUEGENE SPECIFIC - added load function to smap to load an already - exsistant bluegene.conf file. - -- Fix bug in sacct: If user requests specific job or job step ID, - only the last one with that ID will be reported. If multiple - nodes fail, the job has its state recorded as "JOB_TERMINATED...nf" - (Andy Riebs, HP, slurm.hp.sacct_dup.patch). - -- Fix some inconsistencies in sacct's help message (Andy Riebs, HP, - slurm.hp.sacct_help.patch). - -- Validate input to sacct command and allows embedded spaces in - arguments (Andy Riebs, HP, slurm.hp.sacct_validate.patch). - -* Changes in SLURM 0.7.0-pre8 -============================= - -- BGL specific -- bug fix for smap configure function down configuration - -- Add support for job suspend/resume. - -- Add slurmd cache for group IDs (Takao Hatazaki, HP). - -- Fix bug in processing of "#SLURM" batch script option parsing. - -* Changes in SLURM 0.7.0-pre7 -============================= - -- Fix issue with NODE_STATE_COMPLETING, could start job on node before - epilog completed. - -- Added some infrastructure for job suspend/resume (scontrol, api, and - slurmctld stub). - -- Set job's num_procs to the actual processor count allocated to the job. - -- Fix bug in HAVE_FRONT_END support for cluster emulation. - -* Changes in SLURM 0.7.0-pre6 -============================= - -- Added support for task affinity for binding tasks to CPUs (Daniel - Palermo, HP). - -- Integrate task affinity support with configuration, add validation - test. - -* Changes in SLURM 0.7.0-pre5 -============================= - -- Enhanced performance and debugging for slurmctld reconfiguration. - -- Add "scontrol update Jobid=# Nice=#" support. - -- Basic slurmctld and tool functionality validated to 16k nodes. - -- squeue and smap now display correct info for jobs in bluegene enviornment. - -- Fix setting of SLURM_NODELIST for batch jobs. - -- Add SubmitTime to job information available for display. - -- API function slurm_confirm_allocation() has been marked OBSOLETE - and will go away in some future version of SLURM. Use - slurm_allocation_lookup() instead. - -- New API calls slurm_signal_job and slurm_signal_job_step to send - signals directly to the slurmds without triggering the shutdown sequence. - -- remove "uid" from old_job_alloc_msg_t, no longer needed. - -- Several bug fixes in maui scheduler plugin from Dave Jackon - (Cluster Resources). - -* Changes in SLURM 0.7.0-pre4 -============================= - -- Remove BNR libary functions and add those for PMI (KVS and basic - MPI-1 functions only for now) - -- Added Hostfile support for POE and srun. MP_HOSTFILE env var to set - location of hostfile. Tasks will run from list order in the file. - -- Removes the slurmd's use of SysV shared memory. Instead the slurmd - communicates with the slurmstepd processes through the slurmstepd's - new named unix domain socket. The "stepd_api" is used to talk to the - slurmstepd (src/slurmd/common/stepd_api.[ch]). - -- Bluegene specific - bluegene block allocator will find most any - partition size now. Added support to start at any point in smap - to request a partition instead of always starting at 000. - -- Bluegene specific - Support to smap to down or bring up nodes in - configure mode. Added commands include allup, alldown, - up [range], down [range] - -- Time format in sinfo/squeue/smap/sacct changed from D:HH:MM:SS to - D-HH:MM:SS per POSIX standards document. - -- Treat scontrol update request without any requested changes as an - error condition. - -- Bluegene plugin renamed with BG instead of BGL. partition_allocator moved - into bluegene plugin and renamed block_allocator. Format for bluegene.conf - file changed also. Read bluegene html page. Code is backwards compatable - smap will generate in new form - -- Add srun option --nice to give user some control over job priority. - -* Changes in SLURM 0.7.0-pre3 -============================= - -- Restructure node states: DRAINING and DRAINED states are replaced - with a DRAIN flag. COMPLETING state is changed to a COMPLETING flag. - -- Test suite moved into testsuite/expect from separate repository. - -- Added new document describing slurm APIs (doc/html/api.html). - -- Permit nodes to be in multiple partitions simultaneously. - -* Changes in SLURM 0.7.0-pre2 -============================= - -- New stdio protocol. Now srun has just a single TCP stream to each node - of a job-step. srun and slurmd comminicate over the TCP stream using a - simple messaging protocol. - -- Added task plugin and use task prolog/epilog(s). - -- New slurmd_step functionality added. Fork exec instead of using shared - memory. Not completely tested. - -- BGL small partition logic in place in plugin and smap. Scheduler needs - to be rewritten to handle multiple partitions on a single node. No - documentation written on process yet. - -- If running select/bluegene plugin without access to BGL DB2, then - full-system bglblock is of system size defined in bluegene.conf. - -* Changes in SLURM 0.7.0-pre1 -============================= - -- Support defered initiation of job (e.g. srun --begin=11:30 ...). - -- Add support for srun --cpus-per-task through task allocation in - slurmctld. - -- fixed partition_allocator to work without curses - -- made change to srun to start message thread before other threads - to make sure localtime doesn't interfere. - -- Added new RPCs for slurmctld REQUEST_TERMINATE_JOB or TASKS, - REQUEST_KILL_JOB/TASKS changed to REQUEST_SIGNAL_JOB/TASKS. - -- Add support for e-mail notification on job state changes. - -- Some infrastructure added for task launch controls (slurm.conf: - TaskProlog, TaskEpilog, TaskPlugin; srun --task-prolog, --task-epilog). - -* Changes in SLURM 0.6.11 -========================= - -- Fix bug in sinfo partition sorting order. - -- Fix bugs in srun use of #SLURM options in batch script. - -- Use full Elan credential space rather than re-using credentials as soon - as job step completes (helps with fault-tolerance). - -* Changes in SLURM 0.6.10 -========================= - -- Fix for slurmd job termination logic (could hang in COMPLETING state). - -- Sacct bug fixes: Report correct user name for job step, show "uid.gid" - as fifth field of job step record (Andy Riebs, slurm.hp.sacct_uid.patch). - -- Add job_id to maui scheduler plugin start job status message. - -- Fix for srun's handling of null characters in stdout or stderr. - -- Update job accounting for larger systems (Andy Riebs, uptodate.patch). - -- Fixes for proctrack/linuxproc and mpich-gm support (Takao Hatazaki, HP). - -- Fix bug in switch/elan for large task count job having irregular task - distribution across nodes. - -* Changes in SLURM 0.6.9 -======================== - -- Fix bug in mpi plugin to set the ID correctly - -- Accounting bug causing segv fixed (Andy Riebs, 14oct.jobacct.patch) - -- Fix for failed launch of a debugged job (e.g. bad executable name). - -- Wiki plugin fix for tracking allocated nodes (Ernest Artiaga, BSC). - -- Fix memory leaks in slurmctld and federation plugin. - -- Fix sefault in federation plugin function fed_libstate_clear(). - -- Align job accounting data (Andy Riebs, slurm.hp.unal_jobacct.patch) - -- Restore switch state in backup controller restarts - -* Changes in SLURM 0.6.8 -======================== - -- Invalid AllowGroup value in slurm.conf to not cause seg fault. - -- Fix bug that would cause slurmctld to seg-fault with select/cons_res - and batch job containing more than one step. - -* Changes in SLURM 0.6.7 -======================== - -- Make proctrack/linuxproc thread safe, could cause slurmd seg fault. - -- Propagate umask from srun to spawned tasks. - -- Fix problem in switch/elan error handling that could hang a slurmd - step manager process. - -- Build on AIX with -bmaxdata:0x70000000 for memory limit more than 256MB. - -- Restore srun's return code support. - -* Changes in SLURM 0.6.6 -======================== - -- Fix for bad socket close() in the spawn-io code. - -* Changes in SLURM 0.6.5 -======================== - -- Sacct to report on job steps that never actually started. - -- Added proctrack/rms to elan rpm. - -- Restructure slurmctld/agent.c logic to insure timely reaping of - terminating pthreads. - -- Srun not to hang if job fails before task launches not all completed. - -- Fix for consumable resources properly scheduling nodes that have more - nodes than configured (Susanne Balle, HP, cons_res_patch.10.14.2005) - -* Changes in SLURM 0.6.4 -======================== - -- Bluegene plugin drains an entire bglblock on repeated boot failures - only if it has not identified a specific node as being bad. - -* Changes in SLURM 0.6.3 -======================== - -- Fix slurmctld mem leaks (step name and hostlist struct). - -- Bluegene plugin sets end time for job terminated due to removed - bglblock. - -* Changes in SLURM 0.6.2 -======================== - -- Fix sinfo and squeue formatting to properly handle slurm nodes, - jobs, and other names containing "%". - -* Changes in SLURM 0.6.1 -======================== - -- Fixed smap -Db to display slurm partitions correctly (take 2). - -- Add srun fork() retry logic for very heavily loaded system. - -- Fix possible srun hang on task launch failure. - -- Add support for mvapich v0.9.4, 0.9.5 and gen2. - -* Changes in SLURM 0.6.0 -======================== - -- Add documentation for ProctrackType=proctrack/rms. - -- Make proctrack/rms be the default for switch/elan. - -- Do not preceed SIGKILL or SIGTERM to job step with (non-requested) SIGCONT. - -- Fixed smap -Db to display slurm partitions correctly. - -- Explicitly disallow ProctrackType=proctrack/linuxproc with - SwitchType=switch/elan. They will not work properly together. - -* Changes in SLURM 0.6.0-pre8 -============================= - -- Remove debugging xassert in switch/federation that were accidentally - committed - -- Make slurmd step manager retry slurm_container_destroy() indefinitely - instead of giving up after 30 seconds. If something prevents a job - step's processes from being killed, the job will be stuck in the - completing until the container destroy succeeds. - -* Changes in SLURM 0.6.0-pre7 -============================= - -- Disable localtime_r() calls from forked processes (semaphore set - in another pthread can deadlock calls to localtime_r made from - the forked process, this will be properly fixed in the next - major release of SLURM). - -- Added SLURM_LOCALID environment variable for spawned tasks - (Dan Palermo, HP). - -- Modify switch logic to restore state based exclusively upon - recovered job steps (not state save file). - -- Gracefully refuse job if there are too many job steps in slurmd. - -- Fix race condition in job completion that can leave nodes in - COMPLETING state after job is COMPLETED. - -- Added frees for BGL BrigeAPI strdups that were to this point unknown. - -- smap scrolls correctly for BGL systems. - -- slurm_pid2jobid() API call will now return the jobid for a step - manager slurmd process. - -* Changes in SLURM 0.6.0-pre6 -============================= - -- Added logic to return scheduled nodes to Maui scheduler (David - Jackson, Cluster Resources) - -- Fix bug in handling job request with maximum node count. - -- Fix node selection scheduling bug with heterogeneous nodes and - srun --cpus-per-task option - -- Generate error file to note prolog failures. - -* Changes in SLURM 0.6.0-pre5 -============================= - -- Modify sfree (BGL command) so that --all option no longer requires - an argument. - -- Modify smap so it shows all nodes and partitions by default (even - nodes that the user can't access, otherwise there are holes in - its maps). - -- Added module to parse time string (src/common/parse_time.c) for - future use. - -- Fix BlueGene hostlist processing for non-rectangular prisms and - add string length checking. - -- Modify orphan batch job time calculation for BGL to account for - slowness when booting many bglblocks at the same time. - -* Changes in SLURM 0.6.0-pre4 -============================= - -- Added etc/slurm.epilog.clean to kill processes initiated outside of - slurm when a user's last job on a node terminates. - -- Added config.xml and configurator.html files for use by OSCAR. - -- Increased maximum job step count from 64 to 130 for BGL systems only. - -* Changes in SLURM 0.6.0-pre3 -============================= - -- Add code so job request for shared nodes gets explicitly requested - nodes, but lightly loaded nodes otherwise. - -- Add job step name field. - -- Add job step network specification field. - -- Add proctrack/rms plugin - -- Change the proctrack API to send a slurmd_job_t pointer to both - slurm_container_create() and slurm_container_add(). One of those - functions MUST set job->cont_id. - -- Remove vestigial node_use (virtual or coprocessor) field from job - request RPC. - -- Fix mpich-gm bugs, thanks to Takao Hatazaki (HP). - -- Fix code for clean build with gcc 2.96, Takao Hatazaki (HP). - -- Add node update state of "RESUME" to return DRAINED, DRAINING, or - DOWN node to service (IDLE or ALLOCATED state). - -- smap keeps trying to connect to slurmctld in iterative mode rather - than just aborting on failure. - -- Add squeue option --node to filter by node name. - -- Modify squeue --user option to accept not only user names, but also - user IDs. - -* Changes in SLURM 0.6.0-pre2 -============================= - -- Removed "make rpm" target. - -* Changes in SLURM 0.6.0-pre1 -============================= - -- Added bgl/partition_allocator/smap changes from 0.5.7. - -- Added configurable resource limit propagation (Daniel Christians, HP). - -- Added mpi plugin specify at start of srun. - -- Changed SlurmUser ID from 16-bit to 32-bit. - -- Added MpiDefault slurm.conf parameter. - -- Remove KillTree configuration parameter (replace with - "ProctrackType=proctrack/linuxproc") - -- Remove MpichGmDirectSupport configuration parameter (replace with - "MpiDefault=mpich-gm") - -- Make default plugin be "none" for mpi. - -- Added mpi/none plugin and made it the default. - -- Replace extern program_invocation_short_name with program_invocation_name - due to short name being truncated to 16 bytes on some systems. - -- Added support for Elan clusters with different CPU counts on nodes - (Chris Holmes, HP). - -- Added Consumable Resources web page (Susanne Balle, HP). - -- "Session manager" slurmd process has been eliminated. - -- switch/federation fixes migrated from 0.5.* - -- srun pthreads really set detached, fixes scaling problem - -- srun spawns message handler process so it can now be stopped (via - Ctrl-Z or TotalView) without inducing failures. - -* Changes in SLURM 0.5.7 -======================== - -- added infrastructure for (eventual) support of AIX checkpointing - of slurm batch and interactive poe jobs - -- added wiring for BGL to do wiring for physical location first and then - logical. - -- only one thread used to query database before polling thread is there. - -* Changes in SLURM 0.5.6 -======================== - -- fix for BGL hostnames and full system partition finding - -* Changes in SLURM 0.5.5 -======================== - -- Increase SLURM_MESSAGE_TIMEOUT_MSEC_STATIC to 15000 - -- Fix for premature timeout in _slurm_send_timeout - -- Fix for federation overlapping calls to non-thread-safe _get_adapters - -* Changes in SLURM 0.5.4 -======================== - -- Added support for no reboot for VN to CO on BGL - -- Fix for if a job starts after it finishes on BGL - -* Changes in SLURM 0.5.3 -======================== - -- federation patch so the slurm controller has sane window status at - start-up regardless of the window status reported in the slurmd - registration. - -- federation driver exits with fatal() if the federation driver can not - find all of the adapters listed in the federation.conf - -* Changes in SLURM 0.5.2 -======================== - -- Extra federation driver sanity checks - -* Changes in SLURM 0.5.1 -======================== - -- Fix federation driver bad free(), other minor fed fixes - -- Allow slurm to parse very long lines in the slurm.conf - -* Changes in SLURM 0.5.0 -======================== - -- Fix race condition in job accouting plugin, could hang slurmd - -- Report SlurmUser id over 16 bits as an error (fix on v0.6) - -* Changes in SLURM 0.5.0-pre19 -============================== - -- Fix memory management bug in federation driver - -* Changes in SLURM 0.5.0-pre18 -============================== - -- elan switch plugin memory leak plugged - -- added g_slurmctld_jobacct_fini() to release all memory (useful - to confirm no memory leaks) - -- Fix slurmd bug introduced in pre17 - -* Changes in SLURM 0.5.0-pre17 -============================== - -- slurmd calls the proctrack destroy function at job step completion - -- federation driver tries harder to clean up switch windows - -- BGL wiring changes - -* Changes in SLURM 0.5.0-pre16 -============================== - -- Check slurm.conf values for under/overflows (some are 16 bit values). - -- Federation driver clears windows at job step completion - -- Modify code for clean build with gcc v4.0 - -- New SLURM_NETWORK environmant variable used by slurm_ll_api - -* Changes in SLURM 0.5.0-pre15 -============================== - -- Added "network" field to "scontrol show job" output. - -- Federation fix for unfreed windows when multiple adapters on - one node use the same LID - -* Changes in SLURM 0.5.0-pre14 -============================== - -- RDMA works on fed plugin. - -* Changes in SLURM 0.5.0-pre13 -============================== - -- Major mods to support checkpoint on AIX. - -- Job accounting documenation expanded, added tuning options, minor bug fixes - -- BGL wiring will now work on <= 4 node X-dim partitions and also 8 node - X-dim partitions. - -- ENV variables set for spawning jobs. - -- jobacct patch from HP to not erroneously lock a mutex in the - jobacct_log plugin. - -- switch/federation supports multiple adapters per task. sn_all behaviour - is now correct, and it also supports sn_single. - -* Changes in SLURM 0.5.0-pre12 -============================== - -- Minor build changes to support RPM creation on AIX - -* Changes in SLURM 0.5.0-pre11 -============================== - -- Slurmd tests for initialized session manager (user's) slurmd pid before - killing it to avoid killing system daemon (race condition). - -- srun --output or --error file names of "none" mapped to /dev/null for - batch jobs rather than a file actually named "none". - -- BGL: don't try to read bglblock state until they are all created to - avoid having BGL Bridge API seg fault. - -* Changes in SLURM 0.5.0-pre10 -============================== - -- Fix bug that was resetting BGL job geometry on unrelated field update. - -- squeue and sinfo print timestamp in interate mode by default. - -- added scrolling windows in smap - -- introduced new variable to start polling thread in the bluegene plugin. - -- Latest accounting patches from Riebs/HP, retry communications. - -- Added srun option --kill-on-bad-exit from Holmes/HP. - -- Support large (64-bit address) log files where possible. - -- Fix problem of signals being delivered twice to tasks. Note that as - part of the fix the slurmd session manger no longer calls setsid to - create a new session. - -* Changes in SLURM 0.5.0-pre9 -============================= - -- If a job and node are in COMPLETING state and slurmd stops responding for - SlurmdTimeout, then set the node DOWN and the job COMPLETED. - -- Add logic to switch/elan to track contexts allocated to active job steps - rather than just using a cyclic counter and hoping to avoid collisions. - -- Plug memory leak in freeing job info retrieved using API. - -- Bluegene Plugin handles long deallocating states from driver 202. - -- Fix bug in bitfmt2int() which can go off allocated memory. - -* Changes in SLURM 0.5.0-pre8 -============================= - -- BlueGene srun --geometry was not getting propogated properly. - -- Fix race condition with multiple simultaneous epilogs. - -- Modify slurmd to resend job completion RPC to slurmctld in the - case where slurmctld is not responding. - -- Updated sacct: handle cancelled jobs correctly, add user/group - output, add ntasks ans synonym for nprocs, display error field - by default, display ncpus instead of nprocs - -- Parallelization of queing jobs up to 32 at once. Variable - MAX_AGENT_COUNT used in bgl_job_run.c to specify. - -- bgl_job_run.c fixed threading issue with uid_to_string use. - -* Changes in SLURM 0.5.0-pre7 -============================= - -- Preserve next_job_id across restarts. - -- Add support for really long job names (256 bytes). - -- Add configuration parameter SchedulerRootFilter to control what - entity manages prioritization of jobs in RootOnly partition - (internal scheduler plugin or external entity). - -- Added support for job accounting. - -- Added support for consumable resource based node scheduling. - -- Permit batch job to be launched to re-existing allocation. - -* Changes in SLURM 0.5.0-pre6 -============================= - -- Load bluegene.conf and federation.conf based upon SLURM_CONF env - var (if set). - -- Fix slurmd shutdown signal synchronization bug (not consistently - terminating). - -- Add doc/html/ibm.html document. Update bluegene.html. - -- Add sfree to bluegene plugin. - -- Remove geometry[SYSTEM_DIMENSIONS] from opaque node_select data - type if SYSTEM_DIMENSIONS==0 (not ASCI-C compliant). - -- Modify smap to test for valid libdb2.so before issuing any BGL - Bridge API calls. - -- Modify spec file for optional inclusion of select_bluegene and - sched_wiki plugin libraries. - -- Initialize job->network in data structure, could cause job - submit/update to fail depending upon what is left on stack. - -* Changes in SLURM 0.5.0-pre5 -============================= - -- Expand buffer to hold node_select info in job termination log. - -- Modify slurmctld node hashing function to reduce collisions. - -- Treat bglblock vanishing as fatal error for job, prolog and epilog - exit immediately. - -- bug fix for following multiple X-dim partitions - -* Changes in SLURM 0.5.0-pre4 -============================= - -- Fix bug in slurmd that could double KillWait time on job timeout. - -- Fix bug in srun's error code reporting to slurmctld, could DOWN - a node if job run as root has non-zero error code. - -- Remove a node's partition info when removed from existing partition. - -- Use proctrack plugin to call all processes in a job step before - calling interconnect_postfini() to insure no processes escape from - job and prevent switch windows from being released. - -- Added mail.html web page telling how to get on slurm mailing lists. - -- Added another directory to search for DB2 files on BGL system. - -- Added overview man page slurm.1. - -- Added new configure option "--with-db2-dir=PATH" for BGL. - -* Changes in SLURM 0.5.0-pre3 -============================= - -- Merge of SLURM v0.4-branch into v0.5/HEAD. - -* Changes in SLURM 0.5.0-pre2 -============================= - -- Fix bug in srun to clean-up upon failure of an allocated node - (srun -A would generate a segmentation fault, Chris Holmes, HP). - -- If slurmd's node name is mapped to NULL (due to bad configuration) - terminate slurmd with a fatal error and don't crash slurmctld. - -- Add SLURMD_DEBUG env var for use with AIX/POE in spawn_task RPC. - -- Always pack job's "features" for access by prolog/epilog - -* Changes in SLURM 0.5.0-pre1 -============================= - -- Add network option to srun and job creation API for specification - of communication protocol over IBM Federation switch. - -- Add new slurm.conf parameter ProctrackType (process tracking) and - associated plugin in the slurmd module. - -- Send node's switch state with job epilog completion RPC and - node registration (only when slurmd starts, not on periodic - registrtions). - -- Add federation switch plugin. - -- Add new configuration keyword, SchedulerRootFilter, to control - external scheduler control of RoolOnly partition (Chris Holmes, HP). - -- Modify logic to set process group ID for spawned processes (last - patch from slurm v0.3.11). - -- "srun -A" modified to return exit code of last command executed - (Chris Holmes, HP). - -- Add support for different slurm.conf files controlled via SLURM_CONF - env var (Brian O'Sullivan, pathscale) - -- Fix bug if srun given --uid without --gid option (Chris Holmes, HP). - -* Changes in SLURM 0.4.24 -========================= - -- DRAIN nodes with switches on base partitions are in ERROR, MISSING, - or DOWN states. - -* Changes in SLURM 0.4.23 -========================= - -- Modified bluegene plugin to only sync bglblocks to jobs on initial - startup, not on reconfig. Fixes race condition. - -- Modified bluegene plugin to work with 141 driver. Enabling it to - only have to reboot when switching from coproc -> virtual and back. - -- added support for a full system partition to make sure every other - partition is free and vice-verse. - -- smap resizing issue fixed. - -- change prolog not to add time when a partition is in deallocating - state. - -- NOTE: This version of SLURM requires BGL driver 141/2005. - -* Changes in SLURM 0.4.22 -========================= - -- Modified bluegene plugin to not do anything if the bluegene.conf file - is altered. - -- added checking for lists before trying to create iterator on the list. - -* Changes in SLURM 0.4.21 -========================= - -- Fix in race condition with time in Status Thread of BGL - -- Fix no leading zeros in smap output. - -* Changes in SLURM 0.4.20 -========================= - -- Smap output is more user friendly with -c option - -* Changes in SLURM 0.4.19 -========================= - -- Added new RPCs for getting bglblock state info remotely and cache data - within the plugin (permits removal of DB2 access from BGL FEN and - dramatically increases smap responsivenss, also changed prolog/epilog - operation) - -- Move smap executable to main slurm RPM (from separate RPM). - -- smap uses RPC instead of DB2 to get info about bgl partitions. - -- Status function added to bluegene_agent thread. Keeps current state - of BGL partitions updating every second. will handle multiple attempts - at booting if booting a partition fails. - -* Changes in SLURM 0.4.18 -========================= - -- Added error checking of rm_remove_partition calls. - -- job_term() was terminating a job in real time rather than - queueing the request. This would result in slurmctld hanging - for many seconds when a job termination was required. - -* Changes in SLURM 0.4.17 -======================== - -- Bug fixes from testing .16. - -* Changes in SLURM 0.4.16 -======================== - -- Added error checking to a bunch of Bridge API calls and more - gracefully handle failure modes. - -- Made smap more robust for more jobs. - -* Changes in SLURM 0.4.15 -======================== - -- Added error checking to a bunch of Bridge API calls and more - gracefully handle failure modes. - -* Changes in SLURM 0.4.14 -======================== - -- job state is kept on warm start of slurm - -* Changes in SLURM 0.4.13 -======================== - -- epilog fix for bgl plugin - -* Changes in SLURM 0.4.12 -======================== - -- bug shot for new api calls. - -- added BridgeAPILogFile as an option for bluegene.conf file - -* Changes in SLURM 0.4.11 -======================== - -- changed as many rm_get_partition() to rm_get_partitions_info as we could - for time saving. - -* Changes in SLURM 0.4.10 -======================== - -- redesign for BGL external wiring. - -- smap display bug fix for smaller systems. - -* Changes in SLURM 0.4.9 -======================== - -- setpnum works now, have to include this in bluegene.conf - -* Changes in SLURM 0.4.8 -======================== - -- Changed the prolog and the epilog to use the env var MPIRUN_PARTITION - instead of BGL_PARTITION_ID - -* Changes in SLURM 0.4.7 -======================== - -- Remove some BGL specific headers that IBM now distributes, NOTE - BGL driver 080 or greater required. - -- Change autogen.sh to deal with problems running autoconf on one - system and configure on another with different software versions. - -* Changes in SLURM 0.4.6 -======================== - -- smap now works on non-BGL systems. - -- took tv.h out of partition_allocator so it would work withn driver 080 - from IBM. - -- updated slurmd signal handling to prevent possible user killing of daemon. - -* Changes in SLURM 0.4.5 -======================== - -- Change sinfo default time limit field to have 10 bytes (up from 9). - -- Fix bug in bluegene partition selection (sorting bug). - -- Don't display any completed jobs in smap. - -- Add NodeCnt to filetxt job completion plugin. - -- Minor restructuring of how MMCS is polled for DOWN nodes and switches. - -- Fix squeue output format for "%s" (node select data). - -- Queue job requesting more resources than exist in a partition if - that partition's state is DOWN (rather than just abort it). - -- Add prolog/epilog for bluegene to code base (moved from mpirun in CVS) - -- Add prolog, epilog and bluegene.conf.example to bluegene RPM - -- In smap, Admin can get the Rack/midplane id from an XYZ input and vice versa. - -- Add smap line-oriented output capability. - -* Changes in SLURM 0.4.4 -======================== - -- Fix race condition in slurmd seting pgid of spawned tasks for - process tracking. - -- Fix scontrol reconfig does nothing to running jobs nor crash the system - -- Fix sort of bgl_list only happens once in select_bluegene.c instead of every - time a new job is inserted. - -* Changes in SLURM 0.4.3 -======================== - -- Turn off some RPM build checks (bug in RPM, see slurm.spec.in) - -- starting slurmctrld will destroy all RMP*** partitions everytime. - -* Changes in SLURM 0.4.2 -======================== - -- Fix memory leak in BlueGene plugin. - -- Srun's --test-only option takes precedence over --batch option. - -- Add sleep(1) after setting bglblock owner due to apparent race condition - in the BGL API. - -- Slurm was timing out and killing batch jobs if the node registered when - a job prolog was still running. - -* Changes in SLURM 0.4.1 -======================== - -- BlueGene plugin kills jobs running in defunct bglblock on restart. - -- Smap displays pending jobs now, in addition to running and completing jobs. - -- Remove node "use=" from bluegene.conf file, create both coprocessor and - virtual bglblocks for now (later create just one and use API to change - it when such an API is available). - -- Add "ChangeNumpsets" parameter to bluegene.conf to use script to - update the numpsets parameter for newly created bglblocks (to be - removed once the API functions). - -- Add all patches from slurm v0.3.11 (through 2/7/2005) - - Added srun option --disable-status,-X to disable srun status feature - and instead forward SIGINT immediately to job upon receipt of Ctrl-C. - - Fix for bogus slurmd error message "Unable to put task N into pgrp..." - - Fix case where slurmd may erroneously detect shared memory entry - as "stale" and delete entry for unkillable or slow-to-exit job. - - (qsnet) Fix for running slurmd on node without and elan3 adapter. - - Fix for reported problem: slurm/538: user tasks block writing to stdio - -* Changes in SLURM 0.4.0 -======================== - -- Minor tweak to init.d/slurm for BlueGene systems. - -- Added smap RPM package (to install binary built on BlueGene - service node on front-end nodes). - -- Added wait between bglblock destroy and creation of new blocks - so that MMCS can complete the operation. - -- Fix bug in synchronizing bglblock owners on slurmctld restart. - -* Changes in SLURM 0.4.0-pre11 -============================== - -- Add new srun option "--test-only" for testing slurm_job_will_run API. - -- Fix bugs in slurm_job_will_run() processing. - -- Change slurm_job_will_run() to not return a message, just an error code. - -- Sync partition owners with running jobs on slurmctld restart. - -* Changes in SLURM 0.4.0-pre10 -============================== - -- Specify number of I/O nodes associated with BlueGene partition. - -- Do not launch a job's tasks if the job is cancelled while its - prolog is running (which can be slow on BlueGene). - -- Add new error code, ESLURM_BATCH_ONLY for attepts to launch - job steps on front-end system (e.g. Blue Gene). - -- Updates to html documents. - -- Assorted fixes in smap, partition creation mode. - -- Add proper support for "srun -n" option on BGL recognizing - processor count in both virual and coprocessor modes. - -- Make default node_use on Blue Gene be coprocessor, as documented. - -- Add SIGKILL to BlueGene jobs as part of cleanup. - -* Changes in SLURM 0.4.0-pre9 -============================= - -- Change in /etc/init.d/slurm for RedHat and Suze compatability - -* Changes in SLURM 0.4.0-pre8 -============================= - -- Add logic to create and destroy Bluegene Blocks automatically as needed. - -- Update smap man page to include Bluegene configuration commands. - -* Changes in SLURM 0.4.0-pre7 -============================= - -- Port all patches from slurm v0.3 up through v0.3.10: - - Remove calls in auth/munge plugin deprecated by munge-0.4. - - Allow single task id to be selected with --input, --output, and --error. - - Create shared memory segment for Elan statistics when using the - switch/elan plugin. - - More fixes necessary for TotalView. - -* Changes in SLURM 0.4.0-pre6 -============================= - -- Add new job reason value "JobHeld" for jobs with priority==0 - -- Move startup script from "/etc/rc.d/init.d/slurm" to "/etc/init.d/slurm" - -- Modify prolog/epilog logic in slurmd to accomodate very long run times, - on BGL these scripts wait for events that can take a very long time - (tens of seconds). - -- This code base was used for BGLb acceptance test with pre-defined - BGL blocks. - -* Changes in SLURM 0.4.0-pre5 -============================= - -- select/bluegene plugin confirms db.properties file in $sysconfdir - and copies it to StateSaveLocation (slurmctld's working directory) - -- select/bluegene plugin confirms environment variable required for - DB2 interaction are set (execute "db2profile" script before slurmctld) - -- slurmd to always give jobs KillWait time between SIGTERM and SIGKILL - at termination - -- set job's start_time and end_time = now rather than leaving zero if - they fail to execute - -- modify srun to forward SIGTERM - -- enable select/bluegene testing for DOWN nodes and switches - -- select/bluegene plugin to delete orphan jobs, free BGLblocks and - set owner as jobs terminate/start - -* Changes in SLURM 0.4.0-pre4 -============================= - -- Fixes for reported problems: - - slurm/512: Let job steps run on DRAINING nodes - - slurm/513: Gracefully deal with UIDs missing from passwd file - -- Add support for MPICH-GM (from takao.hatazaki@hp.com) - -- Add support for NodeHostname in node configuration - -- Make "scontrol show daemons" function properly on front-end system - (e.g. Blue Gene) - -- Fix srun bug when --input, --output and --error are all "none" - -- Don't schedule jobs for user root if partition is DOWN - -- Modify select/bluegene to honor job's required node list - -- Modify user name logic to explicitly set UID=0 to "root", - Suse Linux was not handling multiple users with UID=0 well. - -* Changes in SLURM 0.4.0-pre3 -============================= - -- Send SIGTERM to batch script before SIGKILL for mpirun cleanup on - Blue Gene/L - -- Create new allocation as needed for debugger in case old allocation - has been purged - -- Add Blue Gene User Guide to html documents - -- Fix srun bug that could cause seg fault with --no-shell option if not - running under a debugger - -- Propogate job's task count (if set) for batch job via SLURM_NPROCS. - -- Add new job parameters for Blue Gene: geometry, rotate, mode (virtual - or co-processor), communications type (mesh or torus), and partition ID. - -- Exercise a bunch of new switch plugin functions for Federation - switch support. - -- Fix bug in scheduling jobs when a processor count is specified - and FastSchedule=0 and the cluster is heterogeneous. - -* Changes in SLURM 0.4.0-pre2 -============================= - -- NOTE: "startclean" when transitioning from version 0.4.0-pre1, JOBS ARE LOST - -- Fixes for reported problems: - - slurm/477: Signal of batch job script (scancel -b) fixed - - slurm/481: Permit clearing of AllowGroups field for a partition - - slurm/482: Adjust Elan base context number to match RMS range - - slurm/489: Job completion logger was writing NULL to text file - -- Preserve job's requested processor count info after job is initiated - (for viewing by squeue and scontrol) - -- srun cancels created job if job step creation fails - -- Added a lots of Blue Gene/L support logic: slurmd executes on a single - node to front-end the 512-CPU base-partitions (Blue Gene/L's nodes) - -- Add node selection plugin infrastructure, relocate existing logic - to select/linear, add configuration parameter SelectType - -- Modify node hashing algorithm for better performance on Blue Gene/L - -- Add ability to specify node ranges for 3-D rectangular prism - -* Changes in SLURM 0.4.0-pre1 -============================= - -- NOTE: "startclean" when transitioning from version 0.3, JOBS ARE LOST - -- Added support for job account information (arbitrary string) - -- Added support for job dependencies (start job X after job Y completes) - -- Added support for configuration parameter CheckpointType - -- Added new job state "CANCELLED" - -- Don't strip binaries, breaks parallel debuggers - -- Fix bug in Munge authentication retry logic - -- Change srun handling of interupts to work properly with TotalView - -- Added "reason" field to job info showing why a job is waiting to run - -* Changes in SLURM 0.3.7 -======================== - -- Fixes required for TotalView operability under RHEL3.0 - (Reported by Dong Ahn ) - - Do not create detached threads when running under parallel debugger. - - Handle EINTR from sigwait(). - -* Changes in SLURM 0.3.6 -======================== - -- Fixes for reported problems: - - slurm/459: Properly support partition's "Shared=force" configuration. - -- Resync node state to DRAINED or DRAINING on restart in case job - and node state recovered are out of sync. - -- Added jobcomp/script plugin (execute script on job completion, - from Nathan Huff, North Dakota State University). - -- Added new error code ESLURM_FRAGMENTED for immediate resource - allocation requests which are refused due to completing job (formerly - returned ESLURM_NOT_TOP_PRIORITY) - -- Modified job completion logging plugin calling sequence. - -- Added much of the infrastructure required for system checkpoint - (APIs, RPCs, and NULL plugin) - -* Changes in SLURM 0.3.5 -======================== - -- Fix "SLURM_RLIMIT_* not found in environment" error message when - distributing large rlimit to jobs. - -- Add support for slurm_spawn() and associated APIs (needed for IBM - SP systems). - -- Fix bug in update of node state to DRAINING/DRAINED when update - request occurs prior to initial node registration. - -- Fix bug in purging of batch jobs (active batch jobs were being - improperly purged starting in version 0.3.0). - -- When updating a node state to DRAINING/DRAINED a Reason must be - provided. The user name and a timestamp will automatically be - appended to that Reason. - -* Changes in SLURM 0.3.4 -======================== - -- Fixes for reported problems: - - slurm/404: Explicitly set pthread stack size to 1MB for srun - -- Allow srun to respond to ctrl-c and kill queued job while waiting - for allocation from controller. - -* Changes in SLURM 0.3.3 -======================== - -- Fix slurmctld handling of heterogeneous processor count on elan - switch (was setting DRAINED nodes in state DRAINING). - -- Fix sinfo -R, --list-reasons to list all relevant node states. - -- Fix slurmctld to honor srun's node configuration specifications - with FastSchedule==0 configuration. - -- Added srun option --debugger-test to confirm that slurm's debugger - infrastructure is operational. - -- Removed debugging hacks for srun.wrapper.c. Temporarily use - RPM's debugedit utility if available for similar effect. - -* Changes in SLURM 0.3.2 -======================== - -- The srun command wakes immeditely upon resource allocation (via new RPC) - rather than polling. - -- SLURM daemons log current version number at startup. - -- If slurmd can't respond to ping (e.g. paging is keeping it from - responding in a timely fashion) then send a registration RPC - to slurmctld. - -- Fix slurmd -M option to call mlockall() after daemonizing. - -- Add "slurm_" prefix to slurm's hostlist_ function man pages. - -- More AIX support added. - -- Change get info calls from using show_all to more general show_flags - with #define for SHOW_ALL flag. - -* Changes in SLURM 0.3.1 -======================== - -- Set SLURM_TASKS_PER_NODE env var for batch jobs (and LAM/MPI). - -- Fix for slurmd spinning when stdin buffers full (gnats:434) - -- Change some slurmctld malloc sizes to reduce demand for realloc calls, - improves performance and eliminates realloc failure on RH EL3 under - extremely heavy workload apparently due to memory fragmentation. - -- Fix scheduling logic for heterogeneous processor count. - -- Modify security_2_2 test to function with release 0.3 - -- Fix broken rpm build when libslurm not already installed. - -- New slurmd option -M to mlock() slurmd process into memory. - -- New srun option --no-shell causes srun to exit instead of spawning - shell when using --allocate, -A. - -- Modify srun --uid=user and --gid=group options to maintain invoking - user's credentials until after nodes have been allocated to requested - user/group (allows root to run jobs and allocate nodes for other users - in a RootOnly partition). - -- Fix node processing if state change requested via scontrol prior to - initial node registration. - -* Changes in SLURM 0.3.0 -======================== - -- Support for AIX added (a few bugs do remain). - -- Fix memory leak in slurmctld, slurm_cred_create(). - -- On ELF systems, export BNR_* functions from SLURM API. - -- Add support for "hidden" partitions (applies to their - nodes, jobs, and job steps as well). APIs and commands - modified to optionally display hidden partitions. - -- Modify partition's group_allow test to be based upon the user - of the allocation rather than the user making the allocation - request (user root for LCRM batch jobs). - -- Restructure plugin directory structure. - -- New --core=type option in srun for lightweight corefile support. - (requires liblwcf). - -- Let user root and SlurmUser exceed any partition limits. - -- Srun treats "--time=0" as a request for an infinite time limit. - -* Changes in SLURM 0.3.0.0-pre10 -================================ - -- Fix bugs in support of slurmctld "-f" option (specify different - slurm.conf pathname). - -- Remove slurmd "-f" option. - -- Several documenation changes for slurm administrators. - -- On ELF systems, export only slurm_* functions from slurm API and - ensure plugins use only slurm_ prefixed functions (created aliases - where necessary). - -- New srun option -Q, --quiet to suppress informational messages. - -- Fix bug in slurmctld's building of nodelist for job (failed if - more than one numeric field in node name). - -- Change "scontrol completing" and "sinfo" to use job's node bitmap - to identify nodes associated with that particular job that are - still processing job completion. This will work properly for - shared nodes. - -- Set SLURM_DISTRIBUTION environment varible for user tasks. - -- Fix for file descriptor leak in slurmd. - -- Propagate stacksize limit to jobs along with other resource limits - that were previously ignored. - -* Changes in SLURM 0.3.0.0-pre9 -=============================== - -- Restructure how slurmctld state saves are performed for better - scalability. - -- New sinfo option "--list-reason" or "-R". Displays down or drained - nodes along with their REASON field. - -* Changes in SLURM 0.3.0.0-pre8 -=============================== - -- Queue outgoing message traffic rather than immediately spawning - pthreads (under heavy load this resulted in hundreds of pthreads - using more memory than was available). - -- Restructure slurmctld message agent for higher throughput. - -- Add new sinfo options --responding and --dead (i.e. non-responding) - for filtering node states. - -- Fix bug in sinfo to properly process specified state filter including - "*" suffix for non-responding nodes. - -- Create StateSaveLocation directory if changes via slurmctld reconfig - -* Changes in SLURM 0.3.0.0-pre7 -=============================== - -- Fixes for reported problems: - - slurm/381: Hold jobs requesting more resources than partition limit. - - slurm/387: Jobs lost and nodes DOWN on slurmctld restart. - -- Add support for getting node's real memory size on AIX. - -- Sinfo sort partitions in slurm.conf order, new sort option ("#P"). - -- Document how to gracefully change plugin values. - -- Slurmctld does not attempt to recover jobs when the switch plugin - value changes (decision reached when any job's switch state recovery - fails). - -- Node does not transition from COMPLETING to DOWN state due to - not responding. Wait for tasks to complete or admin to set DOWN. - -- Always chmod SlurmdSpoolDir to 755 (a umask of 007 was resulting - in batch jobs failing). - -- Return errors when trying to change configuration parameters - AuthType, SchedulerType, and SwitchType via "scontrol reconfig" - or SIGHUP. Document how to safely change these parameters. - -- Plugin-specific error number definitions and descriptive strings - moved from common into plugin modules. - -- Documentation for writing scheduler, switch, and job completion - logging plugins added. - -- Added job and node state descriptions to the squeue and sinfo man pages. - -- Backup slurmctld to generate core file on SIGABRT. - -- Backup slurmctld to re-read slurm.conf on SIGHUP. - -- Added -q,--quit-on-interrupt option to srun. - -- Elan switch plugin now starts neterr resolver thread on all Elan3 - systems (QsNet and QsNetII). - -- Added some missing read locks for references for slurmctld's - configuration data structure - -- Modify processing of queued slurmctld message traffic to get better - throughput (resulted in job inactivity limit being reached improperly - when hundreds of jobs running simultaneously) - -* Changes in SLURM 0.3.0.0-pre6 -=============================== - -- Fixes for reported problems: - - slurm/372: job state descriptions added to squeue man page - -- Switch plugin added. Add "SwitchType=switch/elan" to slurm.conf for - systems with Quadrics Elan3 or Elan4 switches. - -- Don't treat DOWN nodes with too few CPUs as a fatal error on Elan - -- Major re-write of html documents - -- Updates to node pinging for large numbers of unresponsive nodes - -- Explicitly set default action for SIGTERM (action on Thunder was - to ignore SIGTERM) - -- Sinfo "--exact" option only applies to fields actually displayed - -- Partition processor count not correctly computed for heterogeneous - clusters with FastSchedule=0 configuration - -- Only return DOWN nodes to service if the reason for them being in - that state is non-responsiveness and "ReturnToService=1" configuration - -- Partition processor count now correctly computed for heterogeneous - clusters with FastSchedule configured off - -- New macros and function to export SLURM version number - -* Changes in SLURM 0.3.0.0-pre5 -=============================== - -- Fixes for reported problems: - - slurm/346: Support multiple colon-separated PluginDir values - -- Fix node state transition: DOWN to DRAINED (instead of DRAINING) - -- Fix a couple of minor slurmctld memory leaks - -* Changes in SLURM 0.3.0.0-pre4 -=============================== - -- Fix bug where early launch failures (such as invalid UID/GID) resulted - in jobs not terminating properly. - -- Initial support for BNR committed (not yet functional). - -- QsNet: SLURM now uses /etc/elanhosts exclusively for converting - hostnames to ElanIDs. - -* Changes in SLURM 0.3.0.0-pre3 -=============================== - -- Fixes for reported problems: - - slurm/328: Slurmd was restarting with a new shared memory segment and - losing track of jobs - - slurm/329: Job processing may be left running when one task dies - - slurm/333: Slurmd fails to launch a job and deletes a step, due to - a race condition in shared memory management - - slurm/334: Slurmd was getting a segv due to a race condition in shared - memory management - - slurm/342: Properly handle nodes being removed from configuration - even when there are partitions, nodes, or job steps still associated - with them - -- Srun properly terminates jobs/steps upon node failure (used to hang - waiting for I/O completion) - -- Job time limits enforced even if InactiveLimit configured as zero - -- Support the sending of an arbitrary signal to a batch script (but not - the processses in its job steps) - -- Re-read slurm configuration file whenever changed, needed by users - of SLURM APIs - -- Scancel was generating a assert failure - -- Slurmctld sends a launch response message upon scheduling of a queued - job (for immediate srun response) - -- Maui scheduler plugin added - -- Backfill scheduler plugin added - -- Batch scripts can now have arguments that are propogated - -- MPICH support added (via patch, not in SLURM CVS) - -- New SLURM environment variables added SLMR_CPUS_ON_NODE and - SLURM_LAUNCH_NODE_IPADDR, these provide support needed for LAM/MPI - (version 7.0.4+) - -- The TMPDIR directory is created as needed before job launch - -- Do not create duplicate SLURM environment variables with the same name - -- Insure proper enforcement of node sharing by job - -- Treat lack of SpoolDir or StateSaveDir as a fatal error - -- Quickstart.html guide expanded - -- Increase maximum jobs steps per node from 16 to 64 - -- Delete correct shared memory segment on slurmd -c (clean start) - -* Changes in SLURM 0.3.0.0-pre2 -=============================== - -- Fixes for reported problems: - - slurm/326: Properly clean-up jobs terminating on non-responding nodes - -- Move all configuration data structure into common/read_config, scontrol - now always shows default values if not specified in slurm.conf file - -- Remove the unused "Prioritize" configuration parameter - -* Changes in SLURM 0.3.0.0-pre1 -=============================== - -- Fixes for reported problems: - - slurm/252: "jobs left orphaned when using TotalView:" SLURM controller - now pings srun and kills defunct jobs. - - slurm/253: "srun fails to accept new IO connection." - - slurm/317: "Lack of default partition in config file causes errors." - - slurm/319: Socket errors on multiple simultaneous job launches fixed - - slurm/321: slurmd shared memory synchronization error. - -- Removed slurm_tv_clean daemon which has been obsoleted by slurm/252 fix. - -- New scontrol command ``delete'' and RPC added to delete a partition - -- Squeue can now print and sort by group id/name - -- Scancel has new option -q,--quiet to not report an error if a job - is already complete - -- Add the excluded node list to job information reported. - -- RPC version mis-match now properly handled - -- New job completion plugin interface added for logging completed jobs. - -- Fixed lost digit in scontrol job priority specification. - -- Remove restriction in the number of consecutive node sets (no longer - needed after DPCS upgrade) - -- Incomplete state save write now properly handled. - -- Modified slurmd setrlimit error for greater clarity. - -- Slurmctld performs load-leveling across shared nodes. - -- New user function added slurm_get_end_time for user jobs. - -- Always compile srun with stabs debug section when TotalView support - is requested. - -* Changes in SLURM 0.2.21 -========================= - -- Fixes for reported problems: - - slurm/253: Try using different port if connect() fails (was rarely - failing when an existing defunct connection was in TIME_WAIT state) - - slurm/300: Possibly killing wrong job on slurmd restart - - slurm/312: Freeing non-allocated memory and killing slurmd - -- Assorted changes to support RedHat Enterprise Linux 3.0 and IA64 - -- Initial Elan4 and libelanctrl support (--with-elan). - -- Slurmctld was sometimes inappropriately setting a job's priority - to 1 when a node was down (even if up nodes could be used for the - job when a running job completes) - -- Convert all user commands from use of popt library to getopt_long() - -- If TotalView support is requested, srun exports "totalview_jobid" - variable for `%J' expansion in TV bulk launch string. - -- Fix several locking bugs in slurmd IO layer. - -- Throttle back repetitious error messages in slurmd to avoid filling - log files. - - -* Changes in SLURM 0.2.20 -========================= - -- Fixes for reported problems: - - slurm/298: Elan initialization error (Invalid vp 2147483674). - - slurm/299: srun fails to exit with multiple ^C's. - -- Temporarily prevent DPCS from allocating jobs with more than eight - sets of consecutive nodes. This was likely causing user applications - to fail with libelan errors. This will be removed after DPCS is updated. - -- Fix bug in popt use, was failing in some versions of Linux. - -- Resend KILL_JOB messages as needed to clear COMPLETING jobs. - -- Install dummy SIGCHLD handler in slurmd to fix problem on NPTL systems - where slurmd was not notified of terminated tasks. - -* Changes in SLURM 0.2.19 -========================= - -- Memory corruption bug fixed, it was causing slurmctld to seg-fault - -* Changes in SLURM 0.2.18 -========================= - -- Fixes for reported problems: - - slurm/287: slurm protocol timeouts when using TotalView. - - slurm/291: srun fails using ``-n 1'' under multi-node allocation. - - slurm/294: srun IO buffer reports ENOSPC. - -- Memory corruption bug fixed, it was causing slurmctld to seg-fault - -- Non-responding nodes now go from DRAINING to DRAINED state when - jobs complete - -- Do not schedule pending jobs while any job is actively COMPLETING - unless the submitted job specifically identifies its nodes (like DPCS) - -- Reset priority of jobs with priority==1 when a non-responding node - starts to respond again - -- Ignore jobs with priority==1 when establishing new baseline upon - slurmctld restart - -- Make slurmctld/message retry be timer based rather than queue based - for better scalability - -- Slurmctld logging is more concise, using hostlists more - -- srun --no-allocate used special job_id range to avoid conflicts - or premature job termination (purging by slurmctld) - -- New --jobid=id option in srun to initiate job step under an existing - allocation. - -- Support in srun for TotalView bulk launch. - -* Changes in SLURM 0.2.17 -========================= - -- Fixes for reported problems: - - slurm/279: Hold jobs that can't execute due to DOWN or DRAINED - nodes and release when nodes are returned to service. - - slurm/285: "srun killed due to SIGPIPE" - -- Support for running job steps on nodes relative to current - allocation via srun -r, --relative=n option. - -- SIGKILL no longer broadcasted to job via srun on task failure unless - --no-allocate option is used. - -- Re-enabled "chkconfig --add" in default RPMs. - -- Backup controller setting proper PID into slurmctld.pid file. - -- Backup controller restores QSW state each time it assumes control - -- Backup controller purges old job records before assuming control - to avoid resurrecting defunct jobs. - -- Kill jobs on non-responding DRAINING nodes and make their state - DRAINED. - -- Save state upon completion of a job's last EPILOG_COMPLETION to - reduce possibility of inconsistent job and node records when the - controller is transitioning between primary and backup. - -- Change logging level of detailed communication errors to not print - them unless detailed debugging is requested. - -- Increase number of concurrent controller server threads from 20 - to 50 and restructure code to handle backlogs more efficiently. - -- Partition state at controller startup is based upon slurm.conf - rather than previously saved state. Additional improvements to - avoid inconsistent job/node/partition states at restart. Job state - information is used to arbitrate conflicts. - -- Orphaned file descriptors eliminated. - -* Changes in SLURM 0.2.16 -========================= - -- Fixes for reported problems: - - slurm/265: Early termination of srun could cause job to remain in queue. - - slurm/268: Slurmctld could deadlock if there was a delay in the - termination of a large node-count job. An EPILOG_COMPLETE RPC was - added so that slurmd could notify slurmctld whenever the job - termination was completed. - - slurm/270: Segfault in sinfo if a configured node lacked a partition. - - slurm/278: Exit code in scontrol did not indicate failure. - -- Fixed bug in slurmd that caused the daemon to occaisionally kill itself. - -- Fixed bug in srun when running with --no-allocate and >1 process per node. - -- Small fixes and updates for srun manual. - -* Changes in SLURM 0.2.15 -========================= - -- Fixes for reported problems: - - slurm/265: Job was orphaned when allocation response message could - not be sent. Job is now killed on allocation response message transmit - failure and socket error details are logged. - - Fix for slurm/267: "Job epilog may run multiple times." - -- Squeue job TIMELIMIT format changed from "h:mm" to "d:h:mm:ss". - -- DPCS initiated jobs have steps execute properly without explicit - specification of node count. - -* Changes in SLURM 0.2.14 -========================= - -- Fixes for reported problems: - - slurm/194: "srun doesn't handle most options when run under an allocation." - - slurm/244: "REQ: squeue shows requested size of pending jobs." - -- SLURM_NODELIST environment variable now exported to all jobs, not - only batch jobs. - -- Nodelist displayed in squeue for completing jobs is now restricted to - completing nodes. - -- Node "reason" field properly displayed in sinfo even with filtering. - -- ``slurm_tv_clean'' daemon now supports a log file. - -- Batch jobs are now re-queued on launch failure. - -- Controller confirms job scripts for batch jobs are still running on - node zero at node registration. - -- Default RPMs no longer stop/start SLURM daemons on upgrade or install. - -* Changes in SLURM 0.2.13 -========================= - -- Fixes for reported problems: - - Fixed bug in slurmctld where "drained" nodes would go back into - the "idle" state under some conditions (slurm/228). - - Added possible fix for slurm/229: "slurmd occasionally fails - to reap all children." - -- Fixed memory leak in auth_munge plugin. - -- Added fix to slurmctld to allow arbitrarily large job specifications - to be saved and recovered in the state file. - -- Allow "updates" in the configuration file of previously defined - node state and reason. - -- On "forceful termination" of a running job step, srun now exits - unconditionally, instead of waiting for all I/O. - -- Slurmctld now uses pidfile to kill old daemon when a new one is started. - -- Addition of new daemon "slurm_tv_clean" used to clean up jobs orphaned - due to use of the TotalView parallel debugger. - -* Changes in SLURM 0.2.12 -========================= - -- Fixes for reported problems: - - Fix for "waitpid: No child processes" when using TotalView (slurm/217). - - Implemented temporary workaround for slurm/223: "Munge decode failed: - Munged communication error." - - Temporary fix for slurm/222: "elan3_create(0): Invalid argument." - -- Fixed memory leaks in slurmctld (mostly due to reconfigure). - -- More squeue/sinfo interface changes (see squeue(1), sinfo(1)). - -- Sinfo now accepts list of node states to -t,--state option. - -- Node "reason" field now available via sinfo command (see sinfo(1)). - -- Wrapper source for srun (srun.wrapper.c) now installed and available - for TotalView support. - -- Improved retry login in user commands for periods when slurmctld - primary is down and backup has not yet taken over. - -* Changes in SLURM 0.2.11 -========================= - -- Changes in srun: - - Fixed bug in signal handling that occaisonally resulted in orphaned - jobs when using Ctrl-C. - - Return non-zero exit code when remote tasks are killed by a signal. - - SIGALRM is now blocked by default. - -- Added ``reason'' string for down, drained, or draining nodes. - -- Added -V,--version option to squeue and sinfo. - -- Improved some error messages from user utilities. - -* Changes in SLURM 0.2.10 -========================= - -- New slurm.conf configuration parameters: - - WaitTime: Default for srun -w,--wait parameter. - - MaxJobCount: Maximum number of jobs SLURM can handle at one time. - - MinJobAge: Minimum time since completing before job is purged from - slurmctld memory. - -- Block user defined signals USR1 and USR2 in slurmd session manager. - -- More squeue cleanup. - -- Support for passing options to sinfo via environment variables. - -- Added option to scontrol to find intersection of completing jobs and nodes. - -- Added fix in auth_munge to prevent "Munged communication error" message. - -* Changes in SLURM 0.2.9 -======================== - -- Fixes for reported problems: - - Argument to srun `-n' option was taken as octal if preceeded with a `0'. - -- New format for Elan hosts config file (/etc/elanhosts. See README) - -- Various fixes for managing COMPLETING jobs. - -- Support for passing options to squeue via environment variables - (see squeue(1)) - -* Changes in SLURM 0.2.8 -========================= - -- Fix for bug in slurmd that could make debug messages appear in job output. - -- Fix for bug in slurmctld retry count computation. - -- Srun now times out slow launch threads. - -- "Time Used" output in squeue now includes seconds. - -* Changes in SLURM 0.2.7 -========================= - -- Fix for bug in Elan module that results in slurmd hang. - -- Added completing job state to default list of states to print with squeue. - -* Changes in SLURM 0.2.6 -========================= - -- More fixes for handling cleanup of slow terminating jobs. - -- Fixed bug in srun that might leave nodes allocated after a Ctrl-C. - -* Changes in SLURM 0.2.5 -========================= - -- Various fixes for cleanup of slow terminating or unkillable jobs. - -- Fixed some small memory leaks in communications code. - -- Added hack for synchronized exit of jobs on large node count. - -- Long lists of nodes are no longer truncated in sinfo. - -- Print more descriptive error message when tasks exit with nonzero status. - -- Fixed bug in srun where unsuccessful launch attempts weren't detected. - -- Elan network error resolver thread now runs from elan module in slurmd. - -- Slurmctld uses consecutive Elan context and program description numbers - instead of choosing them randomly. - -* Changes in SLURM 0.2.4 -========================== - -- Fix for file descriptor leak in slurmctld. - -- auth_munge plugin now prints credential info on decode failure. - -- Minor changes to scancel interface. - -- Filename format option "%J" now works again for srun --output and --error. - -* Changes in SLURM 0.2.3 -========================== - -- Fix bug in srun when using per-task files for stderr. - -- Better error reporting on failure to open per-task input/output files. - -- Update auth_munge plugin for munge 0.1. - -- Minor changes to squeue interface. - -- New srun option `--hold' to submit job in "held" state. - -* Changes in SLURM 0.2.2 -========================== - -- Fixes for reported problems: - - Execution of script allocate mode fails in some cases. (gnats:161) - - Errors using per-task input files with Elan support. (gnats:162) - - srun doesn't handle all environment variables properly. (gnats:164) - -- Parallel job is now terminated if a task is killed by a signal. - -- Exit status of srun is set based on exit codes of tasks. - -- Redesign of sinfo interface and options. - -- Shutdown of slurmctld no longer propagates shutdown to all nodes. - -* Changes in SLURM 0.2.1 -=========================== - -- Fix bug where reconfigure request to slurmctld killed the daemon. - -* Changes in SLURM 0.2.0 -============================ - - -- SlurmdTimeout of 0 means never set a non-responding node to DOWN. - -- New srun option, -u,--unbuffered, for unbuffered stdout. - -- Enhancements for sinfo - - Non-responding nodes show "*" character appended instead of "NoResp+". - - Node states show abbreviated variant by default - -- Enhancements for scontrol. - - Added "ping" command to show current state of SLURM controllers. - - Job dump in scontrol shows user name as well as UID. - - Node state of DRAIN is appropriately mapped to DRAINING or DRAINED. - -- Fix for bug where request for task count greater than partition limit - was queued anyway. - -- Fix for bugs in job end time handling. - -- Modifications for error free builds on 64 bit architectures. - -- Job cancel immediately deallocates nodes instead of waiting on srun. - -- Attempt to create slurmd spool if it does not exist. - -- Fixed signal handling bug in srun allocate mode. - -- Earlier error detection in slurmd startup. - -- "fatal: _shm_unlock: Numerical result out of range" bug fixed in slurmd. - -- Config file parsing is now case insensitive. - -- SLURM_NODELIST environment variable now set in allocate mode. - -* Changes in SLURM 0.2.0-pre2 -============================= - - -- Fix for reconfigure when public/private key path is changed. - -- Shared memory fixes in slurmd. - - fix for infinite semaphore incrementation bug. - -- Semaphore fixes in slurmctld. - -- Slurmctld now remembers which nodes have registered after recover. - -- Fixed reattach bug when tasks have exited. - -- Change directory to /tmp in slurmd if daemonizing. - -- Logfiles are reopened on reconfigure. - -$Id$ diff --git a/executable_names/README b/executable_names/README deleted file mode 100644 index 4a0eebcff7..0000000000 --- a/executable_names/README +++ /dev/null @@ -1,133 +0,0 @@ -This is SLURM, the Simple Linux Utility for Resource Management. SLURM -is an open-source cluster resource management and job scheduling system -that strives to be simple, scalable, portable, fault-tolerant, and -interconnect agnostic. SLURM currently has been tested only under Linux. - -As a cluster resource manager, SLURM provides three key functions. First, -it allocates exclusive and/or non-exclusive access to resources -(compute nodes) to users for some duration of time so they can perform -work. Second, it provides a framework for starting, executing, and -monitoring work (normally a parallel job) on the set of allocated -nodes. Finally, it arbitrates conflicting requests for resources by -managing a queue of pending work. - -SLURM is provided "as is" and with no warranty. This software is -distributed under the GNU General Public License, please see the files -COPYING, DISCLAIMER, and LICENSE.OpenSSL for details. - -This README presents an introduction to compiling, installing, and -using SLURM. - - -SOURCE DISTRIBUTION HIERARCHY ------------------------------ - -The top-level distribution directory contains this README as well as -other high-level documentation files, and the scripts used to configure -and build SLURM (see INSTALL). Subdirectories contain the source-code -for SLURM as well as a DejaGNU test suite and further documentation. A -quick description of the subdirectories of the SLURM distribution follows: - - src/ [ SLURM source ] - SLURM source code is further organized into self explanatory - subdirectories such as src/api, src/slurmctld, etc. - - doc/ [ SLURM documentation ] - The documentation directory contains some latex, html, and ascii - text papers, READMEs, and guides. Manual pages for the SLURM - commands and configuration files are also under the doc/ directory. - - etc/ [ SLURM configuration ] - The etc/ directory contains a sample config file, as well as - some scripts useful for running SLURM. - - slurm/ [ SLURM include files ] - This directory contains installed include files, such as slurm.h - and slurm_errno.h, needed for compiling against the SLURM API. - - testsuite/ [ SLURM test suite ] - The testsuite directory contains the framework for a set of - DejaGNU and "make check" type tests for SLURM components. - There is also an extensive collection of Expect scripts. - - auxdir/ [ autotools directory ] - Directory for autotools scripts and files used to configure and - build SLURM - - -COMPILING AND INSTALLING THE DISTRIBUTION ------------------------------------------ - -Please the the INSTALL file for basic instructions. You will need a -working installation of OpenSSL. - -SLURM does not use reserved ports to authenticate communication -between components. You will need to have at least one "auth" -plugin. Currently, only three authentication plugins are available: -"auth/none," "auth/authd," and "auth/munge." The "auth/none" plugin is -built and used by default, but one of either Brent Chun's authd, or Chris -Dunlap's Munge should be installed in order to get properly authenticated -communications. The configure script in the top-level directory of this -distribution will determine which authentication plugins may be built. - - -OpenSSL: -http://www.openssl.org - -AUTHD: -http://www.theether.org/authd/ - -MUNGE: -http://www.llnl.gov/linux/munge/ - - -CONFIGURATION -------------- - -An annotated sample configuration file for SLURM is provided with this -distribution as etc/slurm.conf.example. Edit this config file to suit -your site and cluster, then copy it to `$sysconfdir/slurm.conf,' where -sysconfdir defaults to PREFIX/etc unless explicitly overwritten in the -`configure' or `make' steps. - -Once the config file is installed in the proper location, you'll need -to create the keys for SLURM job credential creation and verification. -The following openssl commands should be used: - - > openssl genrsa -out /path/to/private/key 1024 - > openssl rsa -in /path/to/private/key -pubout -out /path/to/public/key - -The private key and public key locations should be those specified by -JobCredentialPrivateKey and JobCredentialPublicCertificate in the SLURM -config file. - - -RUNNING SLURM -------------- - -Once a valid configuration has been set up and installed, the SLURM -controller, slurmctld, should be started on the primary and backup -control machines, and the SLURM compute node daemon, slurmd, should be -started on each compute server. - -The slurmd daemons need to run as root for production use, but may be -run as a user for testing purposes (obviously no jobs may be run as -any other user in that configuration). The SLURM controller, slurmctld, -need to be run as the configured SlurmUser (see your config file). - -Man pages are the best source of information about SLURM commands and -daemons. Please see: slurmctld(8), slurmd(8), scontrol(1), sinfo(1), -squeue(1), scancel(1), and srun(1). - -Also, take a look at the Quickstart Guide to get acquainted with -running and managing jobs with SLURM: doc/html/quickstart_admin.html -or PREFIX/share/doc/quickstart_admin.html. - - -PROBLEMS --------- - -If you experience problems compiling, installing, or running SLURM -please send e-mail to either slurm-dev@lists.llnl.gov. - -$Id$ diff --git a/executable_names/RELEASE_NOTES b/executable_names/RELEASE_NOTES deleted file mode 100644 index 570f601c58..0000000000 --- a/executable_names/RELEASE_NOTES +++ /dev/null @@ -1,78 +0,0 @@ -RELEASE NOTES FOR SLURM VERSION 1.2 -3 October 2006 (through 1.2.0-pre3) - - -NEW COMMANDS - -* Several new commands have been added to perform individual srun functions. - The srun command will continue to exist, but these commands may offer - greater clarity and ease of use. The srun options --allocate, --attach, - and --batch will eventially cease being supported. The new commands are - salloc - Create a job allocation (functions like "srun --allocate") - sattach - Attach to an existing job step (functions like "srun --attach") - sbatch - Submit a batch job script (functions like "srun --batch") - slaunch - Launch tasks (requires a pre-existing job allocation) - See the indivual man pages for more information. - -* A new GUI is available for viewing and modifying state information, sview. - Note that sview will only be built on systems which have libglade-2.0 and - gtk+-2.0 installed. - - -CONFIGURATION FILE CHANGES - -* The slurm.conf configuration file now supports a "Include" directive to - include other files inline. - -* Added new configuration parameter MessageTimeout (replaces #define in the - code). - -* Added new configuration parameter MailProg (in case mail program is not - at "/bin/mail"). - -* Removed defunct configuration parameter, ShedulerAuth. It has been rendered - obsolute by the new wiki.conf file. - -* Several new configuration parameters can be used to specify architectural - details of the node: Sockets, CoresPerSocket, and ThreadsPerCore. - - -OTHER CHANGES - -* Several srun options are available to control layout of tasks across the - cores on a node: --extra-node-info, --ntasks-per-node, --sockets-per-node, - --cores-per-socket, --threads-per-core, --minsockets, --mincores, --minthreads, - --ntasks-per-socket, --ntasks-per-core, and --ntasks-per-node. - -* New scontrol, sinfo and squeue options can be used to view socket, core, - and task details by job and/or node. - -* Permit batch jobs to be requeued ("scontrol requeue " or - "srun --batch --no-requeue ..." to prevent). - -* View a job's exit code using "scontrol show job". - -* Added "account" field to job and step accounting information and sacct output. - -* Added new job field, "comment". Set by srun, salloc and sbatch. View - with "scontrol show job". Used by sched/wiki. - -* Added support for OS X operaing system. - -* There is a new version of the Wiki scheduler plugin to interface with - the Maui Scheduler and Moab. It can be accessed with the slurm.conf - parameter "SchedulerType=sched/wiki2" (it will replace "sched/wiki" - in SLURM version 1.2, but will co-exist in version 1.1.10+). If you - currently use sched/wiki, you will at least need to add a wiki.conf - file. Key differences include: - - Node and job data returned is correct (several errors in old plugin) - - Node data includes partition information (CCLASS field) - - Improved error handling - - Support added for configuration file ("wiki.conf" in same directory - as "slurm.conf" file, see "man wiki.conf" for details) - - Support added for job suspend/resume and requeue - - Authentication of communications now supported - - Notification of scheduler on events (job submitted or termination) - - -See the file NEWS for more details. diff --git a/executable_names/aclocal.m4 b/executable_names/aclocal.m4 deleted file mode 100644 index 348e2d6f38..0000000000 --- a/executable_names/aclocal.m4 +++ /dev/null @@ -1,7033 +0,0 @@ -# generated automatically by aclocal 1.9 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- - -# serial 47 AC_PROG_LIBTOOL - - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL - - -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl - -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR - -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' -[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] - -# Same as above, but do not quote variable references. -[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except M$VC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" - ;; - *) - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default - -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP - - -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_AC_SYS_COMPILER - - -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX - - -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT - - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string="`eval $cmd`") 2>/dev/null && - echo_test_string="`eval $cmd`" && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH - - -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case "`/usr/bin/file conftest.o`" in - *32-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; - ]) -esac - -need_locks="$enable_libtool_lock" - -])# _LT_AC_LOCK - - -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s conftest.err; then - $2=yes - fi - fi - $rm conftest* -]) - -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION - - -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - else - $2=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) -fi -])# AC_LIBTOOL_LINKER_OPTION - - -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* ) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for *BSD - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - ;; - - *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -])# AC_LIBTOOL_SYS_MAX_CMD_LEN - - -# _LT_AC_CHECK_DLFCN -# -------------------- -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN - - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ------------------------------------------------------------------ -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_unknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF - - -# AC_LIBTOOL_DLOPEN_SELF -# ------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -])# AC_LIBTOOL_DLOPEN_SELF - - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s out/conftest.err; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O - - -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl - -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -])# AC_LIBTOOL_OBJDIR - - -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH - - -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -])# AC_LIBTOOL_SYS_LIB_STRIP - - -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - *) # from 3.2 on - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case "$host_cpu" in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`$SED -e 's/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g' /etc/ld.so.conf | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && test "X$CXX" != "Xno"; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi -fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 dll's -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -#- set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognise shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -])# AC_PATH_TOOL_PREFIX - - -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognise a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# AC_PATH_MAGIC - - -# AC_PROG_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no]) -AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case "$host_cpu" in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux*) - case $host_cpu in - alpha*|hppa*|i*86|ia64*|m68*|mips*|powerpc*|sparc*|s390*|sh*) - lt_cv_deplibs_check_method=pass_all ;; - *) - # glibc up to 2.1.1 does not perform some relocations on ARM - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; - esac - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown -])# AC_DEPLIBS_CHECK_METHOD - - -# AC_PROG_NM -# ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/${ac_tool_prefix}nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - esac - fi - done - IFS="$lt_save_ifs" - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM - - -# AC_CHECK_LIBM -# ------------- -# check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -])# AC_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL -# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If -# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will -# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and -# top_srcdir appropriately in the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that LIBLTDL -# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If -# DIRECTORY is not provided and an installed libltdl is not found, it is -# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' -# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single -# quotes!). If your package is not flat and you're not using automake, -# define top_builddir and top_srcdir appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# -------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' - -_LT_AC_SYS_COMPILER - -# -# Check for any special shared library compilation flags. -# -_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= -if test "$GCC" = no; then - case $host_os in - sco3.2v5*) - _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' - ;; - esac -fi -if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then - AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) - if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[ ]]" >/dev/null; then : - else - AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) - _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no - fi -fi - - -# -# Check to make sure the static flag actually works. -# -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) - - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) - -# Report which librarie types wil actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG - - -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= - -# Source file extension for C++ test sources. -ac_ext=cc - -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - AC_PROG_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -_LT_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds it's shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - case "$host_os" in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case "$cc_basename" in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[12]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | kfreebsd*-gnu) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - case "$host_cpu" in - hppa*64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - ;; - *) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case "$host_cpu" in - hppa*64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC) - case "$host_cpu" in - hppa*64*|ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case "$host_cpu" in - ia64*|hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - irix5* | irix6*) - case $cc_basename in - CC) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux*) - case $cc_basename in - KCC) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - cxx) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; - osf3*) - case $cc_basename in - KCC) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ - $rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sco*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - case $cc_basename in - CC) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - fi - ;; - esac - ;; - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - tandem*) - case $cc_basename in - NCC) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" -ifelse([$1], [], -[#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) - -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) - -# Must we lock files when doing compilation ? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) - -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" - -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) - -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) - -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) - -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) - -__EOF__ - -ifelse([$1],[], [ - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \2\3 \3' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris* | sysv5*) - symcode='[[BDRT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - - -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case "$cc_basename" in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | kfreebsd*-gnu) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux*) - case $cc_basename in - KCC) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - icpc) - # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - cxx) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC) - # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx) - # Digital/Compaq C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - sco*) - case $cc_basename in - CC) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - *) - ;; - esac - ;; - solaris*) - case $cc_basename in - CC) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC) - # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - unixware*) - ;; - vxworks*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case "$cc_basename" in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - linux*) - case $CC in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - sco3.2v5*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' - ;; - - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case "$host_os" in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" - ;; -esac -]) - - -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris* | sysv5*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_cmds, $1)="$tmp_archive_cmds" - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ -cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ -$echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="$tmp_archive_cmds" - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds it's shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - bsdi[[45]]*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - case "$host_os" in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case "$cc_basename" in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10* | hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*|ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case "$host_cpu" in - hppa*64*|ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - *) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - sco3.2v5*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ;; - - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4.2uw2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; - - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv5*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - ;; - - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -# -# Do we need to explicitly link libc? -# -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS - - -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C - - -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) - - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) - -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) - -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && break - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_MSG_RESULT([$SED]) -]) - -# -*- Autoconf -*- -# Copyright (C) 2002, 2003 Free Software Foundation, Inc. -# Generated from amversion.in; do not edit by hand. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION so it can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9])]) - -# AM_AUX_DIR_EXPAND - -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 6 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE]) -AC_SUBST([$1_FALSE]) -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# serial 7 -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH]) -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -#serial 2 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# This macro actually does too much some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 11 - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.58])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -]) -]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $1 | $1:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. - -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"$am_aux_dir/install-sh"} -AC_SUBST(install_sh)]) - -# -*- Autoconf -*- -# Copyright (C) 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 1 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Add --enable-maintainer-mode option to configure. -# From Jim Meyering - -# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 3 - -AC_DEFUN([AM_MAINTAINER_MODE], -[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode is disabled by default - AC_ARG_ENABLE(maintainer-mode, -[ --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer], - USE_MAINTAINER_MODE=$enableval, - USE_MAINTAINER_MODE=no) - AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST(MAINT)dnl -] -) - -AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 2 - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# -*- Autoconf -*- - - -# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 3 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# AM_PROG_MKDIR_P -# --------------- -# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. - -# Copyright (C) 2003, 2004 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories -# created by `make install' are always world readable, even if the -# installer happens to have an overly restrictive umask (e.g. 077). -# This was a mistake. There are at least two reasons why we must not -# use `-m 0755': -# - it causes special bits like SGID to be ignored, -# - it may be too restrictive (some setups expect 775 directories). -# -# Do not use -m 0755 and let people choose whatever they expect by -# setting umask. -# -# We cannot accept any implementation of `mkdir' that recognizes `-p'. -# Some implementations (such as Solaris 8's) are not thread-safe: if a -# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' -# concurrently, both version can detect that a/ is missing, but only -# one can create it and the other will error out. Consequently we -# restrict ourselves to GNU make (using the --version option ensures -# this.) -AC_DEFUN([AM_PROG_MKDIR_P], -[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # We used to keeping the `.' as first argument, in order to - # allow $(mkdir_p) to be used without argument. As in - # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. However this is wrong - # for two reasons: - # 1. if the package is installed by a user who cannot write `.' - # make install will fail, - # 2. the above comment should most certainly read - # $(mkdir_p) $(DESTDIR)$(somedir) - # so it does not work when $(somedir) is undefined and - # $(DESTDIR) is not. - # To support the latter case, we have to write - # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), - # so the `.' trick is pointless. - mkdir_p='mkdir -p --' -else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - for d in ./-p ./--version; - do - test -d $d && rmdir $d - done - # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. - if test -f "$ac_aux_dir/mkinstalldirs"; then - mkdir_p='$(mkinstalldirs)' - else - mkdir_p='$(install_sh) -d' - fi -fi -AC_SUBST([mkdir_p])]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 2 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# ------------------------------ -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# -# Check to make sure that the build environment is sane. -# - -# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 3 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - -# AM_PROG_INSTALL_STRIP - -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 1 - - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([auxdir/acx_pthread.m4]) -m4_include([auxdir/slurm.m4]) -m4_include([auxdir/x_ac__system_configuration.m4]) -m4_include([auxdir/x_ac_affinity.m4]) -m4_include([auxdir/x_ac_aix.m4]) -m4_include([auxdir/x_ac_bluegene.m4]) -m4_include([auxdir/x_ac_debug.m4]) -m4_include([auxdir/x_ac_elan.m4]) -m4_include([auxdir/x_ac_federation.m4]) -m4_include([auxdir/x_ac_gpl_licensed.m4]) -m4_include([auxdir/x_ac_gtk.m4]) -m4_include([auxdir/x_ac_munge.m4]) -m4_include([auxdir/x_ac_ncurses.m4]) -m4_include([auxdir/x_ac_pam.m4]) -m4_include([auxdir/x_ac_ptrace.m4]) -m4_include([auxdir/x_ac_readline.m4]) -m4_include([auxdir/x_ac_setpgrp.m4]) -m4_include([auxdir/x_ac_setproctitle.m4]) -m4_include([auxdir/x_ac_sgi_job.m4]) -m4_include([auxdir/x_ac_slurm_ssl.m4]) -m4_include([auxdir/x_ac_xcpu.m4]) diff --git a/executable_names/autogen.sh b/executable_names/autogen.sh deleted file mode 100755 index 94255d600b..0000000000 --- a/executable_names/autogen.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/sh -# -# $Id$ -# $Source$ -# -# Run this script to generate aclocal.m4, config.h.in, -# Makefile.in's, and ./configure... -# -# To specify extra flags to aclocal (include dirs for example), -# set ACLOCAL_FLAGS -# - -DIE=0 - -# minimum required versions of autoconf/automake/libtool: -ACMAJOR=2 -ACMINOR=59 - -AMMAJOR=1 -AMMINOR=9 -AMPATCH=0 - -LTMAJOR=1 -LTMINOR=5 -LTPATCH=8 - -(autoconf --version 2>&1 | \ - perl -n0e "(/(\d+)\.(\d+)/ && \$1>=$ACMAJOR && \$2>=$ACMINOR) || exit 1") || { - echo - echo "Error: You must have 'autoconf' version $ACMAJOR.$ACMINOR or greater" - echo "installed to run $0. Get the latest version from" - echo "ftp://ftp.gnu.org/pub/gnu/autoconf/" - echo - NO_AUTOCONF=yes - DIE=1 -} - -amtest=" - if (/(\d+)\.(\d+)((-p|\.)(\d+))*/) { - exit 1 if (\$1 < $AMMAJOR || \$2 < $AMMINOR); - exit 0 if (\$2 > $AMMINOR); - exit 1 if (\$5 < $AMPATCH); -}" - -(automake --version 2>&1 | perl -n0e "$amtest" ) || { - echo - echo "Error: You must have 'automake' version $AMMAJOR.$AMMINOR.$AMPATCH or greater" - echo "installed to run $0. Get the latest version from" - echo "ftp://ftp.gnu.org/pub/gnu/automake/" - echo - NO_AUTOCONF=yes - DIE=1 -} - -lttest=" - if (/(\d+)\.(\d+)((-p|\.)(\d+))*/) { - exit 1 if (\$1 < $LTMAJOR); - exit 1 if (\$1 == $LTMAJOR && \$2 < $LTMINOR); - exit 1 if (\$1 == $LTMAJOR && \$2 == $LTMINOR && \$5 < $LTPATCH); -}" - -(libtool --version 2>&1 | perl -n0e "$lttest" ) || { - echo - echo "Error: You must have 'libtool' version $LTMAJOR.$LTMINOR.$LTPATCH or greater" - echo "installed to run $0. Get the latest version from" - echo "ftp://ftp.gnu.org/pub/gnu/libtool/" - echo - DIE=1 -} - - -test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "Error: \`aclocal' appears to be missing. The installed version of" - echo "\`automake' may be too old. Get the most recent version from" - echo "ftp://ftp.gnu.org/pub/gnu/automake/" - NO_ACLOCAL=yes - DIE=1 -} - -if test $DIE -eq 1; then - exit 1 -fi - -# make sure that auxdir exists -mkdir auxdir 2>/dev/null - -# Remove config.h.in to make sure it is rebuilt -rm -f config.h.in - -set -x -rm -fr autom4te*.cache -aclocal -I auxdir $ACLOCAL_FLAGS || exit 1 -libtoolize --automake --copy --force || exit 1 -autoheader || exit 1 -automake --add-missing --copy --force-missing || exit 1 -#autoconf --force --warnings=all || exit 1 -autoconf --force --warnings=no-obsolete || exit 1 -set +x - -if [ -e config.status ]; then - echo "removing stale config.status." - rm -f config.status -fi -if [ -e config.log ]; then - echo "removing old config.log." - rm -f config.log -fi - -echo "now run ./configure to configure slurm for your environment." -echo -echo "NOTE: This script has most likely just modified files that are under" -echo " version control. Make sure that you really want these changes" -echo " applied to the repository before you run \"svn commit\"." diff --git a/executable_names/auxdir/Makefile.am b/executable_names/auxdir/Makefile.am deleted file mode 100644 index 22a5719b46..0000000000 --- a/executable_names/auxdir/Makefile.am +++ /dev/null @@ -1,25 +0,0 @@ -##**************************************************************************** -## $Id$ -##**************************************************************************** -## Process this file with automake to produce Makefile.in. -##**************************************************************************** - -EXTRA_DIST = \ - acx_pthread.m4 \ - slurm.m4 \ - type_socklen_t.m4 \ - x_ac__system_configuration.m4 \ - x_ac_affinity.m4 \ - x_ac_aix.m4 \ - x_ac_bluegene.m4 \ - x_ac_debug.m4 \ - x_ac_elan.m4 \ - x_ac_federation.m4 \ - x_ac_gpl_licensed.m4 \ - x_ac_pam.m4 \ - x_ac_munge.m4 \ - x_ac_ncurses.m4 \ - x_ac_ptrace.m4 \ - x_ac_readline.m4 \ - x_ac_setproctitle.m4 \ - x_ac_slurm_ssl.m4 diff --git a/executable_names/auxdir/Makefile.in b/executable_names/auxdir/Makefile.in deleted file mode 100644 index af0532bba8..0000000000 --- a/executable_names/auxdir/Makefile.in +++ /dev/null @@ -1,429 +0,0 @@ -# Makefile.in generated by automake 1.9 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_triplet = @host@ -subdir = auxdir -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in compile \ - config.guess config.sub depcomp install-sh ltmain.sh missing -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/auxdir/acx_pthread.m4 \ - $(top_srcdir)/auxdir/slurm.m4 \ - $(top_srcdir)/auxdir/x_ac__system_configuration.m4 \ - $(top_srcdir)/auxdir/x_ac_affinity.m4 \ - $(top_srcdir)/auxdir/x_ac_aix.m4 \ - $(top_srcdir)/auxdir/x_ac_bluegene.m4 \ - $(top_srcdir)/auxdir/x_ac_debug.m4 \ - $(top_srcdir)/auxdir/x_ac_elan.m4 \ - $(top_srcdir)/auxdir/x_ac_federation.m4 \ - $(top_srcdir)/auxdir/x_ac_gpl_licensed.m4 \ - $(top_srcdir)/auxdir/x_ac_gtk.m4 \ - $(top_srcdir)/auxdir/x_ac_munge.m4 \ - $(top_srcdir)/auxdir/x_ac_ncurses.m4 \ - $(top_srcdir)/auxdir/x_ac_pam.m4 \ - $(top_srcdir)/auxdir/x_ac_ptrace.m4 \ - $(top_srcdir)/auxdir/x_ac_readline.m4 \ - $(top_srcdir)/auxdir/x_ac_setpgrp.m4 \ - $(top_srcdir)/auxdir/x_ac_setproctitle.m4 \ - $(top_srcdir)/auxdir/x_ac_sgi_job.m4 \ - $(top_srcdir)/auxdir/x_ac_slurm_ssl.m4 \ - $(top_srcdir)/auxdir/x_ac_xcpu.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/slurm/slurm.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTHD_CFLAGS = @AUTHD_CFLAGS@ -AUTHD_LIBS = @AUTHD_LIBS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BG_INCLUDES = @BG_INCLUDES@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CMD_LDFLAGS = @CMD_LDFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG_MODULES_FALSE = @DEBUG_MODULES_FALSE@ -DEBUG_MODULES_TRUE = @DEBUG_MODULES_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ELAN_LIBS = @ELAN_LIBS@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FEDERATION_LDFLAGS = @FEDERATION_LDFLAGS@ -FFLAGS = @FFLAGS@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -HAVEPKGCONFIG = @HAVEPKGCONFIG@ -HAVE_AIX = @HAVE_AIX@ -HAVE_AIX_FALSE = @HAVE_AIX_FALSE@ -HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@ -HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@ -HAVE_AIX_TRUE = @HAVE_AIX_TRUE@ -HAVE_ELAN = @HAVE_ELAN@ -HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@ -HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@ -HAVE_FEDERATION = @HAVE_FEDERATION@ -HAVE_FEDERATION_FALSE = @HAVE_FEDERATION_FALSE@ -HAVE_FEDERATION_TRUE = @HAVE_FEDERATION_TRUE@ -HAVE_GTK_FALSE = @HAVE_GTK_FALSE@ -HAVE_GTK_TRUE = @HAVE_GTK_TRUE@ -HAVE_NUMA_FALSE = @HAVE_NUMA_FALSE@ -HAVE_NUMA_TRUE = @HAVE_NUMA_TRUE@ -HAVE_PAM_FALSE = @HAVE_PAM_FALSE@ -HAVE_PAM_TRUE = @HAVE_PAM_TRUE@ -HAVE_SCHED_SETAFFINITY_FALSE = @HAVE_SCHED_SETAFFINITY_FALSE@ -HAVE_SCHED_SETAFFINITY_TRUE = @HAVE_SCHED_SETAFFINITY_TRUE@ -HAVE_SGI_JOB_FALSE = @HAVE_SGI_JOB_FALSE@ -HAVE_SGI_JOB_TRUE = @HAVE_SGI_JOB_TRUE@ -HAVE_SOME_CURSES = @HAVE_SOME_CURSES@ -HAVE_SOME_CURSES_FALSE = @HAVE_SOME_CURSES_FALSE@ -HAVE_SOME_CURSES_TRUE = @HAVE_SOME_CURSES_TRUE@ -HAVE_UNSETENV_FALSE = @HAVE_UNSETENV_FALSE@ -HAVE_UNSETENV_TRUE = @HAVE_UNSETENV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_LDFLAGS = @LIB_LDFLAGS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MUNGE_CPPFLAGS = @MUNGE_CPPFLAGS@ -MUNGE_LDFLAGS = @MUNGE_LDFLAGS@ -MUNGE_LIBS = @MUNGE_LIBS@ -NCURSES = @NCURSES@ -NUMA_LIBS = @NUMA_LIBS@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PAM_LIBS = @PAM_LIBS@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PROCTRACKDIR = @PROCTRACKDIR@ -PROJECT = @PROJECT@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -READLINE_LIBS = @READLINE_LIBS@ -RELEASE = @RELEASE@ -SEMAPHORE_LIBS = @SEMAPHORE_LIBS@ -SEMAPHORE_SOURCES = @SEMAPHORE_SOURCES@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SLURMCTLD_PORT = @SLURMCTLD_PORT@ -SLURMD_PORT = @SLURMD_PORT@ -SLURM_API_AGE = @SLURM_API_AGE@ -SLURM_API_CURRENT = @SLURM_API_CURRENT@ -SLURM_API_MAJOR = @SLURM_API_MAJOR@ -SLURM_API_REVISION = @SLURM_API_REVISION@ -SLURM_API_VERSION = @SLURM_API_VERSION@ -SLURM_MAJOR = @SLURM_MAJOR@ -SLURM_MICRO = @SLURM_MICRO@ -SLURM_MINOR = @SLURM_MINOR@ -SLURM_VERSION = @SLURM_VERSION@ -SO_LDFLAGS = @SO_LDFLAGS@ -SSL_CPPFLAGS = @SSL_CPPFLAGS@ -SSL_LDFLAGS = @SSL_LDFLAGS@ -SSL_LIBS = @SSL_LIBS@ -STRIP = @STRIP@ -VERSION = @VERSION@ -WITH_AUTHD_FALSE = @WITH_AUTHD_FALSE@ -WITH_AUTHD_TRUE = @WITH_AUTHD_TRUE@ -WITH_GNU_LD_FALSE = @WITH_GNU_LD_FALSE@ -WITH_GNU_LD_TRUE = @WITH_GNU_LD_TRUE@ -WITH_MUNGE_FALSE = @WITH_MUNGE_FALSE@ -WITH_MUNGE_TRUE = @WITH_MUNGE_TRUE@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -EXTRA_DIST = \ - acx_pthread.m4 \ - slurm.m4 \ - type_socklen_t.m4 \ - x_ac__system_configuration.m4 \ - x_ac_affinity.m4 \ - x_ac_aix.m4 \ - x_ac_bluegene.m4 \ - x_ac_debug.m4 \ - x_ac_elan.m4 \ - x_ac_federation.m4 \ - x_ac_gpl_licensed.m4 \ - x_ac_pam.m4 \ - x_ac_munge.m4 \ - x_ac_ncurses.m4 \ - x_ac_ptrace.m4 \ - x_ac_readline.m4 \ - x_ac_setproctitle.m4 \ - x_ac_slurm_ssl.m4 - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu auxdir/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu auxdir/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/executable_names/auxdir/acx_pthread.m4 b/executable_names/auxdir/acx_pthread.m4 deleted file mode 100644 index bed63d06e2..0000000000 --- a/executable_names/auxdir/acx_pthread.m4 +++ /dev/null @@ -1,221 +0,0 @@ -dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl This macro figures out how to build C programs using POSIX -dnl threads. It sets the PTHREAD_LIBS output variable to the threads -dnl library and linker flags, and the PTHREAD_CFLAGS output variable -dnl to any special C compiler flags that are needed. (The user can also -dnl force certain compiler flags/libs to be tested by setting these -dnl environment variables.) -dnl -dnl Also sets PTHREAD_CC to any special C compiler that is needed for -dnl multi-threaded programs (defaults to the value of CC otherwise). -dnl (This is necessary on AIX to use the special cc_r compiler alias.) -dnl -dnl If you are only building threads programs, you may wish to -dnl use these variables in your default LIBS, CFLAGS, and CC: -dnl -dnl LIBS="$PTHREAD_LIBS $LIBS" -dnl CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -dnl CC="$PTHREAD_CC" -dnl -dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute -dnl constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE -dnl to that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). -dnl -dnl ACTION-IF-FOUND is a list of shell commands to run if a threads -dnl library is found, and ACTION-IF-NOT-FOUND is a list of commands -dnl to run it if it is not found. If ACTION-IF-FOUND is not specified, -dnl the default action will define HAVE_PTHREAD. -dnl -dnl Please let the authors know if this macro fails on any platform, -dnl or if you have any other suggestions or comments. This macro was -dnl based on work by SGJ on autoconf scripts for FFTW (www.fftw.org) -dnl (with help from M. Frigo), as well as ac_pthread and hb_pthread -dnl macros posted by AFC to the autoconf macro repository. We are also -dnl grateful for the helpful feedback of numerous users. -dnl -dnl @version $Id$ -dnl @author Steven G. Johnson and Alejandro Forero Cuervo - -AC_DEFUN([ACX_PTHREAD], [ -AC_REQUIRE([AC_CANONICAL_HOST]) - -AC_LANG_PUSH([C]) -acx_pthread_ok=no - -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. - -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) - AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) - AC_MSG_RESULT($acx_pthread_ok) - if test x"$acx_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" -fi - -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all. - -acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# pthread: Linux, etcetera -# --thread-safe: KAI C++ - -case "${host_cpu}-${host_os}" in - *solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthread or - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" - ;; -esac - -if test x"$acx_pthread_ok" = xno; then -for flag in $acx_pthread_flags; do - - case $flag in - none) - AC_MSG_CHECKING([whether pthreads work without any flags]) - ;; - - -*) - AC_MSG_CHECKING([whether pthreads work with $flag]) - PTHREAD_CFLAGS="$flag" - ;; - - *) - AC_MSG_CHECKING([for the pthreads library -l$flag]) - PTHREAD_LIBS="-l$flag" - ;; - esac - - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0); ]])],[acx_pthread_ok=yes],[]) - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - AC_MSG_RESULT($acx_pthread_ok) - if test "x$acx_pthread_ok" = xyes; then - break; - fi - - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done -fi - -# Various other checks: -if test "x$acx_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Detect AIX lossage: threads are created detached by default - # and the JOINABLE attribute has a nonstandard name (UNDETACHED). - AC_MSG_CHECKING([for joinable pthread attribute]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[int attr=PTHREAD_CREATE_JOINABLE;]])],[ok=PTHREAD_CREATE_JOINABLE],[ok=unknown]) - if test x"$ok" = xunknown; then - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[int attr=PTHREAD_CREATE_UNDETACHED;]])],[ok=PTHREAD_CREATE_UNDETACHED],[ok=unknown]) - fi - if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then - AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, - [Define to the necessary symbol if this constant - uses a non-standard name on your system.]) - fi - AC_MSG_RESULT(${ok}) - if test x"$ok" = xunknown; then - AC_MSG_WARN([we do not know how to create joinable pthreads]) - fi - - AC_MSG_CHECKING([if more special flags are required for pthreads]) - flag=no - case "${host_cpu}-${host_os}" in - *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; - *solaris* | alpha*-osf*) flag="-D_REENTRANT";; - esac - AC_MSG_RESULT(${flag}) - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - # More AIX lossage: must compile with cc_r - AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) -else - PTHREAD_CC="$CC" -fi - -AC_SUBST(PTHREAD_LIBS) -AC_SUBST(PTHREAD_CFLAGS) -AC_SUBST(PTHREAD_CC) - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$acx_pthread_ok" = xyes; then - ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) - : -else - acx_pthread_ok=no - $2 -fi -AC_LANG_POP([C]) -])dnl ACX_PTHREAD - diff --git a/executable_names/auxdir/config.guess b/executable_names/auxdir/config.guess deleted file mode 100755 index a6d8a945f6..0000000000 --- a/executable_names/auxdir/config.guess +++ /dev/null @@ -1,1449 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. - -timestamp='2004-06-24' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit 0 ;; - amd64:OpenBSD:*:*) - echo x86_64-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - cats:OpenBSD:*:*) - echo arm-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - luna88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mipseb-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit 0 ;; - macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} - exit 0 ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit 0 ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit 0 ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit 0 ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit 0;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit 0 ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit 0 ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit 0 ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit 0;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit 0 ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit 0 ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit 0 ;; - DRS?6000:UNIX_SV:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7 && exit 0 ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit 0 ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit 0 ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit 0 ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c \ - && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && exit 0 - echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit 0 ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit 0 ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit 0 ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit 0 ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit 0 ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit 0 ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit 0 ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit 0 ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit 0 ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit 0 ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit 0 ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit 0 ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit 0 ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 - echo rs6000-ibm-aix3.2.5 - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit 0 ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit 0 ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit 0 ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit 0 ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit 0 ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit 0 ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit 0 ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - # avoid double evaluation of $set_cc_for_build - test -n "$CC_FOR_BUILD" || eval $set_cc_for_build - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 - echo unknown-hitachi-hiuxwe2 - exit 0 ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit 0 ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit 0 ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit 0 ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit 0 ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit 0 ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit 0 ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit 0 ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit 0 ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit 0 ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit 0 ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit 0 ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' - exit 0 ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit 0 ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit 0 ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit 0 ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit 0 ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit 0 ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 - ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit 0 ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit 0 ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit 0 ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit 0 ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit 0 ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit 0 ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #ifdef __INTEL_COMPILER - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit 0 ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit 0 ;; - i*86:*:5:[78]*) - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit 0 ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit 0 ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit 0 ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit 0 ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit 0 ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit 0 ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit 0 ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit 0 ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit 0 ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit 0 ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit 0 ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit 0 ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit 0 ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit 0 ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit 0 ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit 0 ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit 0 ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit 0 ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit 0 ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit 0 ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Darwin:*:*) - case `uname -p` in - *86) UNAME_PROCESSOR=i686 ;; - powerpc) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit 0 ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit 0 ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit 0 ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit 0 ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit 0 ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit 0 ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit 0 ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit 0 ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit 0 ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit 0 ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit 0 ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit 0 ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms && exit 0 ;; - I*) echo ia64-dec-vms && exit 0 ;; - V*) echo vax-dec-vms && exit 0 ;; - esac -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit 0 ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - c34*) - echo c34-convex-bsd - exit 0 ;; - c38*) - echo c38-convex-bsd - exit 0 ;; - c4*) - echo c4-convex-bsd - exit 0 ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/executable_names/auxdir/config.sub b/executable_names/auxdir/config.sub deleted file mode 100755 index ac6de9869c..0000000000 --- a/executable_names/auxdir/config.sub +++ /dev/null @@ -1,1552 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. - -timestamp='2004-06-24' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit 0;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ - kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32r | m32rle | m68000 | m68k | m88k | mcore \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | msp430 \ - | ns16k | ns32k \ - | openrisc | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xscale | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ - | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | msp430-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ - | xtensa-* \ - | ymp-* \ - | z8k-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16c) - basic_machine=cr16c-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - or32 | or32-*) - basic_machine=or32-unknown - os=-coff - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/executable_names/auxdir/depcomp b/executable_names/auxdir/depcomp deleted file mode 100755 index 11e2d3bfe1..0000000000 --- a/executable_names/auxdir/depcomp +++ /dev/null @@ -1,522 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2004-05-31.23 - -# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit 0 - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit 0 - ;; -esac - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - stat=$? - - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - outname="$stripped.o" - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # Dependencies are output in .lo.d with libtool 1.4. - # With libtool 1.5 they are output both in $dir.libs/$base.o.d - # and in $dir.libs/$base.o.d and $dir$base.o.d. We process the - # latter, because the former will be cleaned when $dir.libs is - # erased. - tmpdepfile1="$dir.libs/$base.lo.d" - tmpdepfile2="$dir$base.o.d" - tmpdepfile3="$dir.libs/$base.d" - "$@" -Wc,-MD - else - tmpdepfile1="$dir$base.o.d" - tmpdepfile2="$dir$base.d" - tmpdepfile3="$dir$base.d" - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - if test -f "$tmpdepfile1"; then - tmpdepfile="$tmpdepfile1" - elif test -f "$tmpdepfile2"; then - tmpdepfile="$tmpdepfile2" - else - tmpdepfile="$tmpdepfile3" - fi - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no - for arg in "$@"; do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - "$@" || exit $? - IFS=" " - for arg - do - case "$arg" in - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/executable_names/auxdir/install-sh b/executable_names/auxdir/install-sh deleted file mode 100755 index b777f1244c..0000000000 --- a/executable_names/auxdir/install-sh +++ /dev/null @@ -1,322 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2004-07-05.00 - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -chmodcmd="$chmodprog 0755" -chowncmd= -chgrpcmd= -stripcmd= -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src= -dst= -dir_arg= -dstarg= -no_target_directory= - -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: --c (ignored) --d create directories instead of installing files. --g GROUP $chgrpprog installed files to GROUP. --m MODE $chmodprog installed files to MODE. --o USER $chownprog installed files to USER. --s $stripprog installed files. --t DIRECTORY install into DIRECTORY. --T report an error if DSTFILE is a directory. ---help display this help and exit. ---version display version info and exit. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -" - -while test -n "$1"; do - case $1 in - -c) shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - --help) echo "$usage"; exit 0;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t) dstarg=$2 - shift - shift - continue;; - - -T) no_target_directory=true - shift - continue;; - - --version) echo "$0 $scriptversion"; exit 0;; - - *) # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - test -n "$dir_arg$dstarg" && break - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done - break;; - esac -done - -if test -z "$1"; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src ;; - esac - - if test -n "$dir_arg"; then - dst=$src - src= - - if test -d "$dst"; then - mkdircmd=: - chmodcmd= - else - mkdircmd=$mkdirprog - fi - else - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dstarg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dstarg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst ;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 - exit 1 - fi - dst=$dst/`basename "$src"` - fi - fi - - # This sed command emulates the dirname command. - dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - - # Make sure that the destination directory exists. - - # Skip lots of stat calls in the usual case. - if test ! -d "$dstdir"; then - defaultIFS=' - ' - IFS="${IFS-$defaultIFS}" - - oIFS=$IFS - # Some sh's can't handle IFS=/ for some reason. - IFS='%' - set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` - IFS=$oIFS - - pathcomp= - - while test $# -ne 0 ; do - pathcomp=$pathcomp$1 - shift - if test ! -d "$pathcomp"; then - $mkdirprog "$pathcomp" - # mkdir can fail with a `File exist' error in case several - # install-sh are creating the directory concurrently. This - # is OK. - test -d "$pathcomp" || exit - fi - pathcomp=$pathcomp/ - done - fi - - if test -n "$dir_arg"; then - $doit $mkdircmd "$dst" \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } - - else - dstfile=`basename "$dst"` - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 - trap '(exit $?); exit' 1 2 13 15 - - # Copy the file name to the temp name. - $doit $cpprog "$src" "$dsttmp" && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dstdir/$dstfile"; then - $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ - || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ - || { - echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 - (exit 1); exit - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" - } - } - fi || { (exit 1); exit; } -done - -# The final little trick to "correctly" pass the exit status to the exit trap. -{ - (exit 0); exit -} - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/executable_names/auxdir/ltmain.sh b/executable_names/auxdir/ltmain.sh deleted file mode 100644 index fb79d8c247..0000000000 --- a/executable_names/auxdir/ltmain.sh +++ /dev/null @@ -1,6402 +0,0 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004 -# Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -basename="s,^.*/,,g" - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -progname=`echo "$progpath" | $SED $basename` -modename="$progname" - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 - -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.5.8 -TIMESTAMP=" (1.1220.2.117 2004/08/04 14:12:05)" - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes. -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" - -##################################### -# Shell function definitions: -# This seems to be the best place for them - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () { - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ - sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` - if test "X$win32_nmres" = "Ximport" ; then - win32_libid_type="x86 archive import" - else - win32_libid_type="x86 archive static" - fi - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $echo $win32_libid_type -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () { - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case "$@ " in - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit $EXIT_FAILURE -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () { - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - my_status="" - - $show "${rm}r $my_gentop" - $run ${rm}r "$my_gentop" - $show "$mkdir $my_gentop" - $run $mkdir "$my_gentop" - my_status=$? - if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then - exit $my_status - fi - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xdir="$my_gentop/$my_xlib" - - $show "${rm}r $my_xdir" - $run ${rm}r "$my_xdir" - $show "$mkdir $my_xdir" - $run $mkdir "$my_xdir" - status=$? - if test "$status" -ne 0 && test ! -d "$my_xdir"; then - exit $status - fi - case $host in - *-darwin*) - $show "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - if test -z "$run"; then - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename $darwin_archive` - darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` - if test -n "$darwin_arches"; then - darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - $show "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - # Remove the table of contents from the thin files. - $AR -d "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" __.SYMDEF 2>/dev/null || true - $AR -d "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" __.SYMDEF\ SORTED 2>/dev/null || true - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $AR -xo "${darwin_base_archive}" - rm "${darwin_base_archive}" - cd "$darwin_curdir" - done # $darwin_arches - ## Okay now we have a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f | xargs basename | sort -u | $NL2SP` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - lipo -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - rm -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - (cd $my_xdir && $AR x $my_xabs) || exit $? - fi # $darwin_arches - fi # $run - ;; - *) - # We will extract separately just the conflicting names and we will - # no longer touch any unique names. It is faster to leave these - # extract automatically by $AR in one run. - $show "(cd $my_xdir && $AR x $my_xabs)" - $run eval "(cd \$my_xdir && $AR x \$my_xabs)" || exit $? - if ($AR t "$my_xabs" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 - $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 - $AR t "$my_xabs" | sort | uniq -cd | while read -r count name - do - i=1 - while test "$i" -le "$count" - do - # Put our $i before any first dot (extension) - # Never overwrite any file - name_to="$name" - while test "X$name_to" = "X$name" || test -f "$my_xdir/$name_to" - do - name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` - done - $show "(cd $my_xdir && $AR xN $i $my_xabs '$name' && $mv '$name' '$name_to')" - $run eval "(cd \$my_xdir && $AR xN $i \$my_xabs '$name' && $mv '$name' '$name_to')" || exit $? - i=`expr $i + 1` - done - done - fi - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} -# End of Shell function definitions -##################################### - -# Darwin sucks -eval std_shrext=\"$shrext_cmds\" - -# Parse our command line options once, thoroughly. -while test "$#" -gt 0 -do - arg="$1" - shift - - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - execute_dlfiles) - execute_dlfiles="$execute_dlfiles $arg" - ;; - tag) - tagname="$arg" - preserve_args="${preserve_args}=$arg" - - # Check whether tagname contains only valid characters - case $tagname in - *[!-_A-Za-z0-9,/]*) - $echo "$progname: invalid tag name: $tagname" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $tagname in - CC) - # Don't test for the "default" C tag, as we know, it's there, but - # not specially marked. - ;; - *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi - ;; - esac - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; - - --version) - $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" - $echo - $echo "Copyright (C) 2003 Free Software Foundation, Inc." - $echo "This is free software; see the source for copying conditions. There is NO" - $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit $EXIT_SUCCESS - ;; - - --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath - # Now print the configurations for the tags. - for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" - done - exit $EXIT_SUCCESS - ;; - - --debug) - $echo "$progname: enabling shell trace mode" - set -x - preserve_args="$preserve_args $arg" - ;; - - --dry-run | -n) - run=: - ;; - - --features) - $echo "host: $host" - if test "$build_libtool_libs" = yes; then - $echo "enable shared libraries" - else - $echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - $echo "enable static libraries" - else - $echo "disable static libraries" - fi - exit $EXIT_SUCCESS - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --preserve-dup-deps) duplicate_deps="yes" ;; - - --quiet | --silent) - show=: - preserve_args="$preserve_args $arg" - ;; - - --tag) prevopt="--tag" prev=tag ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag - preserve_args="$preserve_args --tag" - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE -fi - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 - $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - - for arg - do - case "$arg_mode" in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit $EXIT_FAILURE - fi - arg_mode=target - continue - ;; - - -static | -prefer-pic | -prefer-non-pic) - later="$later $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - base_compile="$base_compile $lastarg" - continue - ;; - - * ) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - case $lastarg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - - base_compile="$base_compile $lastarg" - done # for arg - - case $arg_mode in - arg) - $echo "$modename: you must specify an argument for -Xcompile" - exit $EXIT_FAILURE - ;; - target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit $EXIT_FAILURE - ;; - *) - # Get the name of the library object. - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSifmso]' - case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.ii) xform=ii ;; - *.class) xform=class ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.f90) xform=f90 ;; - *.for) xform=for ;; - *.java) xform=java ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir= - else - xdir=$xdir/ - fi - lobj=${xdir}$objdir/$objname - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $run ln "$progpath" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - $echo $srcfile > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - - $run $rm "$libobj" "${libobj}T" - - # Create a libtool object file (analogous to a ".la" file), - # but don't create it if we're doing a dry run. - test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - $show "$mv $output_obj $lobj" - if $run $mv $output_obj $lobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the PIC object to the libtool object file. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - else - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - fi - build_libtool_libs=no - build_old_libs=yes - prefer_static_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit $EXIT_FAILURE - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat $save_arg` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - done - else - $echo "$modename: link input file \`$save_arg' does not exist" - exit $EXIT_FAILURE - fi - arg=$save_arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit $EXIT_FAILURE - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - exit $EXIT_FAILURE - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-mingw* | *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs -framework System" - continue - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) - deplibs="$deplibs $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # gcc -m* arguments should be passed to the linker via $compiler_flags - # in order to pass architecture information to the linker - # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo - # but this is not reliable with gcc because gcc may use -mfoo to - # select a different linker, different libraries, etc, while - # -Wl,-mfoo simply passes -mfoo to the linker. - -m*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - if test "$with_gcc" = "yes" ; then - compiler_flags="$compiler_flags $arg" - fi - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - # The PATH hackery in wrapper scripts is required on Windows - # in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done # argument parsing loop - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - status=$? - if test "$status" -ne 0 && test ! -d "$output_objdir"; then - exit $status - fi - fi - - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - case $host in - *cygwin* | *mingw* | *pw32*) - # don't eliminate duplications in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; - *) - duplicate_compiler_generated_deps=$duplicate_deps - ;; - esac - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if (${SED} -e '2q' $lib | - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - library_names= - old_library= - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - if eval $echo \"$deplib\" 2>/dev/null \ - | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because the file extensions .$libext of this argument makes me believe" - $echo "*** that it is just a static archive that I should not used here." - else - $echo - $echo "*** Warning: Linking the shared library $output against the" - $echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit $EXIT_FAILURE - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi - ;; - esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - # This is a shared library - - # Warn about portability, can't link against -module's on - # some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi - $echo "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`$echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$extract_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$old_archive_from_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5* ) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a module then we can not link against - # it, someone is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | $EGREP "bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo - $echo "** And there doesn't seem to be a static archive available" - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case "$libdir" in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit $EXIT_FAILURE - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case "$libdir" in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $echo - $echo "*** Warning: This system can not link to static lib archive $lib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $echo "*** But as you try to build a module library, libtool will still create " - $echo "*** a static module, that should work as long as the dlopening application" - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - convenience="$convenience $dir/$old_library" - old_convenience="$old_convenience $dir/$old_library" - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "$absdir" != "$libdir"; then - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) - # we do not want to link against static libs, - # but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" - fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac - fi - path="" - ;; - *) - path="-L$path" - ;; - esac - ;; - -l*) - case $host in - *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" - ;; - *) continue ;; - esac - ;; - *) continue ;; - esac - case " $deplibs " in - *" $depdepl "*) ;; - *) deplibs="$depdepl $deplibs" ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$deplibs $path" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit $EXIT_FAILURE - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" - $echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$2" - number_minor="$3" - number_revision="$4" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - current=`expr $number_major + $number_minor - 1` - age="$number_minor" - revision="$number_minor" - ;; - esac - ;; - no) - current="$2" - revision="$3" - age="$4" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $revision in - 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $age in - 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - irix | nonstopux) - major=`expr $current - $age + 1` - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=.`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - fi - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - if test -n "$removelist"; then - $show "${rm}r $removelist" - $run ${rm}r $removelist - fi - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - for path in $notinst_path; do - lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'` - deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'` - dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` - done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs -framework System" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for file magic test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a file magic. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name="`expr $a_deplib : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval $echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a regex pattern. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` - done - fi - if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ - | grep . >/dev/null; then - $echo - if test "X$deplibs_check_method" = "Xnone"; then - $echo "*** Warning: inter-library dependencies are not supported in this platform." - else - $echo "*** Warning: inter-library dependencies are not known to be supported." - fi - $echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $echo - $echo "*** Warning: libtool could not satisfy all declared inter-library" - $echo "*** dependencies of module $libname. Therefore, libtool will create" - $echo "*** a static module, that should work as long as the dlopening" - $echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $echo "*** The inter-library dependencies that have been dropped here will be" - $echo "*** automatically added whenever a program is linked with this library" - $echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $echo - $echo "*** Since this library must not contain undefined symbols," - $echo "*** because either the platform does not support them or" - $echo "*** it was explicitly requested with -no-undefined," - $echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - if len=`expr "X$cmd" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - $show "$cmd" - $run eval "$cmd" || exit $? - skipped_export=false - else - # The command line is too long to execute in one step. - $show "using reloadable object file for export list..." - skipped_export=: - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise. - $echo "creating reloadable object files..." - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - delfiles= - last_robj= - k=1 - output=$output_objdir/$save_output-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*"` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi - last_robj=$output_objdir/$save_output-${k}.$objext - k=`expr $k + 1` - output=$output_objdir/$save_output-${k}.$objext - objlist=$obj - len=1 - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - - if ${skipped_export-false}; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - libobjs=$output - # Append the command to create the export file. - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - - # Set up a command to remove the reloadale object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` - delfiles="$delfiles $output_objdir/$save_output-${i}.$objext" - done - - $echo "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - - # Append the command to remove the reloadable object files - # to the just-reset $cmds. - eval cmds=\"\$cmds~\$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit $EXIT_FAILURE - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi - ;; - esac - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" - - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" - - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$output.exp" - $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - else - $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' - $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval '$echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - $echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - - exit $status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - cwrappersource=`$echo ${objdir}/lt-${output}.c` - cwrapper=`$echo ${output}.exe` - $rm $cwrappersource $cwrapper - trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - cat > $cwrappersource <> $cwrappersource<<"EOF" -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef DIR_SEPARATOR -#define DIR_SEPARATOR '/' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -#define HAVE_DOS_BASED_FILE_SYSTEM -#ifndef DIR_SEPARATOR_2 -#define DIR_SEPARATOR_2 '\\' -#endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -const char *program_name = NULL; - -void * xmalloc (size_t num); -char * xstrdup (const char *string); -char * basename (const char *name); -char * fnqualify(const char *path); -char * strendzap(char *str, const char *pat); -void lt_fatal (const char *message, ...); - -int -main (int argc, char *argv[]) -{ - char **newargz; - int i; - - program_name = (char *) xstrdup ((char *) basename (argv[0])); - newargz = XMALLOC(char *, argc+2); -EOF - - cat >> $cwrappersource <> $cwrappersource <<"EOF" - newargz[1] = fnqualify(argv[0]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ - strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; -EOF - - cat >> $cwrappersource <> $cwrappersource <<"EOF" -} - -void * -xmalloc (size_t num) -{ - void * p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL -; -} - -char * -basename (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha (name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return (char *) base; -} - -char * -fnqualify(const char *path) -{ - size_t size; - char *p; - char tmp[LT_PATHMAX + 1]; - - assert(path != NULL); - - /* Is it qualified already? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha (path[0]) && path[1] == ':') - return xstrdup (path); -#endif - if (IS_DIR_SEPARATOR (path[0])) - return xstrdup (path); - - /* prepend the current directory */ - /* doesn't handle '~' */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */ - p = XMALLOC(char, size); - sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path); - return p; -} - -char * -strendzap(char *str, const char *pat) -{ - size_t len, patlen; - - assert(str != NULL); - assert(pat != NULL); - - len = strlen(str); - patlen = strlen(pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp(str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -EOF - # we should really use a build-platform specific compiler - # here, but OTOH, the wrappers (shell script and this C one) - # are only useful if you want to execute the "real" binary. - # Since the "real" binary is built for $host, then this - # wrapper might as well be built for $host, too. - $run $LTCC -s -o $cwrapper $cwrappersource - ;; - esac - $rm $output - trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - $echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit $EXIT_FAILURE - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - $echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \$progdir\\\\\$program \${1+\"\$@\"} -" - ;; - - *) - $echo >> $output "\ - exec \$progdir/\$program \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" - exit $EXIT_FAILURE - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit $EXIT_FAILURE - fi -fi\ -" - chmod +x $output - fi - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - eval cmds=\"$old_archive_cmds\" - - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - # GNU ar 2.10+ was changed to match POSIX; thus no paths are - # encoded into archives. This makes 'ar r' malfunction in - # this piecewise linking case whenever conflicting object - # names appear in distinct ar calls; check, warn and compensate. - if (for obj in $save_oldobjs - do - $echo "X$obj" | $Xsed -e 's%^.*/%%' - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2 - $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2 - AR_FLAGS=cq - fi - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*"` && - test "$len" -le "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - eval cmd=\"$cmd\" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ -relink_command=\"$relink_command\"" - fi - done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac - exit $EXIT_SUCCESS - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg="$nonopt" - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest="$arg" - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) prev="-f" ;; - -g) prev="-g" ;; - -m) prev="-m" ;; - -o) prev="-o" ;; - -s) - stripme=" -s" - continue - ;; - -*) ;; - - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest="$arg" - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - exit $EXIT_FAILURE - fi - fi - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - cmds=$postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - file=`$echo $file|${SED} 's,.exe$,,'` - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then - notinst_deplibs= - relink_command= - - # To insure that "foo" is sourced, and not "foo.exe", - # finese the cygwin/MSYS system by explicitly sourcing "foo." - # which disallows the automatic-append-.exe behavior. - case $build in - *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; - *) wrapperdot=${wrapper} ;; - esac - # If there is no directory component, then add one. - case $file in - */* | *\\*) . ${wrapperdot} ;; - *) . ./${wrapperdot} ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit $EXIT_FAILURE - fi - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - relink_command= - # To insure that "foo" is sourced, and not "foo.exe", - # finese the cygwin/MSYS system by explicitly sourcing "foo." - # which disallows the automatic-append-.exe behavior. - case $build in - *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; - *) wrapperdot=${wrapper} ;; - esac - # If there is no directory component, then add one. - case $file in - */* | *\\*) . ${wrapperdot} ;; - *) . ./${wrapperdot} ;; - esac - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir="/tmp" - test -n "$TMPDIR" && tmpdir="$TMPDIR" - tmpdir="$tmpdir/libtool-$$" - save_umask=`umask` - umask 0077 - if $mkdir "$tmpdir"; then - umask $save_umask - else - umask $save_umask - $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 - continue - fi - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` - - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyways - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` - ;; - esac - ;; - esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - if test -n "$stripme" && test -n "$old_striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? - fi - - # Do each command in the postinstall commands. - cmds=$old_postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - cmds=$finish_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit $EXIT_SUCCESS - - $echo "----------------------------------------------------------------------" - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" - done - $echo - $echo "If you ever happen to want to link against installed libraries" - $echo "in a given directory, LIBDIR, you must either use libtool, and" - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - $echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - $echo " during execution" - fi - if test -n "$runpath_var"; then - $echo " - add LIBDIR to the \`$runpath_var' environment variable" - $echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." - $echo "----------------------------------------------------------------------" - exit $EXIT_SUCCESS - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit $EXIT_FAILURE - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit $EXIT_FAILURE - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - if test "${save_LC_ALL+set}" = set; then - LC_ALL="$save_LC_ALL"; export LC_ALL - fi - if test "${save_LANG+set}" = set; then - LANG="$save_LANG"; export LANG - fi - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit $EXIT_SUCCESS - fi - ;; - - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - - if test "$mode" = uninstall; then - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - cmds=$postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - cmds=$old_postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - # FIXME: should reinstall the best remaining shared library. - fi - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - - # Read the .lo file - . $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$noexename - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 - fi - done - - exit $exit_status - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - fi -fi # test -z "$show_help" - -if test -n "$exec_cmd"; then - eval exec $exec_cmd - exit $EXIT_FAILURE -fi - -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to ." - exit $EXIT_SUCCESS - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; -esac - -$echo -$echo "Try \`$modename --help' for more information about other modes." - -exit $EXIT_SUCCESS - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/executable_names/auxdir/missing b/executable_names/auxdir/missing deleted file mode 100755 index e7ef83a1c2..0000000000 --- a/executable_names/auxdir/missing +++ /dev/null @@ -1,360 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2003-09-02.23 - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 -# Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case "$1" in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Send bug reports to ." - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - - aclocal*) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case "$f" in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if [ ! -f y.tab.h ]; then - echo >y.tab.h - fi - if [ ! -f y.tab.c ]; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if [ ! -f lex.yy.c ]; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then - # We have makeinfo, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` - fi - touch $file - ;; - - tar) - shift - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - fi - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case "$firstarg" in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case "$firstarg" in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/executable_names/auxdir/slurm.m4 b/executable_names/auxdir/slurm.m4 deleted file mode 100644 index 9d4a18bffd..0000000000 --- a/executable_names/auxdir/slurm.m4 +++ /dev/null @@ -1,184 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Mark A. Grondona -# -# SYNOPSIS: -# Various X_AC_SLURM* macros for use in slurm -# -##***************************************************************************** - - -AC_DEFUN([X_AC_SLURM_PORTS], -[ - AC_MSG_CHECKING(for slurmctld default port) - - AC_ARG_WITH(slurmctld-port, - AS_HELP_STRING(--with-slurmctld-port=N,set slurmctld default port [[6817]]), - [ if test `expr match "$withval" '[[0-9]]*$'` -gt 0; then - slurmctldport="$withval" - fi - ] - ) - AC_MSG_RESULT(${slurmctldport=$1}) - - AC_DEFINE_UNQUOTED(SLURMCTLD_PORT, [$slurmctldport], - [Define the default port number for slurmctld]) - AC_SUBST(SLURMCTLD_PORT) - - AC_MSG_CHECKING(for slurmd default port) - AC_ARG_WITH(slurmd-port, - AS_HELP_STRING(--with-slurmd-port=N,set slurmd default port [[6818]]), - [ if test `expr match "$withval" '[[0-9]]*$'` -gt 0; then - slurmdport="$withval" - fi - ] - ) - AC_MSG_RESULT(${slurmdport=$2}) - - AC_DEFINE_UNQUOTED(SLURMD_PORT, [$slurmdport], - [Define the default port number for slurmd]) - - AC_SUBST(SLURMD_PORT) - -]) -dnl -dnl Check for program_invocation_name -dnl -AC_DEFUN([X_AC_SLURM_PROGRAM_INVOCATION_NAME], -[ - AC_MSG_CHECKING([for program_invocation_name]) - - AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern char *program_invocation_name;]], [[char *p; p = program_invocation_name; printf("%s\n", p);]])],[got_program_invocation_name=yes],[ - ]) - - AC_MSG_RESULT(${got_program_invocation_name=no}) - - if test "x$got_program_invocation_name" = "xyes"; then - AC_DEFINE(HAVE_PROGRAM_INVOCATION_NAME, 1, - [Define if libc sets program_invocation_name] - ) - fi -])dnl AC_PROG_INVOCATION_NAME - -dnl -dnl Check for Bigendian arch and set SLURM_BIGENDIAN acc'dngly -dnl -AC_DEFUN([X_AC_SLURM_BIGENDIAN], -[ - AC_C_BIGENDIAN - if test "x$ac_cv_c_bigendian" = "xyes"; then - AC_DEFINE(SLURM_BIGENDIAN,1, - [Define if your architecture's byteorder is big endian.]) - fi -])dnl AC_SLURM_BIGENDIAN - -dnl -dnl AC_SLURM_SEMAPHORE -dnl -AC_DEFUN([X_AC_SLURM_SEMAPHORE], -[ - SEMAPHORE_SOURCES="" - SEMAPHORE_LIBS="" - AC_CHECK_LIB( - posix4, - sem_open, - [SEMAPHORE_LIBS="-lposix4"; - AC_DEFINE(HAVE_POSIX_SEMS, 1, [Define if you have Posix semaphores.])], - [SEMAPHORE_SOURCES="semaphore.c"] - ) - AC_SUBST(SEMAPHORE_SOURCES) - AC_SUBST(SEMAPHORE_LIBS) -])dnl AC_SLURM_SEMAPHORE - -dnl -dnl -dnl -dnl Perform SLURM Project version setup -AC_DEFUN([X_AC_SLURM_VERSION], -[ -# -# Determine project/version from META file. -# These are substituted into the Makefile and config.h. -# -PROJECT="`perl -ne 'print,exit if s/^\s*NAME:\s*(\S*).*/\1/i' $srcdir/META`" -AC_DEFINE_UNQUOTED(PROJECT, "$PROJECT", [Define the project's name.]) -AC_SUBST(PROJECT) - -# Automake desires "PACKAGE" variable instead of PROJECT -PACKAGE=$PROJECT - -## Build the API version -## NOTE: We map API_MAJOR to be (API_CURRENT - API_AGE) to match the -## behavior of libtool in setting the library version number. For more -## information see src/api/Makefile.am -for name in CURRENT REVISION AGE; do - API=`perl -ne "print,exit if s/^\s*API_$name:\s*(\S*).*/\1/i" $srcdir/META` - eval SLURM_API_$name=$API -done -SLURM_API_VERSION="0x" -SLURM_API_MAJOR=`expr $SLURM_API_CURRENT - $SLURM_API_AGE` -API=`printf "%02x" $SLURM_API_MAJOR` -SLURM_API_VERSION="${SLURM_API_VERSION}$API" -API=`printf "%02x" $SLURM_API_AGE` -SLURM_API_VERSION="${SLURM_API_VERSION}$API" -API=`printf "%02x" $SLURM_API_REVISION` -SLURM_API_VERSION="${SLURM_API_VERSION}$API" -AC_DEFINE_UNQUOTED(SLURM_API_VERSION, $SLURM_API_VERSION, [Define the API's version]) -AC_DEFINE_UNQUOTED(SLURM_API_CURRENT, $SLURM_API_CURRENT, [API current version]) -AC_DEFINE_UNQUOTED(SLURM_API_MAJOR, $SLURM_API_MAJOR, [API current major]) -AC_DEFINE_UNQUOTED(SLURM_API_AGE, $SLURM_API_AGE, [API current age]) -AC_DEFINE_UNQUOTED(SLURM_API_REVISION, $SLURM_API_REVISION, [API current rev]) -AC_SUBST(SLURM_API_VERSION) -AC_SUBST(SLURM_API_CURRENT) -AC_SUBST(SLURM_API_MAJOR) -AC_SUBST(SLURM_API_AGE) -AC_SUBST(SLURM_API_REVISION) - -# rpm make target needs Version in META, not major and minor version numbers -VERSION="`perl -ne 'print,exit if s/^\s*VERSION:\s*(\S*).*/\1/i' $srcdir/META`" -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Define the project's version.]) -AC_SUBST(VERSION) - -SLURM_MAJOR="`perl -ne 'print,exit if s/^\s*MAJOR:\s*(\S*).*/\1/i' $srcdir/META`" -SLURM_MINOR="`perl -ne 'print,exit if s/^\s*MINOR:\s*(\S*).*/\1/i' $srcdir/META`" -SLURM_MICRO="`perl -ne 'print,exit if s/^\s*MICRO:\s*(\S*).*/\1/i' $srcdir/META`" -RELEASE="`perl -ne 'print,exit if s/^\s*RELEASE:\s*(\S*).*/\1/i' $srcdir/META`" - -if test "$SLURM_MAJOR.$SLURM_MINOR.$SLURM_MICRO" != "$VERSION"; then - AC_MSG_ERROR([META information is inconsistent: $VERSION != $SLURM_MAJOR.$SLURM_MINOR.$SLURM_MICRO!]) -fi - -# Check to see if we're on an unstable branch (no prereleases yet) -if echo "$RELEASE" | grep -e "pre0" -e "UNSTABLE"; then - if test "$RELEASE" = "UNSTABLE"; then - DATE=`date +"%Y%m%d%H%M"` - else - DATE=`echo $RELEASE | cut -d. -f3` - fi - SLURM_RELEASE="unstable cvs build $DATE" - SLURM_VERSION="$SLURM_MAJOR.$SLURM_MINOR ($SLURM_RELEASE)" -else - SLURM_RELEASE="`echo $RELEASE | sed 's/^.*\.//'`" - SLURM_VERSION="$SLURM_MAJOR.$SLURM_MINOR.$SLURM_MICRO" - test $RELEASE = "1" || SLURM_VERSION="$SLURM_VERSION-$SLURM_RELEASE" -fi -AC_DEFINE_UNQUOTED(SLURM_MAJOR, "$SLURM_MAJOR", - [Define the project's major version.]) -AC_DEFINE_UNQUOTED(SLURM_MINOR, "$SLURM_MINOR", - [Define the project's minor version.]) -AC_DEFINE_UNQUOTED(SLURM_MICRO, "$SLURM_MICRO", - [Define the project's micro version.]) -AC_DEFINE_UNQUOTED(RELEASE, "$RELEASE", [Define the project's release.]) -AC_DEFINE_UNQUOTED(SLURM_VERSION, "$SLURM_VERSION", - [Define the project's version string.]) -AC_SUBST(SLURM_MAJOR) -AC_SUBST(SLURM_MINOR) -AC_SUBST(SLURM_MICRO) -AC_SUBST(RELEASE) -AC_SUBST(SLURM_VERSION) - -]) dnl AC_SLURM_VERSION - - diff --git a/executable_names/auxdir/type_socklen_t.m4 b/executable_names/auxdir/type_socklen_t.m4 deleted file mode 100644 index e975ee945c..0000000000 --- a/executable_names/auxdir/type_socklen_t.m4 +++ /dev/null @@ -1,32 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Lars Brinkhoff -# -# SYNOPSIS: -# TYPE_SOCKLEN_T -# -# DESCRIPTION: -# Check whether sys/socket.h defines type socklen_t. -# Please note that some systems require sys/types.h to be included -# before sys/socket.h can be compiled. -##***************************************************************************** - -AC_DEFUN([TYPE_SOCKLEN_T], -[AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t, -[ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include - #include ]], [[socklen_t len = 42; return 0;]])],[ac_cv_type_socklen_t=yes],[ac_cv_type_socklen_t=no]) -]) - -if test "$ac_cv_type_socklen_t" = "yes"; then - AC_DEFINE([HAVE_SOCKLEN_T], [1], [Define if you have the socklen_t type.]) -fi - -AH_VERBATIM([HAVE_SOCKLEN_T_], -[#ifndef HAVE_SOCKLEN_T -# define HAVE_SOCKLEN_T - typedef int socklen_t; -#endif]) -]) diff --git a/executable_names/auxdir/x_ac__system_configuration.m4 b/executable_names/auxdir/x_ac__system_configuration.m4 deleted file mode 100644 index e1810d1be2..0000000000 --- a/executable_names/auxdir/x_ac__system_configuration.m4 +++ /dev/null @@ -1,22 +0,0 @@ -##***************************************************************************** -# $Id$ -##***************************************************************************** -# AUTHOR: -# Moe Jette -# -# SYNOPSIS: -# X_AC__SYSTEM_CONFIGURATION -# -# DESCRIPTION: -# Tests for existence of the _system_configuration structure. -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC or equivalent. -##***************************************************************************** - -AC_DEFUN([X_AC__SYSTEM_CONFIGURATION], [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[double x = _system_configuration.physmem;]])],[AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1, - [Define to 1 if you have the external variable, - _system_configuration with a member named physmem.])],[]) -]) - diff --git a/executable_names/auxdir/x_ac_affinity.m4 b/executable_names/auxdir/x_ac_affinity.m4 deleted file mode 100644 index 61dabb5d33..0000000000 --- a/executable_names/auxdir/x_ac_affinity.m4 +++ /dev/null @@ -1,53 +0,0 @@ -##***************************************************************************** -# $Id$ -##***************************************************************************** -# AUTHOR: -# Morris Jette -# -# SYNOPSIS: -# X_AC_AFFINITY -# -# DESCRIPTION: -# Test for various task affinity functions and set the definitions. -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC or equivalent. -##***************************************************************************** - -AC_DEFUN([X_AC_AFFINITY], [ - -# Test if sched_setaffinity function exists and argument count (it can vary) - AC_CHECK_FUNCS(sched_setaffinity, [have_sched_setaffinity=yes]) - AM_CONDITIONAL(HAVE_SCHED_SETAFFINITY, test "x$have_sched_setaffinity" = "xyes") - - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE - #include ]], [[cpu_set_t mask; - sched_getaffinity(0, sizeof(cpu_set_t), &mask);]])],[AC_DEFINE(SCHED_GETAFFINITY_THREE_ARGS, 1, - [Define to 1 if sched_getaffinity takes three arguments.])],[]) - - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE - #include ]], [[cpu_set_t mask; - sched_getaffinity(0, &mask);]])],[AC_DEFINE(SCHED_GETAFFINITY_TWO_ARGS, 1, - [Define to 1 if sched_getaffinity takes two arguments.])],[]) - -# -# Test for NUMA memory afffinity functions and set the definitions -# - AC_CHECK_LIB([numa], - [numa_available], - [ac_have_numa=yes; NUMA_LIBS="-lnuma"]) - - AC_SUBST(NUMA_LIBS) - AM_CONDITIONAL(HAVE_NUMA, test "x$ac_have_numa" = "xyes") - if test "x$ac_have_numa" = "xyes"; then - AC_DEFINE(HAVE_NUMA, 1, [define if you have the numa library]) - else - AC_MSG_WARN([Unable to locate NUMA memory affinity functions]) - fi - -# -# Test for other affinity functions as appropriate -# TBD - -]) - diff --git a/executable_names/auxdir/x_ac_aix.m4 b/executable_names/auxdir/x_ac_aix.m4 deleted file mode 100644 index 6fd2bd221a..0000000000 --- a/executable_names/auxdir/x_ac_aix.m4 +++ /dev/null @@ -1,71 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Morris Jette -# -# SYNOPSIS: -# X_AC_AIX -# -# DESCRIPTION: -# Check for AIX operating system and sets parameters accordingly, -# also define HAVE_AIX and HAVE_LARGEFILE if appropriate. -# NOTE: AC_SYS_LARGEFILE may fail on AIX due to inconstencies within -# installed gcc header files. -##***************************************************************************** - - -AC_DEFUN([X_AC_AIX], -[ - case "$host" in - *-*-aix*) LDFLAGS="$LDFLAGS -Wl,-brtl" # permit run time linking - LIB_LDFLAGS="$LDFLAGS -Wl,-G -Wl,-bnoentry -Wl,-bexpfull" - SO_LDFLAGS=" $LDFLAGS -Wl,-G -Wl,-bnoentry -Wl,-bexpfull" - if test "$OBJECT_MODE" = "64"; then - CFLAGS="-maix64 $CFLAGS" - CMD_LDFLAGS="$LDFLAGS -Wl,-bgcbypass:1000 -Wl,-bexpfull" # keep all common functions - else - CFLAGS="-maix32 $CFLAGS" - CMD_LDFLAGS="$LDFLAGS -Wl,-bgcbypass:1000 -Wl,-bexpfull -Wl,-bmaxdata:0x70000000" # keep all common functions - fi - ac_have_aix="yes" - ac_with_readline="no" - AC_DEFINE(HAVE_AIX, 1, [Define to 1 for AIX operating system]) - ;; - *) ac_have_aix="no" - ;; - esac - - AC_SUBST(CMD_LDFLAGS) - AC_SUBST(LIB_LDFLAGS) - AC_SUBST(SO_LDFLAGS) - AM_CONDITIONAL(HAVE_AIX, test "x$ac_have_aix" = "xyes") - AC_SUBST(HAVE_AIX, "$ac_have_aix") - - if test "x$ac_have_aix" = "xyes"; then - AC_ARG_WITH(proctrack, - AS_HELP_STRING(--with-proctrack=PATH,Specify path to proctrack sources), - [ PROCTRACKDIR="$withval" ] - ) - if test -f "$PROCTRACKDIR/lib/proctrackext.exp"; then - PROCTRACKDIR="$PROCTRACKDIR/lib" - AC_SUBST(PROCTRACKDIR) - CPPFLAGS="-I$PROCTRACKDIR/include $CPPFLAGS" - AC_CHECK_HEADERS(proctrack.h) - ac_have_aix_proctrack="yes" - elif test -f "$prefix/lib/proctrackext.exp"; then - PROCTRACKDIR="$prefix/lib" - AC_SUBST(PROCTRACKDIR) - CPPFLAGS="$CPPFLAGS -I$prefix/include" - AC_CHECK_HEADERS(proctrack.h) - ac_have_aix_proctrack="yes" - else - AC_MSG_WARN([proctrackext.exp is required for AIX proctrack support, specify location with --with-proctrack]) - ac_have_aix_proctrack="no" - fi - else - ac_have_aix_proctrack="no" - AC_SYS_LARGEFILE - fi - AM_CONDITIONAL(HAVE_AIX_PROCTRACK, test "x$ac_have_aix_proctrack" = "xyes") -]) diff --git a/executable_names/auxdir/x_ac_bluegene.m4 b/executable_names/auxdir/x_ac_bluegene.m4 deleted file mode 100644 index 9aa287d10e..0000000000 --- a/executable_names/auxdir/x_ac_bluegene.m4 +++ /dev/null @@ -1,91 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Morris Jette -# -# SYNOPSIS: -# X_AC_BG -# -# DESCRIPTION: -# Test for Blue Gene/L specific files. -# If found define HAVE_BG and HAVE_FRONT_END. -##***************************************************************************** - - -AC_DEFUN([X_AC_BLUEGENE], -[ - AC_ARG_WITH(db2, AS_HELP_STRING(--with-db2-dir=PATH,Specify path to DB2 library's parent directory), [ trydb2dir=$withval ]) - - # test for bluegene emulation mode - AC_ARG_ENABLE(bluegene-emulation, AS_HELP_STRING(--enable-bluegene-emulation,Run SLURM in bluegene mode on a non-bluegene system), - [ case "$enableval" in - yes) bluegene_emulation=yes ;; - no) bluegene_emulation=no ;; - *) AC_MSG_ERROR([bad value "$enableval" for --enable-bluegene-emulation]) ;; - esac ]) - - if test "x$bluegene_emulation" = "xyes"; then - AC_DEFINE(HAVE_BG, 1, [Define to 1 if emulating or running on Blue Gene system]) - AC_DEFINE(HAVE_FRONT_END, 1, [Define to 1 if running slurmd on front-end only]) - AC_MSG_NOTICE([Running in bluegene emulation mode]) - bg_default_dirs="" - else - bg_default_dirs="/bgl/BlueLight/ppcfloor/bglsys /opt/IBM/db2/V8.1 /u/bgdb2cli/sqllib /home/bgdb2cli/sqllib" - fi - - for bg_dir in $trydb2dir "" $bg_default_dirs; do - # Skip directories that don't exist - if test ! -z "$bg_dir" -a ! -d "$bg_dir" ; then - continue; - fi - - # Search for required BG API libraries in the directory - if test -z "$have_bg_ar" -a -f "$bg_dir/lib64/libbglbridge.so" ; then - have_bg_ar=yes - bg_bridge_so="$bg_dir/lib64/libbglbridge.so" - bg_ldflags="$bg_ldflags -L$bg_dir/lib64 -L/usr/lib64 -Wl,--unresolved-symbols=ignore-in-shared-libs -lbglbridge -lbgldb -ltableapi -lbglmachine -lexpat -lsaymessage" - fi - - # Search for required DB2 library in the directory - if test -z "$have_db2" -a -f "$bg_dir/lib64/libdb2.so" ; then - have_db2=yes - bg_db2_so="$bg_dir/lib64/libdb2.so" - bg_ldflags="$bg_ldflags -L$bg_dir/lib64 -ldb2" - fi - - # Search for headers in the directory - if test -z "$have_bg_hdr" -a -f "$bg_dir/include/rm_api.h" ; then - have_bg_hdr=yes - bg_includes="-I$bg_dir/include" - fi - done - - if test ! -z "$have_bg_ar" -a ! -z "$have_bg_hdr" -a ! -z "$have_db2" ; then - AC_DEFINE(HAVE_BG, 1, [Define to 1 if emulating or running on Blue Gene system]) - AC_DEFINE(HAVE_FRONT_END, 1, [Define to 1 if running slurmd on front-end only]) - # ac_with_readline="no" - # Test to make sure the api is good - have_bg_files=yes - saved_LDFLAGS="$LDFLAGS" - LDFLAGS="$saved_LDFLAGS $bg_ldflags" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ int rm_set_serial(char *); ]], [[ rm_set_serial(""); ]])],[have_bg_files=yes],[AC_MSG_ERROR(There is a problem linking to the bluegene api.)]) - LDFLAGS="$saved_LDFLAGS" - fi - - if test ! -z "$have_bg_files" ; then - BG_INCLUDES="$bg_includes" - AC_DEFINE(HAVE_BG_FILES, 1, [Define to 1 if have Blue Gene files]) - - AC_DEFINE_UNQUOTED(BG_BRIDGE_SO, "$bg_bridge_so", [Define the BG_BRIDGE_SO value]) - AC_DEFINE_UNQUOTED(BG_DB2_SO, "$bg_db2_so", [Define the BG_DB2_SO value]) - AC_MSG_CHECKING(for BG serial value) - bg_serial="BGL" - AC_ARG_WITH(bg-serial, - AS_HELP_STRING(--with-bg-serial=NAME,set BG_SERIAL value [[BGL]]), [bg_serial="$withval"]) - AC_MSG_RESULT($bg_serial) - AC_DEFINE_UNQUOTED(BG_SERIAL, "$bg_serial", [Define the BG_SERIAL value]) - fi - - AC_SUBST(BG_INCLUDES) -]) diff --git a/executable_names/auxdir/x_ac_debug.m4 b/executable_names/auxdir/x_ac_debug.m4 deleted file mode 100644 index 7882349ccb..0000000000 --- a/executable_names/auxdir/x_ac_debug.m4 +++ /dev/null @@ -1,60 +0,0 @@ -##***************************************************************************** -# $Id$ -##***************************************************************************** -# AUTHOR: -# Chris Dunlap -# -# SYNOPSIS: -# X_AC_DEBUG -# -# DESCRIPTION: -# Add support for the "--enable-debug" and "--enable-memory-leak-debug" -# configure script options. -# If debugging is enabled, CFLAGS will be prepended with the debug flags. -# The NDEBUG macro (used by assert) will also be set accordingly. -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC or equivalent. -##***************************************************************************** - -AC_DEFUN([X_AC_DEBUG], [ - AC_MSG_CHECKING([whether debugging is enabled]) - AC_ARG_ENABLE( - [debug], - AS_HELP_STRING(--enable-debug,enable debugging code for development), - [ case "$enableval" in - yes) x_ac_debug=yes ;; - no) x_ac_debug=no ;; - *) AC_MSG_RESULT([doh!]) - AC_MSG_ERROR([bad value "$enableval" for --enable-debug]) ;; - esac - ] - ) - if test "$x_ac_debug" = yes; then - test "$GCC" = yes && CFLAGS="$CFLAGS -Wall -fno-strict-aliasing" - else - AC_DEFINE([NDEBUG], [1], - [Define to 1 if you are building a production release.] - ) - fi - AC_MSG_RESULT([${x_ac_debug=no}]) - - AC_MSG_CHECKING([whether memory leak debugging is enabled]) - AC_ARG_ENABLE( - [memory-leak-debug], - AS_HELP_STRING(--enable-memory-leak-debug,enable memory leak debugging code for development), - [ case "$enableval" in - yes) x_ac_memory_debug=yes ;; - no) x_ac_memory_debug=no ;; - *) AC_MSG_RESULT([doh!]) - AC_MSG_ERROR([bad value "$enableval" for --enable-memory-leak-debug]) ;; - esac - ] - ) - if test "$x_ac_memory_debug" = yes; then - AC_DEFINE(MEMORY_LEAK_DEBUG, 1, [Define to 1 for memory leak debugging.]) - fi - AC_MSG_RESULT([${x_ac_memory_debug=no}]) - - ] -) diff --git a/executable_names/auxdir/x_ac_elan.m4 b/executable_names/auxdir/x_ac_elan.m4 deleted file mode 100644 index 4889a7530d..0000000000 --- a/executable_names/auxdir/x_ac_elan.m4 +++ /dev/null @@ -1,64 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Mark A. Grondona -# -# SYNOPSIS: -# AC_ELAN -# -# DESCRIPTION: -# Checks for whether Elan MPI may be supported either via libelan3 -# or libelanctrl. ELAN_LIBS is set to the libraries needed for -# Elan modules. -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC or equivalent. -##***************************************************************************** - - -AC_DEFUN([X_AC_ELAN], -[ - AC_CHECK_LIB([rmscall], - [rms_prgcreate], - [ac_elan_have_rmscall=yes; ELAN_LIBS="-lrmscall"]) - - if test "$ac_elan_have_rmscall" != "yes" ; then - AC_MSG_NOTICE([Cannot support QsNet without librmscall]) - fi - - AC_CHECK_LIB([elan3], [elan3_create], - [ac_elan_have_elan3=yes], - [ac_elan_noelan3=1]) - - AC_CHECK_LIB([elanctrl], [elanctrl_open], - [ac_elan_have_elanctrl=yes], - [ac_elan_noelanctrl=1]) - - if test "$ac_elan_have_elan3" = "yes"; then - AC_DEFINE(HAVE_LIBELAN3, 1, [define if you have libelan3.]) - ELAN_LIBS="$ELAN_LIBS -lelan3" - test "$ac_elan_have_rmscall" = "yes" && ac_have_elan="yes" - elif test "$ac_elan_have_elanctrl" = "yes"; then - AC_DEFINE(HAVE_LIBELANCTRL, 1, [define if you have libelanctrl.]) - ELAN_LIBS="$ELAN_LIBS -lelanctrl" - test "$ac_elan_have_rmscall" = "yes" && ac_have_elan="yes" - else - AC_MSG_NOTICE([Cannot support QsNet without libelan3 or libelanctrl!]) - fi - - if test "$ac_have_elan" = yes; then - AC_CHECK_LIB([elanhosts], [elanhost_config_create], - [ac_elan_have_elanhosts=yes], []) - - if test "$ac_elan_have_elanhosts" = "yes"; then - AC_DEFINE(HAVE_LIBELANHOSTS, 1, [define if you have libelanhosts.]) - ELAN_LIBS="$ELAN_LIBS -lelanhosts" - else - ac_have_elan="no" - AC_MSG_NOTICE([Cannot build QsNet modules without libelanhosts]) - fi - fi - - AC_SUBST(ELAN_LIBS) -]) diff --git a/executable_names/auxdir/x_ac_federation.m4 b/executable_names/auxdir/x_ac_federation.m4 deleted file mode 100644 index b377a9811c..0000000000 --- a/executable_names/auxdir/x_ac_federation.m4 +++ /dev/null @@ -1,53 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Jason King -# -# SYNOPSIS: -# AC_FEDERATION -# -# DESCRIPTION: -# Checks for availability of the libraries necessary to support -# communication via User Space over the Federation switch. -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC or equivalent. -##***************************************************************************** - - -AC_DEFUN([X_AC_FEDERATION], -[ - AC_MSG_CHECKING([whether to enable AIX Federation switch support]) - ntbl_default_dirs="/usr/lib" - for ntbl_dir in $ntbl_default_dirs; do - # skip dirs that don't exist - if test ! -z "$ntbl_dir" -a ! -d "$ntbl_dir" ; then - continue; - fi - - if test "$OBJECT_MODE" = "64"; then - libntbl="ntbl_64" - else - libntbl="ntbl" - fi - - # search for required NTBL API libraries - if test -f "$ntbl_dir/lib${libntbl}.so"; then - ac_have_federation="yes" - FEDERATION_LDFLAGS="-l$libntbl" - break; - fi - - done - - if test "x$ac_have_federation" != "xyes" ; then - AC_MSG_RESULT([no]) - AC_MSG_NOTICE([Cannot support Federation without libntbl]) - else - AC_MSG_RESULT([yes]) - AC_DEFINE(HAVE_LIBNTBL, 1, [define if you have libntbl.]) - fi - - AC_SUBST(FEDERATION_LDFLAGS) -]) diff --git a/executable_names/auxdir/x_ac_gpl_licensed.m4 b/executable_names/auxdir/x_ac_gpl_licensed.m4 deleted file mode 100644 index f8e17cfa14..0000000000 --- a/executable_names/auxdir/x_ac_gpl_licensed.m4 +++ /dev/null @@ -1,19 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Chris Dunlap -# -# SYNOPSIS: -# AC_GPL_LICENSED -# -# DESCRIPTION: -# Acknowledge being licensed under terms of the GNU General Public License. -##***************************************************************************** - -AC_DEFUN([X_AC_GPL_LICENSED], -[ - AC_DEFINE([GPL_LICENSED], [1], - [Define to 1 if licensed under terms of the GNU General Public License.] - ) -]) diff --git a/executable_names/auxdir/x_ac_gtk.m4 b/executable_names/auxdir/x_ac_gtk.m4 deleted file mode 100644 index 73b19f82d9..0000000000 --- a/executable_names/auxdir/x_ac_gtk.m4 +++ /dev/null @@ -1,89 +0,0 @@ -##***************************************************************************** -## $Id: x_ac_gtk.m4 5401 2005-09-22 01:56:49Z morrone $ -##***************************************************************************** -# AUTHOR: -# Danny Auble -# -# SYNOPSIS: -# X_AC_GTK -# -# DESCRIPTION: -# Test for GTK. If found define -##***************************************************************************** - - -AC_DEFUN([X_AC_GTK], -[ -### Set to "no" if any test fails - ac_have_gtk="yes" - -### Check for pkg-config program - AC_PATH_PROG(HAVEPKGCONFIG, pkg-config, $PATH) - if test -z "$HAVEPKGCONFIG"; then - AC_MSG_WARN([*** pkg-config not found. Cannot probe for libglade-2.0 or gtk+-2.0.]) - ac_have_gtk="no" - fi - -### Check for libglade package - if test "$ac_have_gtk" == "yes"; then - $HAVEPKGCONFIG --exists libglade-2.0 - if ! test $? -eq 0 ; then - AC_MSG_WARN([*** libbglade-2.0 is not available.]) - ac_have_gtk="no" - fi - fi - - -### Check for gtk2.6 package - if test "$ac_have_gtk" == "yes" ; then - $HAVEPKGCONFIG --exists gtk+-2.0 - if ! test $? -eq 0 ; then - AC_MSG_WARN([*** gtk+-2.0 is not available.]) - ac_have_gtk="no" - else - gtk_config_major_version=`$HAVEPKGCONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - gtk_config_minor_version=`$HAVEPKGCONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - gtk_config_micro_version=`$HAVEPKGCONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - - if test $gtk_config_major_version -lt 2 || test $gtk_config_minor_version -lt 6 ; then - AC_MSG_WARN([*** gtk+-$gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version available, we need >= gtk+-2.6.0 installed for sview.]) - ac_have_gtk="no" - fi - fi - fi - -### Run a test program - if test "$ac_have_gtk" == "yes" ; then - GTK2_CFLAGS=`$HAVEPKGCONFIG --cflags libglade-2.0 gtk+-2.0 gthread-2.0` - GTK2_LIBS=`$HAVEPKGCONFIG --libs libglade-2.0 gtk+-2.0 gthread-2.0` - if test ! -z "GLADE_STATIC" ; then - GTK2_LIBS=`echo $GTK2_LIBS | sed "s/-lglade-2.0/$GLADE_STATIC -lglade-2.0 $BDYNAMIC/g"` - fi - save_CFLAGS="$CFLAGS" - save_LIBS="$LIBS" - CFLAGS="$GTK2_CFLAGS $save_CFLAGS" - LIBS="$GTK2_LIBS $save_LIBS" - AC_TRY_LINK([ - #include - ],[ - int main() - { - (void) gtk_action_group_new ("MenuActions"); - (void) gtk_ui_manager_new (); - (void) gtk_cell_renderer_combo_new(); - } - ], , [ac_have_gtk="no"]) - CFLAGS="$save_CFLAGS" - LIBS="$save_LIBS" - if test "$ac_have_gtk" == "yes"; then - AC_MSG_RESULT([GTK test program built properly.]) - AC_SUBST(GTK2_CFLAGS) - AC_SUBST(GTK2_LIBS) - else - AC_MSG_WARN([*** GTK test program execution failed.]) - fi - fi -]) diff --git a/executable_names/auxdir/x_ac_munge.m4 b/executable_names/auxdir/x_ac_munge.m4 deleted file mode 100644 index 96e414fa49..0000000000 --- a/executable_names/auxdir/x_ac_munge.m4 +++ /dev/null @@ -1,65 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Chris Dunlap (originally for OpenSSL) -# Modified for munge by Christopher Morrone -# -# SYNOPSIS: -# X_AC_MUNGE() -# -# DESCRIPTION: -# Check the usual suspects for an munge installation, -# updating CPPFLAGS and LDFLAGS as necessary. -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC and before AC_PROG_LIBTOOL. -##***************************************************************************** - -AC_DEFUN([X_AC_MUNGE], [ - - _x_ac_munge_dirs="/usr /usr/local /opt/freeware /opt/munge" - _x_ac_munge_libs="lib64 lib" - - AC_ARG_WITH( - [munge], - AS_HELP_STRING(--with-munge=PATH,Specify path to munge installation), - [_x_ac_munge_dirs="$withval $_x_ac_munge_dirs"]) - - AC_CACHE_CHECK( - [for munge installation], - [x_ac_cv_munge_dir], - [ - for d in $_x_ac_munge_dirs; do - test -d "$d" || continue - test -d "$d/include" || continue - test -f "$d/include/munge.h" || continue - for bit in $_x_ac_munge_libs; do - test -d "$d/$bit" || continue - - _x_ac_munge_libs_save="$LIBS" - LIBS="-L$d/$bit -lmunge $LIBS" - AC_LINK_IFELSE( - AC_LANG_CALL([], munge_encode), - AS_VAR_SET(x_ac_cv_munge_dir, $d)) - LIBS="$_x_ac_munge_libs_save" - test -n "$x_ac_cv_munge_dir" && break - done - test -n "$x_ac_cv_munge_dir" && break - done - ]) - - if test -z "$x_ac_cv_munge_dir"; then - AC_MSG_WARN([unable to locate munge installation]) - else - MUNGE_LIBS="-lmunge" - MUNGE_CPPFLAGS="-I$x_ac_cv_munge_dir/include" - MUNGE_LDFLAGS="-L$x_ac_cv_munge_dir/$bit" - fi - - AC_SUBST(MUNGE_LIBS) - AC_SUBST(MUNGE_CPPFLAGS) - AC_SUBST(MUNGE_LDFLAGS) - - AM_CONDITIONAL(WITH_MUNGE, test -n "$x_ac_cv_munge_dir") -]) diff --git a/executable_names/auxdir/x_ac_ncurses.m4 b/executable_names/auxdir/x_ac_ncurses.m4 deleted file mode 100644 index 00d12f4311..0000000000 --- a/executable_names/auxdir/x_ac_ncurses.m4 +++ /dev/null @@ -1,35 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Morris Jette -# -# SYNOPSIS: -# X_AC_NCURSES -# -# DESCRIPTION: -# Test for NCURSES or CURSES. If found define NCURSES -##***************************************************************************** - - -AC_DEFUN([X_AC_NCURSES], -[ - AC_CHECK_LIB([ncurses], - [initscr], - [ac_have_ncurses=yes]) - AC_CHECK_LIB([curses], - [initscr], - [ac_have_curses=yes]) - - AC_SUBST(NCURSES) - if test "$ac_have_ncurses" = "yes"; then - NCURSES="-lncurses" - ac_have_some_curses="yes" - elif test "$ac_have_curses" = "yes"; then - NCURSES="-lcurses" - ac_have_some_curses="yes" - else - AC_MSG_WARN([Can not build smap without curses or ncurses library]) - ac_have_some_curses="no" - fi -]) diff --git a/executable_names/auxdir/x_ac_pam.m4 b/executable_names/auxdir/x_ac_pam.m4 deleted file mode 100644 index 2d370dd236..0000000000 --- a/executable_names/auxdir/x_ac_pam.m4 +++ /dev/null @@ -1,56 +0,0 @@ -##***************************************************************************** -# $Id$ -##***************************************************************************** -# AUTHOR: -# Morris Jette -# -# SYNOPSIS: -# X_AC_PAM -# -# DESCRIPTION: -# Test for PAM (Pluggable Authentication Module) support. -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC or equivalent. -##***************************************************************************** - -AC_DEFUN([X_AC_PAM], [ - AC_MSG_CHECKING([whether to enable PAM support]) - AC_ARG_ENABLE( - [pam], - AS_HELP_STRING(--enable-pam,enable PAM (Pluggable Authentication Modules) support), - [ case "$enableval" in - yes) x_ac_pam=yes ;; - no) x_ac_pam=no ;; - *) AC_MSG_RESULT([doh!]) - AC_MSG_ERROR([bad value "$enableval" for --enable-pam]) ;; - esac - ], - [x_ac_pam=yes] - ) - - if test "$x_ac_pam" = yes; then - AC_MSG_RESULT([yes]) - AC_CHECK_LIB([pam], - [pam_get_user], - [ac_have_pam=yes; PAM_LIBS="-lpam"]) - - AC_CHECK_LIB([pam_misc], - [misc_conv], - [ac_have_pam_misc=yes; PAM_LIBS="$PAM_LIBS -lpam_misc"]) - - AC_SUBST(PAM_LIBS) - if test "x$ac_have_pam" = "xyes" -a "x$ac_have_pam_misc" = "xyes"; then - AC_DEFINE(HAVE_PAM,, [define if you have the PAM library]) - else - AC_MSG_WARN([Unable to locate PAM libraries]) - fi - else - AC_MSG_RESULT([no]) - fi - - AM_CONDITIONAL(HAVE_PAM, - test "x$x_ac_pam" = "xyes" -a "x$ac_have_pam" = "xyes" -a "x$ac_have_pam_misc" = "xyes") - -]) - diff --git a/executable_names/auxdir/x_ac_ptrace.m4 b/executable_names/auxdir/x_ac_ptrace.m4 deleted file mode 100644 index b2a3b74a99..0000000000 --- a/executable_names/auxdir/x_ac_ptrace.m4 +++ /dev/null @@ -1,25 +0,0 @@ -##***************************************************************************** -# $Id$ -##***************************************************************************** -# AUTHOR: -# Morris Jette -# -# SYNOPSIS: -# X_AC_PTRACE -# -# DESCRIPTION: -# Test argument count of ptrace function. -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC or equivalent. -##***************************************************************************** - -AC_DEFUN([X_AC_PTRACE], [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include - #include - #include ]], [[ptrace(PT_TRACE_ME,0,0,0,0);]])],[AC_DEFINE(PTRACE_FIVE_ARGS, 1, - [Define to 1 if ptrace takes five arguments.])],[]) - - AC_CHECK_FUNCS(ptrace64, [], []) -]) - diff --git a/executable_names/auxdir/x_ac_readline.m4 b/executable_names/auxdir/x_ac_readline.m4 deleted file mode 100644 index fc6b638920..0000000000 --- a/executable_names/auxdir/x_ac_readline.m4 +++ /dev/null @@ -1,45 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Jim Garlick -# -# SYNOPSIS: -# AC_READLINE -# -# DESCRIPTION: -# Adds support for --without-readline. Exports READLINE_LIBS if found -# -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC and X_AC_CURSES. -##***************************************************************************** - -AC_DEFUN([X_AC_READLINE], -[ - AC_MSG_CHECKING([for whether to include readline suport]) - AC_ARG_WITH([readline], - AS_HELP_STRING(--without-readline,compile without readline support), - [ case "$withval" in - yes) ac_with_readline=yes ;; - no) ac_with_readline=no ;; - *) AC_MSG_RESULT([doh!]) - AC_MSG_ERROR([bad value "$withval" for --without-readline]) ;; - esac - ] - ) - - AC_MSG_RESULT([${ac_with_readline=yes}]) - if test "$ac_with_readline" = "yes"; then - saved_LIBS="$LIBS" - READLINE_LIBS="-lreadline -lhistory $NCURSES" - LIBS="$saved_LIBS $READLINE_LIBS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include - #include - #include ]], [[ - char *line = readline("in:");]])],[AC_DEFINE([HAVE_READLINE], [1], - [Define if you are compiling with readline.])],[READLINE_LIBS=""]) - LIBS="$savedLIBS" - fi - AC_SUBST(READLINE_LIBS) -]) diff --git a/executable_names/auxdir/x_ac_setpgrp.m4 b/executable_names/auxdir/x_ac_setpgrp.m4 deleted file mode 100644 index bfe6c64410..0000000000 --- a/executable_names/auxdir/x_ac_setpgrp.m4 +++ /dev/null @@ -1,22 +0,0 @@ -##***************************************************************************** -# $Id: x_ac_setpgrp.m4 8192 2006-05-25 00:15:05Z morrone $ -##***************************************************************************** -# AUTHOR: -# Morris Jette -# -# SYNOPSIS: -# X_AC_SETPGRP -# -# DESCRIPTION: -# Test argument count of setpgrp function. -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC or equivalent. -##***************************************************************************** - -AC_DEFUN([X_AC_SETPGRP], [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[setpgrp(0,0);]])],[AC_DEFINE(SETPGRP_TWO_ARGS, 1, - [Define to 1 if setpgrp takes two arguments.])],[]) -]) - diff --git a/executable_names/auxdir/x_ac_setproctitle.m4 b/executable_names/auxdir/x_ac_setproctitle.m4 deleted file mode 100644 index 7b6f6e6204..0000000000 --- a/executable_names/auxdir/x_ac_setproctitle.m4 +++ /dev/null @@ -1,50 +0,0 @@ -##***************************************************************************** -# $Id$ -##***************************************************************************** -# AUTHOR: -# Mark Grondona -# -# SYNOPSIS: -# X_AC_SETPROCTITLE -# -# DESCRIPTION: -# Check for setproctitle() system call or emulation. -# -# WARNINGS: -# This macro must be placed after AC_PROG_CC or equivalent. -##***************************************************************************** -dnl -dnl Perform checks related to setproctitle() emulation -dnl -AC_DEFUN([X_AC_SETPROCTITLE], -[ -# -case "$host" in -*-*-aix*) - AC_DEFINE(SETPROCTITLE_STRATEGY,PS_USE_CLOBBER_ARGV) - AC_DEFINE(SETPROCTITLE_PS_PADDING, '\0') - ;; -*-*-hpux*) - AC_DEFINE(SETPROCTITLE_STRATEGY,PS_USE_PSTAT) - ;; -*-*-linux*) - AC_DEFINE(SETPROCTITLE_STRATEGY,PS_USE_CLOBBER_ARGV) - AC_DEFINE(SETPROCTITLE_PS_PADDING, '\0') - ;; -*) - AC_DEFINE(SETPROCTITLE_STRATEGY,PS_USE_NONE, - [Define to the setproctitle() emulation type]) - AC_DEFINE(SETPROCTITLE_PS_PADDING, '\0', - [Define if you need setproctitle padding]) - ;; -esac - -AC_MSG_CHECKING([for __progname]) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[extern char *__progname; puts(__progname);]])],[ac_have__progname=yes -],[]) -AC_MSG_RESULT(${ac_have__progname=no}) -if test "$ac_have__progname" = "yes"; then - AC_DEFINE([HAVE__PROGNAME], 1, [Define if you have __progname.]) -fi - -]) diff --git a/executable_names/auxdir/x_ac_sgi_job.m4 b/executable_names/auxdir/x_ac_sgi_job.m4 deleted file mode 100644 index 6eb29bb206..0000000000 --- a/executable_names/auxdir/x_ac_sgi_job.m4 +++ /dev/null @@ -1,21 +0,0 @@ -##***************************************************************************** -## $Id: x_ac_aix.m4 8192 2006-05-25 00:15:05Z morrone $ -##***************************************************************************** -# AUTHOR: -# Mark Grondona -# -# SYNOPSIS: -# AC_SGI_JOB -# -# DESCRIPTION: -# Check for presence of SGI job container support via libjob.so -##***************************************************************************** - - -AC_DEFUN([X_AC_SGI_JOB], -[ - AC_CHECK_LIB([job], [job_attachpid], [ac_have_sgi_job="yes"], []) - AC_MSG_CHECKING([for SGI job container support]) - AC_MSG_RESULT([${ac_have_sgi_job=no}]) - AM_CONDITIONAL(HAVE_SGI_JOB, test "x$ac_have_sgi_job" = "xyes") -]) diff --git a/executable_names/auxdir/x_ac_slurm_ssl.m4 b/executable_names/auxdir/x_ac_slurm_ssl.m4 deleted file mode 100644 index 5a3e5f1769..0000000000 --- a/executable_names/auxdir/x_ac_slurm_ssl.m4 +++ /dev/null @@ -1,150 +0,0 @@ -##***************************************************************************** -## $Id$ -##***************************************************************************** -# AUTHOR: -# Mark Grondona -# (Mostly taken from OpenSSH configure.ac) -# -# SYNOPSIS: -# X_AC_SLURM_WITH_SSL -# -# DESCRIPTION: -# Process --with-ssl configure flag and search for OpenSSL support. -# -##***************************************************************************** - -AC_DEFUN([X_AC_SLURM_WITH_SSL], [ - - ac_slurm_with_ssl=no - ssl_default_dirs="/usr/local/openssl64 /usr/local/openssl /usr/lib/openssl \ - /usr/local/ssl /usr/lib/ssl /usr/local \ - /usr/pkg /opt /opt/openssl" - - AC_SUBST(SSL_LDFLAGS) - AC_SUBST(SSL_LIBS) - AC_SUBST(SSL_CPPFLAGS) - - SSL_LIBS="-lcrypto" - - AC_ARG_WITH(ssl, - AS_HELP_STRING(--with-ssl=PATH,Specify path to OpenSSL installation), - [ - tryssldir=$withval - - # Hack around a libtool bug on AIX. - # libcrypto is in a non-standard library path on AIX (/opt/freeware - # which is specified with --with-ssl), and libtool is not setting - # the correct runtime library path in the binaries. - if test "x$ac_have_aix" = "xyes"; then - SSL_LIBS="-lcrypto-static" - fi - ]) - - saved_LIBS="$LIBS" - saved_LDFLAGS="$LDFLAGS" - saved_CPPFLAGS="$CPPFLAGS" - if test "x$prefix" != "xNONE" ; then - tryssldir="$tryssldir $prefix" - fi - if test "x$tryssldir" == "xno" ; then - AC_MSG_ERROR([OpenSSL libary is required for SLURM operation, please install]) - fi - - AC_CACHE_CHECK([for OpenSSL directory], ac_cv_openssldir, [ - for ssldir in $tryssldir "" $ssl_default_dirs; do - CPPFLAGS="$saved_CPPFLAGS" - LDFLAGS="$saved_LDFLAGS" - LIBS="$saved_LIBS $SSL_LIBS" - - # Skip directories if they don't exist - if test ! -z "$ssldir" -a ! -d "$ssldir" ; then - continue; - fi - if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then - # Try to use $ssldir/lib if it exists, otherwise - # $ssldir - if test -d "$ssldir/lib" ; then - LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" - if test ! -z "$need_dash_r" ; then - LDFLAGS="-R$ssldir/lib $LDFLAGS" - fi - else - LDFLAGS="-L$ssldir $saved_LDFLAGS" - if test ! -z "$need_dash_r" ; then - LDFLAGS="-R$ssldir $LDFLAGS" - fi - fi - # Try to use $ssldir/include if it exists, otherwise - # $ssldir - if test -d "$ssldir/include" ; then - CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS" - else - CPPFLAGS="-I$ssldir $saved_CPPFLAGS" - fi - fi - - # Basic test to check for compatible version and correct linking - AC_RUN_IFELSE([AC_LANG_SOURCE([[ - #include - #include - #define SIZE 8 - int main(void) - { - int a[SIZE], i; - for (i=0; i]], [[EVP_MD_CTX_cleanup(NULL);]])],[AC_DEFINE(HAVE_EVP_MD_CTX_CLEANUP, 1, - [Define to 1 if function EVP_MD_CTX_cleanup exists.])],[]) - - LIBS="$saved_LIBS" - CPPFLAGS="$saved_CPPFLAGS" - LDFLAGS="$saved_LDFLAGS" - -])dnl AC_SLURM_WITH_SSL - - diff --git a/executable_names/auxdir/x_ac_xcpu.m4 b/executable_names/auxdir/x_ac_xcpu.m4 deleted file mode 100644 index 5a2efe7c15..0000000000 --- a/executable_names/auxdir/x_ac_xcpu.m4 +++ /dev/null @@ -1,46 +0,0 @@ -##***************************************************************************** -## $Id: x_ac_xcpu.m4 7443 2006-03-08 20:23:25Z da $ -##***************************************************************************** -# AUTHOR: -# Morris Jette -# -# SYNOPSIS: -# X_AC_XCPU -# -# DESCRIPTION: -# Test for XCPU job launch support. -# If found define HAVE_XCPU, XCPU_DIR and HAVE_FRONT_END. -# Explicitly set path with --with-xcpu=PATH, defaults to "/mnt". -# -# NOTES: -# SLURM still has no way to signal XCPU spawned processes. -# SLURM is not confirming that all processes have completed prior -# to marking a job/node as COMPLETED. For that it needs to check -# for subdirectories (not files) under /mnt/xcpu//xcpu. -##***************************************************************************** - - -AC_DEFUN([X_AC_XCPU], -[ - AC_MSG_CHECKING([whether XCPU is enabled]) - - xcpu_default_dirs="/mnt" - - AC_ARG_WITH([xcpu], - AS_HELP_STRING(--with-xcpu=PATH,specify path to XCPU directory), - [ try_path=$withval ] - ) - - ac_xcpu=no - for xcpu_dir in $try_path "" $xcpu_default_dirs; do - if test -d "$xcpu_dir/xcpu" ; then - ac_xcpu=yes - AC_DEFINE(HAVE_XCPU, 1, [Define to 1 if using XCPU for job launch]) - AC_DEFINE_UNQUOTED(XCPU_DIR, "$xcpu_dir/xcpu", [Define location of XCPU directory]) - AC_DEFINE(HAVE_FRONT_END, 1, [Define to 1 if running slurmd on front-end only]) - break - fi - done - - AC_MSG_RESULT($ac_xcpu) -]) diff --git a/executable_names/config.h.in b/executable_names/config.h.in deleted file mode 100644 index d0ff61f20f..0000000000 --- a/executable_names/config.h.in +++ /dev/null @@ -1,375 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define the BG_BRIDGE_SO value */ -#undef BG_BRIDGE_SO - -/* Define the BG_DB2_SO value */ -#undef BG_DB2_SO - -/* Define the BG_SERIAL value */ -#undef BG_SERIAL - -/* Define to 1 if licensed under terms of the GNU General Public License. */ -#undef GPL_LICENSED - -/* Define to 1 for AIX operating system */ -#undef HAVE_AIX - -/* Define to 1 if emulating or running on Blue Gene system */ -#undef HAVE_BG - -/* Define to 1 if have Blue Gene files */ -#undef HAVE_BG_FILES - -/* Define to 1 if you have the header file. */ -#undef HAVE_CURSES_H - -/* Define to 1 if you have the declaration of `hstrerror', and to 0 if you - don't. */ -#undef HAVE_DECL_HSTRERROR - -/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you - don't. */ -#undef HAVE_DECL_STRERROR_R - -/* Define to 1 if you have the declaration of `strsignal', and to 0 if you - don't. */ -#undef HAVE_DECL_STRSIGNAL - -/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you - don't. */ -#undef HAVE_DECL_SYS_SIGLIST - -/* Define to 1 if you have the header file. */ -#undef HAVE_DIRENT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_ERRNO_H - -/* Define to 1 if function EVP_MD_CTX_cleanup exists. */ -#undef HAVE_EVP_MD_CTX_CLEANUP - -/* Define to 1 if you have the `fdatasync' function. */ -#undef HAVE_FDATASYNC - -/* Define to 1 if running slurmd on front-end only */ -#undef HAVE_FRONT_END - -/* Define to 1 if you have the `hstrerror' function. */ -#undef HAVE_HSTRERROR - -/* Define to 1 if you have the `inet_aton' function. */ -#undef HAVE_INET_ATON - -/* Define to 1 if you have the `inet_ntop' function. */ -#undef HAVE_INET_NTOP - -/* Define to 1 if you have the `inet_pton' function. */ -#undef HAVE_INET_PTON - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* define if you have libelan3. */ -#undef HAVE_LIBELAN3 - -/* define if you have libelanctrl. */ -#undef HAVE_LIBELANCTRL - -/* define if you have libelanhosts. */ -#undef HAVE_LIBELANHOSTS - -/* define if you have libntbl. */ -#undef HAVE_LIBNTBL - -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ -#undef HAVE_MALLOC - -/* Define to 1 if you have the header file. */ -#undef HAVE_MCHECK_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `mtrace' function. */ -#undef HAVE_MTRACE - -/* Define to 1 if you have the header file. */ -#undef HAVE_NCURSES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_NETDB_H - -/* define if you have the numa library */ -#undef HAVE_NUMA - -/* define if you have the PAM library */ -#undef HAVE_PAM - -/* Define to 1 if you have the header file. */ -#undef HAVE_PAM_PAM_APPL_H - -/* Define if you have Posix semaphores. */ -#undef HAVE_POSIX_SEMS - -/* Define to 1 if you have the header file. */ -#undef HAVE_PROCTRACK_H - -/* Define if libc sets program_invocation_name */ -#undef HAVE_PROGRAM_INVOCATION_NAME - -/* Define if you have POSIX threads libraries and header files. */ -#undef HAVE_PTHREAD - -/* Define to 1 if you have the header file. */ -#undef HAVE_PTHREAD_H - -/* Define to 1 if you have the `ptrace64' function. */ -#undef HAVE_PTRACE64 - -/* Define if you are compiling with readline. */ -#undef HAVE_READLINE - -/* Define to 1 if you have the `sched_setaffinity' function. */ -#undef HAVE_SCHED_SETAFFINITY - -/* Define to 1 if you have the header file. */ -#undef HAVE_SECURITY_PAM_APPL_H - -/* Define to 1 if you have the `setproctitle' function. */ -#undef HAVE_SETPROCTITLE - -/* Define to 1 if you have the header file. */ -#undef HAVE_SOCKET_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDBOOL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR - -/* Define to 1 if you have the `strerror_r' function. */ -#undef HAVE_STRERROR_R - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strlcpy' function. */ -#undef HAVE_STRLCPY - -/* Define to 1 if you have the `strndup' function. */ -#undef HAVE_STRNDUP - -/* Define to 1 if you have the `strsignal' function. */ -#undef HAVE_STRSIGNAL - -/* Define to 1 if you have the `sysctlbyname' function. */ -#undef HAVE_SYSCTLBYNAME - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYSINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_DR_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IPC_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_PRCTL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SEM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SHM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SYSCTL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SYSTEMCFG_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_VFS_H - -/* Define to 1 if you have that is POSIX.1 compatible. */ -#undef HAVE_SYS_WAIT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_TERMCAP_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `unsetenv' function. */ -#undef HAVE_UNSETENV - -/* Define to 1 if you have the header file. */ -#undef HAVE_VALUES_H - -/* Define to 1 if using XCPU for job launch */ -#undef HAVE_XCPU - -/* Define to 1 if you have the `\' function. */ -#undef HAVE__ - -/* Define if you have __progname. */ -#undef HAVE__PROGNAME - -/* Define to 1 if you have the external variable, _system_configuration with a - member named physmem. */ -#undef HAVE__SYSTEM_CONFIGURATION - -/* Define to 1 for memory leak debugging. */ -#undef MEMORY_LEAK_DEBUG - -/* Enable multiple slurmd on one node */ -#undef MULTIPLE_SLURMD - -/* Define to 1 if you are building a production release. */ -#undef NDEBUG - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define the project's name. */ -#undef PROJECT - -/* Define to the necessary symbol if this constant uses a non-standard name on - your system. */ -#undef PTHREAD_CREATE_JOINABLE - -/* Define to 1 if ptrace takes five arguments. */ -#undef PTRACE_FIVE_ARGS - -/* Define the project's release. */ -#undef RELEASE - -/* Define to 1 if sched_getaffinity takes three arguments. */ -#undef SCHED_GETAFFINITY_THREE_ARGS - -/* Define to 1 if sched_getaffinity takes two arguments. */ -#undef SCHED_GETAFFINITY_TWO_ARGS - -/* Define to 1 if setpgrp takes two arguments. */ -#undef SETPGRP_TWO_ARGS - -/* Define if you need setproctitle padding */ -#undef SETPROCTITLE_PS_PADDING - -/* Define to the setproctitle() emulation type */ -#undef SETPROCTITLE_STRATEGY - -/* Define the default port number for slurmctld */ -#undef SLURMCTLD_PORT - -/* Define the default port number for slurmd */ -#undef SLURMD_PORT - -/* API current age */ -#undef SLURM_API_AGE - -/* API current version */ -#undef SLURM_API_CURRENT - -/* API current major */ -#undef SLURM_API_MAJOR - -/* API current rev */ -#undef SLURM_API_REVISION - -/* Define the API's version */ -#undef SLURM_API_VERSION - -/* Define if your architecture's byteorder is big endian. */ -#undef SLURM_BIGENDIAN - -/* Define the project's major version. */ -#undef SLURM_MAJOR - -/* Define the project's micro version. */ -#undef SLURM_MICRO - -/* Define the project's minor version. */ -#undef SLURM_MINOR - -/* Define the project's version string. */ -#undef SLURM_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if strerror_r returns char *. */ -#undef STRERROR_R_CHAR_P - -/* Define to 1 if you can safely include both and . */ -#undef TIME_WITH_SYS_TIME - -/* Define slurm_ prefix function aliases for plugins */ -#undef USE_ALIAS - -/* Version number of package */ -#undef VERSION - -/* Have definition of lsd_fatal_error() */ -#undef WITH_LSD_FATAL_ERROR_FUNC - -/* Have definition of lsd_nomem_error() */ -#undef WITH_LSD_NOMEM_ERROR_FUNC - -/* Define if you have pthreads. */ -#undef WITH_PTHREADS - -/* Define to 1 if your processor stores words with the most significant byte - first (like Motorola and SPARC, unlike Intel and VAX). */ -#undef WORDS_BIGENDIAN - -/* Define location of XCPU directory */ -#undef XCPU_DIR - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define to rpl_malloc if the replacement function should be used. */ -#undef malloc diff --git a/executable_names/config.xml.in b/executable_names/config.xml.in deleted file mode 100644 index 1a9bbda1dc..0000000000 --- a/executable_names/config.xml.in +++ /dev/null @@ -1,60 +0,0 @@ - - - - - SLURM: Simple Linux Utility for Resource Management - - - @SLURM_MAJOR@ - @SLURM_MINOR@ - @SLURM_MICRO@ - @RELEASE@ - 1 - - - included - - SLURM: Simple Linux Utility for Resource Management - GNU General Public License - Applications/batch - - Morris Jette - jette1@llnl.gov - - - The Simple Linux Utility for Resource Management (SLURM) is an - open source, fault-tolerant, and highly scalable cluster management and job - scheduling system for large and small Linux clusters. SLURM requires no - kernel modifications for its operation and is relatively self-contained. - As a cluster resource manager, SLURM has three key functions. First, it - allocates exclusive and/or non-exclusive access to resources (compute nodes) - to users for some duration of time so they can perform work. Second, it - provides a framework for starting, executing, and monitoring work (normally - a parallel job) on the set of allocated nodes. Finally, it arbitrates - conflicting requests for resources by managing a queue of pending work. - - - http://www.llnl.gov/linux/slurm - - slurm - slurm-devel - slurm-auth-authd - slurm-auth-none - slurm-auth-munge - slurm-sched-wiki - slurm-switch-elan - - - - torque - pbs - package - - diff --git a/executable_names/configure b/executable_names/configure deleted file mode 100755 index 2d074a23c4..0000000000 --- a/executable_names/configure +++ /dev/null @@ -1,27595 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59. -# -# Copyright (C) 2003 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi -DUALCASE=1; export DUALCASE # for MKS sh - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_executable_p="test -f" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - - - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -echo=${ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string="`eval $cmd`") 2>/dev/null && - echo_test_string="`eval $cmd`" && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - - - - -tagnames=${tagnames+${tagnames},}CXX - -tagnames=${tagnames+${tagnames},}F77 - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -exec 6>&1 - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_config_libobj_dir=. -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= - -ac_unique_file="configure.ac" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#if HAVE_SYS_TYPES_H -# include -#endif -#if HAVE_SYS_STAT_H -# include -#endif -#if STDC_HEADERS -# include -# include -#else -# if HAVE_STDLIB_H -# include -# endif -#endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H -# include -# endif -# include -#endif -#if HAVE_STRINGS_H -# include -#endif -#if HAVE_INTTYPES_H -# include -#else -# if HAVE_STDINT_H -# include -# endif -#endif -#if HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os PROJECT SLURM_API_VERSION SLURM_API_CURRENT SLURM_API_MAJOR SLURM_API_AGE SLURM_API_REVISION VERSION SLURM_MAJOR SLURM_MINOR SLURM_MICRO RELEASE SLURM_VERSION INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CMD_LDFLAGS LIB_LDFLAGS SO_LDFLAGS HAVE_AIX_TRUE HAVE_AIX_FALSE HAVE_AIX PROCTRACKDIR CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP HAVE_AIX_PROCTRACK_TRUE HAVE_AIX_PROCTRACK_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL WITH_GNU_LD_TRUE WITH_GNU_LD_FALSE HAVE_SCHED_SETAFFINITY_TRUE HAVE_SCHED_SETAFFINITY_FALSE NUMA_LIBS HAVE_NUMA_TRUE HAVE_NUMA_FALSE PAM_LIBS HAVE_PAM_TRUE HAVE_PAM_FALSE LIBOBJS HAVE_UNSETENV_TRUE HAVE_UNSETENV_FALSE PTHREAD_CC PTHREAD_LIBS PTHREAD_CFLAGS BG_INCLUDES SEMAPHORE_SOURCES SEMAPHORE_LIBS NCURSES HAVE_SOME_CURSES_TRUE HAVE_SOME_CURSES_FALSE HAVE_SOME_CURSES HAVEPKGCONFIG GTK2_CFLAGS GTK2_LIBS HAVE_GTK_TRUE HAVE_GTK_FALSE DEBUG_MODULES_TRUE DEBUG_MODULES_FALSE SLURMCTLD_PORT SLURMD_PORT ELAN_LIBS HAVE_ELAN_TRUE HAVE_ELAN_FALSE HAVE_ELAN FEDERATION_LDFLAGS HAVE_FEDERATION_TRUE HAVE_FEDERATION_FALSE HAVE_FEDERATION HAVE_SGI_JOB_TRUE HAVE_SGI_JOB_FALSE READLINE_LIBS SSL_LDFLAGS SSL_LIBS SSL_CPPFLAGS MUNGE_LIBS MUNGE_CPPFLAGS MUNGE_LDFLAGS WITH_MUNGE_TRUE WITH_MUNGE_FALSE AUTHD_LIBS AUTHD_CFLAGS WITH_AUTHD_TRUE WITH_AUTHD_FALSE LTLIBOBJS' -ac_subst_files='' - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -ac_prev= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_option in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "enable_$ac_feature='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "with_$ac_package='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi -fi -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || - { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 - { (exit 1); exit 1; }; } -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP -ac_env_CXX_set=${CXX+set} -ac_env_CXX_value=$CXX -ac_cv_env_CXX_set=${CXX+set} -ac_cv_env_CXX_value=$CXX -ac_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_env_CXXFLAGS_value=$CXXFLAGS -ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CXXCPP_set=${CXXCPP+set} -ac_env_CXXCPP_value=$CXXCPP -ac_cv_env_CXXCPP_set=${CXXCPP+set} -ac_cv_env_CXXCPP_value=$CXXCPP -ac_env_F77_set=${F77+set} -ac_env_F77_value=$F77 -ac_cv_env_F77_set=${F77+set} -ac_cv_env_F77_value=$F77 -ac_env_FFLAGS_set=${FFLAGS+set} -ac_env_FFLAGS_value=$FFLAGS -ac_cv_env_FFLAGS_set=${FFLAGS+set} -ac_cv_env_FFLAGS_value=$FFLAGS - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -_ACEOF - - cat <<_ACEOF -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data [PREFIX/share] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] - --target=TARGET configure for building compilers for TARGET [HOST] -_ACEOF -fi - -if test -n "$ac_init_help"; then - - cat <<\_ACEOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --disable-largefile omit support for large files - --enable-shared[=PKGS] - build shared libraries [default=yes] - --enable-static[=PKGS] - build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-pam enable PAM (Pluggable Authentication Modules) - support - --enable-bluegene-emulation - Run SLURM in bluegene mode on a non-bluegene system - --enable-debug enable debugging code for development - --enable-memory-leak-debug - enable memory leak debugging code for development - --enable-multiple-slurmd - enable multiple-slurmd support - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-proctrack=PATH Specify path to proctrack sources - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-tags[=TAGS] - include additional configurations [automatic] - --with-db2-dir=PATH Specify path to DB2 library's parent directory - --with-bg-serial=NAME set BG_SERIAL value BGL - --with-xcpu=PATH specify path to XCPU directory - --with-slurmctld-port=N set slurmctld default port 6817 - --with-slurmd-port=N set slurmd default port 6818 - --without-readline compile without readline support - --with-ssl=PATH Specify path to OpenSSL installation - --with-munge=PATH Specify path to munge installation - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -_ACEOF -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - ac_popdir=`pwd` - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d $ac_dir || continue - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_srcdir/configure.gnu; then - echo - $SHELL $ac_srcdir/configure.gnu --help=recursive - elif test -f $ac_srcdir/configure; then - echo - $SHELL $ac_srcdir/configure --help=recursive - elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help - else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi - cd $ac_popdir - done -fi - -test -n "$ac_init_help" && exit 0 -if $ac_init_version; then - cat <<\_ACEOF - -Copyright (C) 2003 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit 0 -fi -exec 5>config.log -cat >&5 <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was - - $ $0 $@ - -_ACEOF -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_sep= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. - ac_sep=" " - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -{ - (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------- ## -## Output files. ## -## ------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - sed "/^$/d" confdefs.h | sort - echo - fi - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status - ' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; - esac - fi -else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - - - - - - - - - - - - - - - - - -ac_aux_dir= -for ac_dir in auxdir $srcdir/auxdir; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f $ac_dir/shtool; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in auxdir $srcdir/auxdir" >&5 -echo "$as_me: error: cannot find install-sh or install.sh in auxdir $srcdir/auxdir" >&2;} - { (exit 1); exit 1; }; } -fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - -# Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 -build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - -echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 -host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - -echo "$as_me:$LINENO: checking target system type" >&5 -echo $ECHO_N "checking target system type... $ECHO_C" >&6 -if test "${ac_cv_target+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_target_alias=$target_alias -test "x$ac_cv_target_alias" = "x" && - ac_cv_target_alias=$ac_cv_host_alias -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_target" >&5 -echo "${ECHO_T}$ac_cv_target" >&6 -target=$ac_cv_target -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -test -n "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - - -cat >>confdefs.h <<\_ACEOF -#define GPL_LICENSED 1 -_ACEOF - - - -# -# Determine project/version from META file. -# Sets PACKAGE, VERSION, SLURM_VERSION - -# -# Determine project/version from META file. -# These are substituted into the Makefile and config.h. -# -PROJECT="`perl -ne 'print,exit if s/^\s*NAME:\s*(\S*).*/\1/i' $srcdir/META`" - -cat >>confdefs.h <<_ACEOF -#define PROJECT "$PROJECT" -_ACEOF - - - -# Automake desires "PACKAGE" variable instead of PROJECT -PACKAGE=$PROJECT - -## Build the API version -## NOTE: We map API_MAJOR to be (API_CURRENT - API_AGE) to match the -## behavior of libtool in setting the library version number. For more -## information see src/api/Makefile.am -for name in CURRENT REVISION AGE; do - API=`perl -ne "print,exit if s/^\s*API_$name:\s*(\S*).*/\1/i" $srcdir/META` - eval SLURM_API_$name=$API -done -SLURM_API_VERSION="0x" -SLURM_API_MAJOR=`expr $SLURM_API_CURRENT - $SLURM_API_AGE` -API=`printf "%02x" $SLURM_API_MAJOR` -SLURM_API_VERSION="${SLURM_API_VERSION}$API" -API=`printf "%02x" $SLURM_API_AGE` -SLURM_API_VERSION="${SLURM_API_VERSION}$API" -API=`printf "%02x" $SLURM_API_REVISION` -SLURM_API_VERSION="${SLURM_API_VERSION}$API" - -cat >>confdefs.h <<_ACEOF -#define SLURM_API_VERSION $SLURM_API_VERSION -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define SLURM_API_CURRENT $SLURM_API_CURRENT -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define SLURM_API_MAJOR $SLURM_API_MAJOR -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define SLURM_API_AGE $SLURM_API_AGE -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define SLURM_API_REVISION $SLURM_API_REVISION -_ACEOF - - - - - - - -# rpm make target needs Version in META, not major and minor version numbers -VERSION="`perl -ne 'print,exit if s/^\s*VERSION:\s*(\S*).*/\1/i' $srcdir/META`" - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - - - -SLURM_MAJOR="`perl -ne 'print,exit if s/^\s*MAJOR:\s*(\S*).*/\1/i' $srcdir/META`" -SLURM_MINOR="`perl -ne 'print,exit if s/^\s*MINOR:\s*(\S*).*/\1/i' $srcdir/META`" -SLURM_MICRO="`perl -ne 'print,exit if s/^\s*MICRO:\s*(\S*).*/\1/i' $srcdir/META`" -RELEASE="`perl -ne 'print,exit if s/^\s*RELEASE:\s*(\S*).*/\1/i' $srcdir/META`" - -if test "$SLURM_MAJOR.$SLURM_MINOR.$SLURM_MICRO" != "$VERSION"; then - { { echo "$as_me:$LINENO: error: META information is inconsistent: $VERSION != $SLURM_MAJOR.$SLURM_MINOR.$SLURM_MICRO!" >&5 -echo "$as_me: error: META information is inconsistent: $VERSION != $SLURM_MAJOR.$SLURM_MINOR.$SLURM_MICRO!" >&2;} - { (exit 1); exit 1; }; } -fi - -# Check to see if we're on an unstable branch (no prereleases yet) -if echo "$RELEASE" | grep -e "pre0" -e "UNSTABLE"; then - if test "$RELEASE" = "UNSTABLE"; then - DATE=`date +"%Y%m%d%H%M"` - else - DATE=`echo $RELEASE | cut -d. -f3` - fi - SLURM_RELEASE="unstable cvs build $DATE" - SLURM_VERSION="$SLURM_MAJOR.$SLURM_MINOR ($SLURM_RELEASE)" -else - SLURM_RELEASE="`echo $RELEASE | sed 's/^.*\.//'`" - SLURM_VERSION="$SLURM_MAJOR.$SLURM_MINOR.$SLURM_MICRO" - test $RELEASE = "1" || SLURM_VERSION="$SLURM_VERSION-$SLURM_RELEASE" -fi - -cat >>confdefs.h <<_ACEOF -#define SLURM_MAJOR "$SLURM_MAJOR" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define SLURM_MINOR "$SLURM_MINOR" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define SLURM_MICRO "$SLURM_MICRO" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define RELEASE "$RELEASE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define SLURM_VERSION "$SLURM_VERSION" -_ACEOF - - - - - - - - - - -am__api_version="1.9" -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -test "$program_prefix" != NONE && - program_transform_name="s,^,$program_prefix,;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$,$program_suffix,;$program_transform_name" -# Double any \ or $. echo might interpret backslashes. -# By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm conftest.sed - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # We used to keeping the `.' as first argument, in order to - # allow $(mkdir_p) to be used without argument. As in - # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. However this is wrong - # for two reasons: - # 1. if the package is installed by a user who cannot write `.' - # make install will fail, - # 2. the above comment should most certainly read - # $(mkdir_p) $(DESTDIR)$(somedir) - # so it does not work when $(somedir) is undefined and - # $(DESTDIR) is not. - # To support the latter case, we have to write - # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), - # so the `.' trick is pointless. - mkdir_p='mkdir -p --' -else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - for d in ./-p ./--version; - do - test -d $d && rmdir $d - done - # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. - if test -f "$ac_aux_dir/mkinstalldirs"; then - mkdir_p='$(mkinstalldirs)' - else - mkdir_p='$(install_sh) -d' - fi -fi - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$AWK" && break -done - -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\_ACEOF -all: - @echo 'ac_maketemp="$(MAKE)"' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftest.make -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE=slurm - VERSION=$VERSION - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -install_sh=${install_sh-"$am_aux_dir/install-sh"} - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - STRIP=$ac_ct_STRIP -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - - - - -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 - # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then - enableval="$enable_maintainer_mode" - USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no -fi; - echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 - - -if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' -else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= -fi - - MAINT=$MAINTAINER_MODE_TRUE - - - ac_config_headers="$ac_config_headers config.h" - - ac_config_headers="$ac_config_headers slurm/slurm.h" - - -DEPDIR="${am__leading_dot}deps" - - ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi - - -echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6 -rm -f confinc confmf - -# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval="$enable_dependency_tracking" - -fi; -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - - -if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CC" && break -done - - CC=$ac_ct_CC -fi - -fi - - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. - -# Be careful to initialize this variable, since it used to be cached. -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -ac_cv_exeext= -# b.out is created by i960 compilers. -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; - conftest.$ac_ext ) - # This is the source file. - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext - break;; - * ) - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -rm -f a.out a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cc_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_stdc=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std1 is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std1. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext -done -rm -f conftest.$ac_ext conftest.$ac_objext -CC=$ac_save_CC - -fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; -esac - -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - - -if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_prog_egrep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 - EGREP=$ac_cv_prog_egrep - - -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_stdc=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - case "$host" in - *-*-aix*) LDFLAGS="$LDFLAGS -Wl,-brtl" # permit run time linking - LIB_LDFLAGS="$LDFLAGS -Wl,-G -Wl,-bnoentry -Wl,-bexpfull" - SO_LDFLAGS=" $LDFLAGS -Wl,-G -Wl,-bnoentry -Wl,-bexpfull" - if test "$OBJECT_MODE" = "64"; then - CFLAGS="-maix64 $CFLAGS" - CMD_LDFLAGS="$LDFLAGS -Wl,-bgcbypass:1000 -Wl,-bexpfull" # keep all common functions - else - CFLAGS="-maix32 $CFLAGS" - CMD_LDFLAGS="$LDFLAGS -Wl,-bgcbypass:1000 -Wl,-bexpfull -Wl,-bmaxdata:0x70000000" # keep all common functions - fi - ac_have_aix="yes" - ac_with_readline="no" - -cat >>confdefs.h <<\_ACEOF -#define HAVE_AIX 1 -_ACEOF - - ;; - *) ac_have_aix="no" - ;; - esac - - - - - - -if test "x$ac_have_aix" = "xyes"; then - HAVE_AIX_TRUE= - HAVE_AIX_FALSE='#' -else - HAVE_AIX_TRUE='#' - HAVE_AIX_FALSE= -fi - - HAVE_AIX="$ac_have_aix" - - - if test "x$ac_have_aix" = "xyes"; then - -# Check whether --with-proctrack or --without-proctrack was given. -if test "${with_proctrack+set}" = set; then - withval="$with_proctrack" - PROCTRACKDIR="$withval" - -fi; - if test -f "$PROCTRACKDIR/lib/proctrackext.exp"; then - PROCTRACKDIR="$PROCTRACKDIR/lib" - - CPPFLAGS="-I$PROCTRACKDIR/include $CPPFLAGS" - -for ac_header in proctrack.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - ac_have_aix_proctrack="yes" - elif test -f "$prefix/lib/proctrackext.exp"; then - PROCTRACKDIR="$prefix/lib" - - CPPFLAGS="$CPPFLAGS -I$prefix/include" - -for ac_header in proctrack.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - ac_have_aix_proctrack="yes" - else - { echo "$as_me:$LINENO: WARNING: proctrackext.exp is required for AIX proctrack support, specify location with --with-proctrack" >&5 -echo "$as_me: WARNING: proctrackext.exp is required for AIX proctrack support, specify location with --with-proctrack" >&2;} - ac_have_aix_proctrack="no" - fi - else - ac_have_aix_proctrack="no" - # Check whether --enable-largefile or --disable-largefile was given. -if test "${enable_largefile+set}" = set; then - enableval="$enable_largefile" - -fi; -if test "$enable_largefile" != no; then - - echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_largefile_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_largefile_CC=' -n32'; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi -fi -echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_file_offset_bits+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_file_offset_bits=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _FILE_OFFSET_BITS 64 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_file_offset_bits=64; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - break -done -fi -echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 -if test "$ac_cv_sys_file_offset_bits" != no; then - -cat >>confdefs.h <<_ACEOF -#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -_ACEOF - -fi -rm -f conftest* - echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_large_files+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_large_files=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _LARGE_FILES 1 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_large_files=1; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - break -done -fi -echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -echo "${ECHO_T}$ac_cv_sys_large_files" >&6 -if test "$ac_cv_sys_large_files" != no; then - -cat >>confdefs.h <<_ACEOF -#define _LARGE_FILES $ac_cv_sys_large_files -_ACEOF - -fi -rm -f conftest* -fi - - fi - - -if test "x$ac_have_aix_proctrack" = "xyes"; then - HAVE_AIX_PROCTRACK_TRUE= - HAVE_AIX_PROCTRACK_FALSE='#' -else - HAVE_AIX_PROCTRACK_TRUE='#' - HAVE_AIX_PROCTRACK_FALSE= -fi - - - -case "$host" in - *-*-aix*) -cat >>confdefs.h <<\_ACEOF -#define USE_ALIAS 0 -_ACEOF - ;; - *darwin*) -cat >>confdefs.h <<\_ACEOF -#define USE_ALIAS 0 -_ACEOF - ;; - *) -cat >>confdefs.h <<\_ACEOF -#define USE_ALIAS 1 -_ACEOF - ;; -esac - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CC" && break -done - - CC=$ac_ct_CC -fi - -fi - - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cc_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_stdc=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std1 is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std1. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext -done -rm -f conftest.$ac_ext conftest.$ac_objext -CC=$ac_save_CC - -fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; -esac - -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - - -if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CXX" && break -done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - - CXX=$ac_ct_CXX -fi - - -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cxx_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - - -if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\_ACEOF -all: - @echo 'ac_maketemp="$(MAKE)"' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftest.make -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -# Check whether --enable-shared or --disable-shared was given. -if test "${enable_shared+set}" = set; then - enableval="$enable_shared" - p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi; - -# Check whether --enable-static or --disable-static was given. -if test "${enable_static+set}" = set; then - enableval="$enable_static" - p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes -fi; - -# Check whether --enable-fast-install or --disable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval="$enable_fast_install" - p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi; - -echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 -echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6 -if test "${lt_cv_path_SED+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && break - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done - -fi - -SED=$lt_cv_path_SED -echo "$as_me:$LINENO: result: $SED" >&5 -echo "${ECHO_T}$SED" >&6 - - -# Check whether --with-gnu-ld or --without-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval="$with_gnu_ld" - test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi; -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6 - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 -else - echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 -with_gnu_ld=$lt_cv_prog_gnu_ld - - -echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 -if test "${lt_cv_ld_reload_flag+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_ld_reload_flag='-r' -fi -echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - -echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 -if test "${lt_cv_path_NM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/${ac_tool_prefix}nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - esac - fi - done - IFS="$lt_save_ifs" - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi -fi -echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 -echo "${ECHO_T}$lt_cv_path_NM" >&6 -NM="$lt_cv_path_NM" - -echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6 -fi - -echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 -echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6 -if test "${lt_cv_deplibs_check_method+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump'. - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | kfreebsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case "$host_cpu" in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux*) - case $host_cpu in - alpha*|hppa*|i*86|ia64*|m68*|mips*|powerpc*|sparc*|s390*|sh*) - lt_cv_deplibs_check_method=pass_all ;; - *) - # glibc up to 2.1.1 does not perform some relocations on ARM - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; - esac - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Check whether --enable-libtool-lock or --disable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval="$enable_libtool_lock" - -fi; -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 6441 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case "`/usr/bin/file conftest.o`" in - *32-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 -if test "${lt_cv_cc_needs_belf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - lt_cv_cc_needs_belf=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -lt_cv_cc_needs_belf=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; - -esac - -need_locks="$enable_libtool_lock" - - - -for ac_header in dlfcn.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6 -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_F77="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - echo "$as_me:$LINENO: result: $F77" >&5 -echo "${ECHO_T}$F77" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$F77" && break - done -fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_F77="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 -echo "${ECHO_T}$ac_ct_F77" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_F77" && break -done - - F77=$ac_ct_F77 -fi - - -# Provide some information about the compiler. -echo "$as_me:7076:" \ - "checking for Fortran 77 compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6 -if test "${ac_cv_f77_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_f77_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6 -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+set} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 -echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_f77_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - FFLAGS=-g -cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_f77_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_f77_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 -echo "${ECHO_T}$ac_cv_prog_f77_g" >&6 -if test "$ac_test_FFLAGS" = set; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" - else - FFLAGS= - fi -fi - -G77=`test $ac_compiler_gnu = yes && echo yes` -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! - -# find the maximum length of command line arguments -echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 -echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6 -if test "${lt_cv_sys_max_cmd_len+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* ) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for *BSD - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - ;; - - *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 -echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6 -else - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 -fi - - - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 -echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6 -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \2\3 \3' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32*) - symcode='[ABCDGISTW]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris* | sysv5*) - symcode='[BDRT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - echo "$as_me:$LINENO: result: failed" >&5 -echo "${ECHO_T}failed" >&6 -else - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 -fi - -echo "$as_me:$LINENO: checking for objdir" >&5 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6 -if test "${lt_cv_objdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 -echo "${ECHO_T}$lt_cv_objdir" >&6 -objdir=$lt_cv_objdir - - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except M$VC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - echo "$as_me:$LINENO: result: $AR" >&5 -echo "${ECHO_T}$AR" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false" -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 -echo "${ECHO_T}$ac_ct_AR" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - AR=$ac_ct_AR -else - AR="$ac_cv_prog_AR" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - RANLIB=$ac_ct_RANLIB -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - STRIP=$ac_ct_STRIP -else - STRIP="$ac_cv_prog_STRIP" -fi - - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" - ;; - *) - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - echo "$as_me:$LINENO: checking for file" >&5 -echo $ECHO_N "checking for file... $ECHO_C" >&6 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -enable_dlopen=no -enable_win32_dll=no - -# Check whether --enable-libtool-lock or --disable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval="$enable_libtool_lock" - -fi; -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - - -# Check whether --with-pic or --without-pic was given. -if test "${with_pic+set}" = set; then - withval="$with_pic" - pic_mode="$withval" -else - pic_mode=default -fi; -test -z "$pic_mode" && pic_mode=default - -# Use C for the default configuration in the libtool script -tagname= -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# -# Check for any special shared library compilation flags. -# -lt_prog_cc_shlib= -if test "$GCC" = no; then - case $host_os in - sco3.2v5*) - lt_prog_cc_shlib='-belf' - ;; - esac -fi -if test -n "$lt_prog_cc_shlib"; then - { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5 -echo "$as_me: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&2;} - if echo "$old_CC $old_CFLAGS " | grep "[ ]$lt_prog_cc_shlib[ ]" >/dev/null; then : - else - { echo "$as_me:$LINENO: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5 -echo "$as_me: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;} - lt_cv_prog_cc_can_build_shared=no - fi -fi - - -# -# Check to make sure the static flag actually works. -# -echo "$as_me:$LINENO: checking if $compiler static flag $lt_prog_compiler_static works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_prog_compiler_static works... $ECHO_C" >&6 -if test "${lt_prog_compiler_static_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_prog_compiler_static" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - else - lt_prog_compiler_static_works=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works" >&6 - -if test x"$lt_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - - - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' - - -echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8126: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:8130: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s conftest.err; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - -lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - -echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case "$cc_basename" in - xlc*) - lt_prog_compiler_pic='-qnocommon' - lt_prog_compiler_wl='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - linux*) - case $CC in - icc* | ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - sco3.2v5*) - lt_prog_compiler_pic='-Kpic' - lt_prog_compiler_static='-dn' - ;; - - solaris*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic" >&6 - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - -echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6 -if test "${lt_prog_compiler_pic_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8369: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:8373: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s conftest.err; then - lt_prog_compiler_pic_works=yes - fi - fi - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6 - -if test x"$lt_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi -case "$host_os" in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 -if test "${lt_cv_prog_compiler_c_o+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8429: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:8433: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s out/conftest.err; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6 - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6 - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 - - runpath_var= - allow_undefined_flag= - enable_shared_with_static_runtimes=no - archive_cmds= - archive_expsym_cmds= - old_archive_From_new_cmds= - old_archive_from_expsyms_cmds= - export_dynamic_flag_spec= - whole_archive_flag_spec= - thread_safe_flag_spec= - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - link_all_deplibs=unknown - hardcode_automatic=no - module_cmds= - module_expsym_cmds= - always_export_symbols=no - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris* | sysv5*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_cmds="$tmp_archive_cmds" - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - if test $supports_anon_versioning = yes; then - archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ -cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ -$echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - else - archive_expsym_cmds="$tmp_archive_cmds" - fi - else - ld_shlibs=no - fi - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = yes; then - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - - if test "$GCC" = yes; then - case $host_os in aix4.012|aix4.012.*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - esac - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - always_export_symbols=yes - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec=' ' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds it's shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; - - darwin* | rhapsody*) - case "$host_os" in - rhapsody* | darwin1.[012]) - allow_undefined_flag='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case "$cc_basename" in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10* | hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*|ia64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case "$host_cpu" in - hppa*64*|ia64*) - archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' - ;; - *) - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_libdir_separator=: - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - ia64*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=no - hardcode_shlibpath_var=no - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - *) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld='-rpath $libdir' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - openbsd*) - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - - sco3.2v5*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ;; - - solaris*) - no_undefined_flag=' -z text' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4.2uw2*) - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=no - hardcode_shlibpath_var=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; - - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) - no_undefined_flag='${wl}-z ${wl}text' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv5*) - no_undefined_flag=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - hardcode_libdir_flag_spec= - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - fi - -echo "$as_me:$LINENO: result: $ld_shlibs" >&5 -echo "${ECHO_T}$ld_shlibs" >&6 -test "$ld_shlibs" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 -echo "${ECHO_T}$archive_cmds_need_lc" >&6 - ;; - esac - fi - ;; -esac - -echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.01* | freebsdelf3.01*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - *) # from 3.2 on - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case "$host_cpu" in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6 -test "$dynamic_linker" = no && can_build_shared=no - -echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var" || \ - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -echo "$as_me:$LINENO: result: $hardcode_action" >&5 -echo "${ECHO_T}$hardcode_action" >&6 - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -striplib= -old_striplib= -echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - ;; - *) - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - ;; - esac -fi - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - echo "$as_me:$LINENO: checking for shl_load" >&5 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 -if test "${ac_cv_func_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shl_load) || defined (__stub___shl_load) -choke me -#else -char (*f) () = shl_load; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != shl_load; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_shl_load=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6 -if test $ac_cv_func_shl_load = yes; then - lt_cv_dlopen="shl_load" -else - echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -int -main () -{ -shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dld_shl_load=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - echo "$as_me:$LINENO: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef dlopen - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlopen) || defined (__stub___dlopen) -choke me -#else -char (*f) () = dlopen; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != dlopen; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6 -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_svld_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_svld_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 -if test $ac_cv_lib_svld_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dld_link (); -int -main () -{ -dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_dld_link=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dld_dld_link=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6 - - if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" - echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - -# Report which librarie types wil actually be built -echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6 - -echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6 - -echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6 - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler \ - CC \ - LD \ - lt_prog_compiler_wl \ - lt_prog_compiler_pic \ - lt_prog_compiler_static \ - lt_prog_compiler_no_builtin_flag \ - export_dynamic_flag_spec \ - thread_safe_flag_spec \ - whole_archive_flag_spec \ - enable_shared_with_static_runtimes \ - old_archive_cmds \ - old_archive_from_new_cmds \ - predep_objects \ - postdep_objects \ - predeps \ - postdeps \ - compiler_lib_search_path \ - archive_cmds \ - archive_expsym_cmds \ - postinstall_cmds \ - postuninstall_cmds \ - old_archive_from_expsyms_cmds \ - allow_undefined_flag \ - no_undefined_flag \ - export_symbols_cmds \ - hardcode_libdir_flag_spec \ - hardcode_libdir_flag_spec_ld \ - hardcode_libdir_separator \ - hardcode_automatic \ - module_cmds \ - module_expsym_cmds \ - lt_cv_prog_compiler_c_o \ - exclude_expsyms \ - include_expsyms; do - - case $var in - old_archive_cmds | \ - old_archive_from_new_cmds | \ - archive_cmds | \ - archive_expsym_cmds | \ - module_cmds | \ - module_expsym_cmds | \ - old_archive_from_expsyms_cmds | \ - export_symbols_cmds | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - { echo "$as_me:$LINENO: creating $ofile" >&5 -echo "$as_me: creating $ofile" >&6;} - - cat <<__EOF__ >> "$cfgfile" -#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# A language-specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU C compiler? -with_gcc=$GCC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Must we lock files when doing compilation ? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# ### END LIBTOOL CONFIG - -__EOF__ - - - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - -# Check whether --with-tags or --without-tags was given. -if test "${with_tags+set}" = set; then - withval="$with_tags" - tagnames="$withval" -fi; - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} - else - { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 -echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} - fi - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in - "") ;; - *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 -echo "$as_me: error: invalid tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 -echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} - { (exit 1); exit 1; }; } - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && test "X$CXX" != "Xno"; then - ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - - - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_automatic_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -# Source file extension for C++ test sources. -ac_ext=cc - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *) { return(0); }\n' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -compiler_CXX=$CC -cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' -else - lt_prog_compiler_no_builtin_flag_CXX= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - -# Check whether --with-gnu-ld or --without-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval="$with_gnu_ld" - test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi; -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6 - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 -else - echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 -ld_shlibs_CXX=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes; then - case $host_os in aix4.012|aix4.012.*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct_CXX=yes - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - always_export_symbols_CXX=yes - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX=' ' - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds it's shared libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - else - ld_shlibs_CXX=no - fi - ;; - darwin* | rhapsody*) - case "$host_os" in - rhapsody* | darwin1.[012]) - allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - whole_archive_flag_spec_CXX='' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case "$cc_basename" in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_CXX=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - freebsd12*) - # C++ shared libraries reported to be fairly broken before switch to ELF - ld_shlibs_CXX=no - ;; - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - freebsd* | kfreebsd*-gnu) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - gnu*) - ;; - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC) - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - case "$host_cpu" in - hppa*64*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld_CXX='+b $libdir' - hardcode_libdir_separator_CXX=: - ;; - ia64*) - hardcode_libdir_flag_spec_CXX='-L$libdir' - ;; - *) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case "$host_cpu" in - hppa*64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - *) - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC) - case "$host_cpu" in - hppa*64*|ia64*) - archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case "$host_cpu" in - ia64*|hppa*64*) - archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - irix5* | irix6*) - case $cc_basename in - CC) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - ;; - linux*) - case $cc_basename in - KCC) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - cxx) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - mvs*) - case $cc_basename in - cxx) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - openbsd*) - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; - osf3*) - case $cc_basename in - KCC) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' - ;; - RCC) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ - $rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - sco*) - archive_cmds_need_lc_CXX=no - case $cc_basename in - CC) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC) - # Sun C++ 4.2, 5.x and Centerline C++ - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.0-5 | solaris2.0-5.*) ;; - *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[LR]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - fi - ;; - esac - ;; - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) - archive_cmds_need_lc_CXX=no - ;; - tandem*) - case $cc_basename in - NCC) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; -esac -echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6 -test "$ld_shlibs_CXX" = no && can_build_shared=no - -GCC_CXX="$GXX" -LD_CXX="$LD" - - -cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - # The `*' in the case matches for architectures that use `case' in - # $output_verbose_cmd can trigger glob expansion during the loop - # eval without this substitution. - output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" - - for p in `eval $output_verbose_link_cmd`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" \ - || test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$rm -f confest.$objext - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - -lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - -echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 - - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case "$cc_basename" in - xlc*) - lt_prog_compiler_pic_CXX='-qnocommon' - lt_prog_compiler_wl_CXX='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | kfreebsd*-gnu) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux*) - case $cc_basename in - KCC) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - icpc) - # Intel C++ - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - cxx) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - sco*) - case $cc_basename in - CC) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - *) - ;; - esac - ;; - solaris*) - case $cc_basename in - CC) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - unixware*) - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6 - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - -echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6 -if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12901: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:12905: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s conftest.err; then - lt_prog_compiler_pic_works_CXX=yes - fi - fi - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6 - -if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi -case "$host_os" in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac - -echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 -if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12961: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:12965: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s out/conftest.err; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6 - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6 - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6 -test "$ld_shlibs_CXX" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_CXX=no - else - archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6 - ;; - esac - fi - ;; -esac - -echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.01* | freebsdelf3.01*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - *) # from 3.2 on - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case "$host_cpu" in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6 -test "$dynamic_linker" = no && can_build_shared=no - -echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || \ - test -n "$runpath_var_CXX" || \ - test "X$hardcode_automatic_CXX" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 -echo "${ECHO_T}$hardcode_action_CXX" >&6 - -if test "$hardcode_action_CXX" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -striplib= -old_striplib= -echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - ;; - *) - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - ;; - esac -fi - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - echo "$as_me:$LINENO: checking for shl_load" >&5 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 -if test "${ac_cv_func_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shl_load) || defined (__stub___shl_load) -choke me -#else -char (*f) () = shl_load; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != shl_load; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_shl_load=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6 -if test $ac_cv_func_shl_load = yes; then - lt_cv_dlopen="shl_load" -else - echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -int -main () -{ -shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dld_shl_load=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - echo "$as_me:$LINENO: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef dlopen - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlopen) || defined (__stub___dlopen) -choke me -#else -char (*f) () = dlopen; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != dlopen; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6 -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_svld_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_svld_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 -if test $ac_cv_lib_svld_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dld_link (); -int -main () -{ -dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_dld_link=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dld_dld_link=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6 - - if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" - echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_CXX \ - CC_CXX \ - LD_CXX \ - lt_prog_compiler_wl_CXX \ - lt_prog_compiler_pic_CXX \ - lt_prog_compiler_static_CXX \ - lt_prog_compiler_no_builtin_flag_CXX \ - export_dynamic_flag_spec_CXX \ - thread_safe_flag_spec_CXX \ - whole_archive_flag_spec_CXX \ - enable_shared_with_static_runtimes_CXX \ - old_archive_cmds_CXX \ - old_archive_from_new_cmds_CXX \ - predep_objects_CXX \ - postdep_objects_CXX \ - predeps_CXX \ - postdeps_CXX \ - compiler_lib_search_path_CXX \ - archive_cmds_CXX \ - archive_expsym_cmds_CXX \ - postinstall_cmds_CXX \ - postuninstall_cmds_CXX \ - old_archive_from_expsyms_cmds_CXX \ - allow_undefined_flag_CXX \ - no_undefined_flag_CXX \ - export_symbols_cmds_CXX \ - hardcode_libdir_flag_spec_CXX \ - hardcode_libdir_flag_spec_ld_CXX \ - hardcode_libdir_separator_CXX \ - hardcode_automatic_CXX \ - module_cmds_CXX \ - module_expsym_cmds_CXX \ - lt_cv_prog_compiler_c_o_CXX \ - exclude_expsyms_CXX \ - include_expsyms_CXX; do - - case $var in - old_archive_cmds_CXX | \ - old_archive_from_new_cmds_CXX | \ - archive_cmds_CXX | \ - archive_expsym_cmds_CXX | \ - module_cmds_CXX | \ - module_expsym_cmds_CXX | \ - old_archive_from_expsyms_cmds_CXX | \ - export_symbols_cmds_CXX | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# A language-specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_CXX - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Must we lock files when doing compilation ? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_CXX -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_CXX - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_CXX - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_CXX - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_CXX" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld - - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_flag_spec_ld_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -objext_F77=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code=" subroutine t\n return\n end\n" - -# Code to be used in simple link tests -lt_simple_link_test_code=" program t\n end\n" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -compiler_F77=$CC -cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - -echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6 - -echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - test "$enable_shared" = yes && enable_static=no - ;; -esac -echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6 - -echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6 - -test "$ld_shlibs_F77" = no && can_build_shared=no - -GCC_F77="$G77" -LD_F77="$LD" - -lt_prog_compiler_wl_F77= -lt_prog_compiler_pic_F77= -lt_prog_compiler_static_F77= - -echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 - - if test "$GCC" = yes; then - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_static_F77='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_F77=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_F77='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - else - lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case "$cc_basename" in - xlc*) - lt_prog_compiler_pic_F77='-qnocommon' - lt_prog_compiler_wl_F77='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - linux*) - case $CC in - icc* | ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' - ;; - ccc*) - lt_prog_compiler_wl_F77='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - - sco3.2v5*) - lt_prog_compiler_pic_F77='-Kpic' - lt_prog_compiler_static_F77='-dn' - ;; - - solaris*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_F77=no - ;; - esac - fi - -echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6 - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_F77"; then - -echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6 -if test "${lt_prog_compiler_pic_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_F77=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15257: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:15261: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s conftest.err; then - lt_prog_compiler_pic_works_F77=yes - fi - fi - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6 - -if test x"$lt_prog_compiler_pic_works_F77" = xyes; then - case $lt_prog_compiler_pic_F77 in - "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; - esac -else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no -fi - -fi -case "$host_os" in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_F77= - ;; - *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" - ;; -esac - -echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 -if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15317: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:15321: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s out/conftest.err; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6 - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6 - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 - - runpath_var= - allow_undefined_flag_F77= - enable_shared_with_static_runtimes_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - old_archive_From_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - thread_safe_flag_spec_F77= - hardcode_libdir_flag_spec_F77= - hardcode_libdir_flag_spec_ld_F77= - hardcode_libdir_separator_F77= - hardcode_direct_F77=no - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - link_all_deplibs_F77=unknown - hardcode_automatic_F77=no - module_cmds_F77= - module_expsym_cmds_F77= - always_export_symbols_F77=no - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_F77= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_F77=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_F77=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_F77=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_F77='-L$libdir' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=no - enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris* | sysv5*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_F77=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_cmds_F77="$tmp_archive_cmds" - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ -cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ -$echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - else - archive_expsym_cmds_F77="$tmp_archive_cmds" - fi - else - ld_shlibs_F77=no - fi - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - - if test "$ld_shlibs_F77" = yes; then - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_F77='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_F77=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_F77=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - - if test "$GCC" = yes; then - case $host_os in aix4.012|aix4.012.*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct_F77=yes - else - # We have old collect2 - hardcode_direct_F77=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= - fi - esac - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_F77=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' ${wl}-bernotok' - allow_undefined_flag_F77=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - always_export_symbols_F77=yes - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_F77=' ' - archive_cmds_need_lc_F77=yes - # This is similar to how AIX traditionally builds it's shared libraries. - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_F77=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_F77=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_F77='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_F77=yes - ;; - - darwin* | rhapsody*) - case "$host_os" in - rhapsody* | darwin1.[012]) - allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_F77=no - hardcode_direct_F77=no - hardcode_automatic_F77=yes - hardcode_shlibpath_var_F77=unsupported - whole_archive_flag_spec_F77='' - link_all_deplibs_F77=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case "$cc_basename" in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_F77=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - freebsd1*) - ld_shlibs_F77=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu) - archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - ;; - - hpux10* | hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*|ia64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case "$host_cpu" in - hppa*64*|ia64*) - archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' - ;; - *) - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*) - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld_F77='+b $libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - ;; - ia64*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - *) - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - link_all_deplibs_F77=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no - ;; - - openbsd*) - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_F77='-rpath $libdir' - fi - hardcode_libdir_separator_F77=: - ;; - - sco3.2v5*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='${wl}-Bexport' - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ;; - - solaris*) - no_undefined_flag_F77=' -z text' - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; - esac - link_all_deplibs_F77=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no - ;; - motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no - ;; - - sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_F77=yes - fi - ;; - - sysv4.2uw2*) - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; - - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) - no_undefined_flag_F77='${wl}-z ${wl}text' - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no - ;; - - sysv5*) - no_undefined_flag_F77=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - hardcode_libdir_flag_spec_F77= - hardcode_shlibpath_var_F77=no - runpath_var='LD_RUN_PATH' - ;; - - uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - *) - ld_shlibs_F77=no - ;; - esac - fi - -echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 -echo "${ECHO_T}$ld_shlibs_F77" >&6 -test "$ld_shlibs_F77" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_F77" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_F77=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_F77 in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_F77 - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_F77=no - else - archive_cmds_need_lc_F77=yes - fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6 - ;; - esac - fi - ;; -esac - -echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.01* | freebsdelf3.01*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - *) # from 3.2 on - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case "$host_cpu" in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6 -test "$dynamic_linker" = no && can_build_shared=no - -echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 -hardcode_action_F77= -if test -n "$hardcode_libdir_flag_spec_F77" || \ - test -n "$runpath_var_F77" || \ - test "X$hardcode_automatic_F77" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_F77" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && - test "$hardcode_minus_L_F77" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_F77=unsupported -fi -echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 -echo "${ECHO_T}$hardcode_action_F77" >&6 - -if test "$hardcode_action_F77" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -striplib= -old_striplib= -echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - ;; - *) - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - ;; - esac -fi - - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_F77 \ - CC_F77 \ - LD_F77 \ - lt_prog_compiler_wl_F77 \ - lt_prog_compiler_pic_F77 \ - lt_prog_compiler_static_F77 \ - lt_prog_compiler_no_builtin_flag_F77 \ - export_dynamic_flag_spec_F77 \ - thread_safe_flag_spec_F77 \ - whole_archive_flag_spec_F77 \ - enable_shared_with_static_runtimes_F77 \ - old_archive_cmds_F77 \ - old_archive_from_new_cmds_F77 \ - predep_objects_F77 \ - postdep_objects_F77 \ - predeps_F77 \ - postdeps_F77 \ - compiler_lib_search_path_F77 \ - archive_cmds_F77 \ - archive_expsym_cmds_F77 \ - postinstall_cmds_F77 \ - postuninstall_cmds_F77 \ - old_archive_from_expsyms_cmds_F77 \ - allow_undefined_flag_F77 \ - no_undefined_flag_F77 \ - export_symbols_cmds_F77 \ - hardcode_libdir_flag_spec_F77 \ - hardcode_libdir_flag_spec_ld_F77 \ - hardcode_libdir_separator_F77 \ - hardcode_automatic_F77 \ - module_cmds_F77 \ - module_expsym_cmds_F77 \ - lt_cv_prog_compiler_c_o_F77 \ - exclude_expsyms_F77 \ - include_expsyms_F77; do - - case $var in - old_archive_cmds_F77 | \ - old_archive_from_new_cmds_F77 | \ - archive_cmds_F77 | \ - archive_expsym_cmds_F77 | \ - module_cmds_F77 | \ - module_expsym_cmds_F77 | \ - old_archive_from_expsyms_cmds_F77 | \ - export_symbols_cmds_F77 | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_F77 - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# A language-specific compiler. -CC=$lt_compiler_F77 - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_F77 - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_F77 - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_F77 - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_F77 -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 - -# Must we lock files when doing compilation ? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_F77 -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_F77 - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_F77 - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_F77 - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_F77 - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_F77" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - - - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -objext_GCJ=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String argv) {}; }\n' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -compiler_GCJ=$CC - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GCJ=no - - -lt_prog_compiler_no_builtin_flag_GCJ= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' - - -echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17352: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:17356: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s conftest.err; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" -else - : -fi - -fi - -lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= - -echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 - - if test "$GCC" = yes; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GCJ=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GCJ='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case "$cc_basename" in - xlc*) - lt_prog_compiler_pic_GCJ='-qnocommon' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case "$host_cpu" in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - linux*) - case $CC in - icc* | ecc*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - sco3.2v5*) - lt_prog_compiler_pic_GCJ='-Kpic' - lt_prog_compiler_static_GCJ='-dn' - ;; - - solaris*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GCJ=no - ;; - esac - fi - -echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6 - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GCJ"; then - -echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6 -if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GCJ" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17595: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:17599: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s conftest.err; then - lt_prog_compiler_pic_works_GCJ=yes - fi - fi - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6 - -if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then - case $lt_prog_compiler_pic_GCJ in - "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; - esac -else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no -fi - -fi -case "$host_os" in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GCJ= - ;; - *) - lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" - ;; -esac - -echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 -if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17655: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:17659: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test ! -s out/conftest.err; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6 - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6 - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 - - runpath_var= - allow_undefined_flag_GCJ= - enable_shared_with_static_runtimes_GCJ=no - archive_cmds_GCJ= - archive_expsym_cmds_GCJ= - old_archive_From_new_cmds_GCJ= - old_archive_from_expsyms_cmds_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - thread_safe_flag_spec_GCJ= - hardcode_libdir_flag_spec_GCJ= - hardcode_libdir_flag_spec_ld_GCJ= - hardcode_libdir_separator_GCJ= - hardcode_direct_GCJ=no - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=unsupported - link_all_deplibs_GCJ=unknown - hardcode_automatic_GCJ=no - module_cmds_GCJ= - module_expsym_cmds_GCJ= - always_export_symbols_GCJ=no - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GCJ= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GCJ=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_GCJ=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GCJ=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GCJ='-L$libdir' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=no - enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris* | sysv5*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_cmds_GCJ="$tmp_archive_cmds" - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ -cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ -$echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - else - archive_expsym_cmds_GCJ="$tmp_archive_cmds" - fi - else - ld_shlibs_GCJ=no - fi - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - - if test "$ld_shlibs_GCJ" = yes; then - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GCJ=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - - if test "$GCC" = yes; then - case $host_os in aix4.012|aix4.012.*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct_GCJ=yes - else - # We have old collect2 - hardcode_direct_GCJ=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= - fi - esac - shared_flag='-shared' - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GCJ=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' ${wl}-bernotok' - allow_undefined_flag_GCJ=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - always_export_symbols_GCJ=yes - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ=' ' - archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds it's shared libraries. - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_GCJ=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_GCJ='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_GCJ=yes - ;; - - darwin* | rhapsody*) - case "$host_os" in - rhapsody* | darwin1.[012]) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - whole_archive_flag_spec_GCJ='' - link_all_deplibs_GCJ=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case "$cc_basename" in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_GCJ=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - freebsd1*) - ld_shlibs_GCJ=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu) - archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - ;; - - hpux10* | hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*|ia64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case "$host_cpu" in - hppa*64*|ia64*) - archive_cmds_GCJ='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' - ;; - *) - archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*) - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - ;; - ia64*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - *) - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - link_all_deplibs_GCJ=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; - - openbsd*) - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GCJ='-rpath $libdir' - fi - hardcode_libdir_separator_GCJ=: - ;; - - sco3.2v5*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='${wl}-Bexport' - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ;; - - solaris*) - no_undefined_flag_GCJ=' -z text' - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; - esac - link_all_deplibs_GCJ=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - - sysv4.2uw2*) - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; - - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) - no_undefined_flag_GCJ='${wl}-z ${wl}text' - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv5*) - no_undefined_flag_GCJ=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - hardcode_libdir_flag_spec_GCJ= - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' - ;; - - uts4*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - *) - ld_shlibs_GCJ=no - ;; - esac - fi - -echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 -echo "${ECHO_T}$ld_shlibs_GCJ" >&6 -test "$ld_shlibs_GCJ" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_GCJ in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_GCJ=no - else - archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6 - ;; - esac - fi - ;; -esac - -echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.01* | freebsdelf3.01*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - *) # from 3.2 on - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case "$host_cpu" in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6 -test "$dynamic_linker" = no && can_build_shared=no - -echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 -hardcode_action_GCJ= -if test -n "$hardcode_libdir_flag_spec_GCJ" || \ - test -n "$runpath_var_GCJ" || \ - test "X$hardcode_automatic_GCJ" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_GCJ" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && - test "$hardcode_minus_L_GCJ" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GCJ=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GCJ=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GCJ=unsupported -fi -echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 -echo "${ECHO_T}$hardcode_action_GCJ" >&6 - -if test "$hardcode_action_GCJ" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -striplib= -old_striplib= -echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - ;; - *) - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - ;; - esac -fi - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - echo "$as_me:$LINENO: checking for shl_load" >&5 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 -if test "${ac_cv_func_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shl_load) || defined (__stub___shl_load) -choke me -#else -char (*f) () = shl_load; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != shl_load; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_shl_load=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6 -if test $ac_cv_func_shl_load = yes; then - lt_cv_dlopen="shl_load" -else - echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load (); -int -main () -{ -shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dld_shl_load=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - echo "$as_me:$LINENO: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef dlopen - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlopen) || defined (__stub___dlopen) -choke me -#else -char (*f) () = dlopen; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != dlopen; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6 -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_svld_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_svld_dlopen=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 -if test $ac_cv_lib_svld_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dld_link (); -int -main () -{ -dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_dld_link=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dld_dld_link=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6 - - if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" - echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_GCJ \ - CC_GCJ \ - LD_GCJ \ - lt_prog_compiler_wl_GCJ \ - lt_prog_compiler_pic_GCJ \ - lt_prog_compiler_static_GCJ \ - lt_prog_compiler_no_builtin_flag_GCJ \ - export_dynamic_flag_spec_GCJ \ - thread_safe_flag_spec_GCJ \ - whole_archive_flag_spec_GCJ \ - enable_shared_with_static_runtimes_GCJ \ - old_archive_cmds_GCJ \ - old_archive_from_new_cmds_GCJ \ - predep_objects_GCJ \ - postdep_objects_GCJ \ - predeps_GCJ \ - postdeps_GCJ \ - compiler_lib_search_path_GCJ \ - archive_cmds_GCJ \ - archive_expsym_cmds_GCJ \ - postinstall_cmds_GCJ \ - postuninstall_cmds_GCJ \ - old_archive_from_expsyms_cmds_GCJ \ - allow_undefined_flag_GCJ \ - no_undefined_flag_GCJ \ - export_symbols_cmds_GCJ \ - hardcode_libdir_flag_spec_GCJ \ - hardcode_libdir_flag_spec_ld_GCJ \ - hardcode_libdir_separator_GCJ \ - hardcode_automatic_GCJ \ - module_cmds_GCJ \ - module_expsym_cmds_GCJ \ - lt_cv_prog_compiler_c_o_GCJ \ - exclude_expsyms_GCJ \ - include_expsyms_GCJ; do - - case $var in - old_archive_cmds_GCJ | \ - old_archive_from_new_cmds_GCJ | \ - archive_cmds_GCJ | \ - archive_expsym_cmds_GCJ | \ - module_cmds_GCJ | \ - module_expsym_cmds_GCJ | \ - old_archive_from_expsyms_cmds_GCJ | \ - export_symbols_cmds_GCJ | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# A language-specific compiler. -CC=$lt_compiler_GCJ - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_GCJ - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_GCJ - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ - -# Must we lock files when doing compilation ? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_GCJ -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_GCJ - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_GCJ - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_GCJ - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_GCJ - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_GCJ" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GCJ - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GCJ - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - else - tagname="" - fi - ;; - - RC) - - - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -compiler_RC=$CC -lt_cv_prog_compiler_c_o_RC=yes - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_RC \ - CC_RC \ - LD_RC \ - lt_prog_compiler_wl_RC \ - lt_prog_compiler_pic_RC \ - lt_prog_compiler_static_RC \ - lt_prog_compiler_no_builtin_flag_RC \ - export_dynamic_flag_spec_RC \ - thread_safe_flag_spec_RC \ - whole_archive_flag_spec_RC \ - enable_shared_with_static_runtimes_RC \ - old_archive_cmds_RC \ - old_archive_from_new_cmds_RC \ - predep_objects_RC \ - postdep_objects_RC \ - predeps_RC \ - postdeps_RC \ - compiler_lib_search_path_RC \ - archive_cmds_RC \ - archive_expsym_cmds_RC \ - postinstall_cmds_RC \ - postuninstall_cmds_RC \ - old_archive_from_expsyms_cmds_RC \ - allow_undefined_flag_RC \ - no_undefined_flag_RC \ - export_symbols_cmds_RC \ - hardcode_libdir_flag_spec_RC \ - hardcode_libdir_flag_spec_ld_RC \ - hardcode_libdir_separator_RC \ - hardcode_automatic_RC \ - module_cmds_RC \ - module_expsym_cmds_RC \ - lt_cv_prog_compiler_c_o_RC \ - exclude_expsyms_RC \ - include_expsyms_RC; do - - case $var in - old_archive_cmds_RC | \ - old_archive_from_new_cmds_RC | \ - archive_cmds_RC | \ - archive_expsym_cmds_RC | \ - module_cmds_RC | \ - module_expsym_cmds_RC | \ - old_archive_from_expsyms_cmds_RC | \ - export_symbols_cmds_RC | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# A language-specific compiler. -CC=$lt_compiler_RC - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_RC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_RC - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC - -# Must we lock files when doing compilation ? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_RC -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_RC - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_RC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_RC - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_RC - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_RC" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_RC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - ;; - - *) - { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 -echo "$as_me: error: Unsupported tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 -echo "$as_me: error: unable to update list of available tagged configurations." >&2;} - { (exit 1); exit 1; }; } - fi -fi - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - -# Prevent multiple expansion - - - - - - - - - - - - - - - - - - - - - - - -if test "$with_gnu_ld" = "yes"; then - WITH_GNU_LD_TRUE= - WITH_GNU_LD_FALSE='#' -else - WITH_GNU_LD_TRUE='#' - WITH_GNU_LD_FALSE= -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -for ac_header in mcheck.h values.h socket.h sys/socket.h \ - stdbool.h sys/ipc.h sys/shm.h sys/sem.h errno.h \ - stdlib.h dirent.h pthread.h sys/prctl.h \ - sysint.h inttypes.h termcap.h netdb.h sys/socket.h \ - sys/systemcfg.h ncurses.h curses.h sys/dr.h sys/vfs.h \ - pam/pam_appl.h security/pam_appl.h sys/sysctl.h \ - -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 -echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6 -if test "${ac_cv_header_sys_wait_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) -#endif -#ifndef WIFEXITED -# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif - -int -main () -{ - int s; - wait (&s); - s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_sys_wait_h=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_sys_wait_h=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 -echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6 -if test $ac_cv_header_sys_wait_h = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS_WAIT_H 1 -_ACEOF - -fi - -echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 -echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 -if test "${ac_cv_header_time+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include - -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_time=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_time=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 -echo "${ECHO_T}$ac_cv_header_time" >&6 -if test $ac_cv_header_time = yes; then - -cat >>confdefs.h <<\_ACEOF -#define TIME_WITH_SYS_TIME 1 -_ACEOF - -fi - -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_stdc=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - - - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -double x = _system_configuration.physmem; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE__SYSTEM_CONFIGURATION 1 -_ACEOF - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - - - echo "$as_me:$LINENO: checking for program_invocation_name" >&5 -echo $ECHO_N "checking for program_invocation_name... $ECHO_C" >&6 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -extern char *program_invocation_name; -int -main () -{ -char *p; p = program_invocation_name; printf("%s\n", p); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - got_program_invocation_name=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - echo "$as_me:$LINENO: result: ${got_program_invocation_name=no}" >&5 -echo "${ECHO_T}${got_program_invocation_name=no}" >&6 - - if test "x$got_program_invocation_name" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_PROGRAM_INVOCATION_NAME 1 -_ACEOF - - fi - - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include - #include -int -main () -{ -ptrace(PT_TRACE_ME,0,0,0,0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -cat >>confdefs.h <<\_ACEOF -#define PTRACE_FIVE_ARGS 1 -_ACEOF - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - -for ac_func in ptrace64 -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -setpgrp(0,0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -cat >>confdefs.h <<\_ACEOF -#define SETPGRP_TWO_ARGS 1 -_ACEOF - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - - - -# Test if sched_setaffinity function exists and argument count (it can vary) - -for ac_func in sched_setaffinity -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - have_sched_setaffinity=yes -fi -done - - - -if test "x$have_sched_setaffinity" = "xyes"; then - HAVE_SCHED_SETAFFINITY_TRUE= - HAVE_SCHED_SETAFFINITY_FALSE='#' -else - HAVE_SCHED_SETAFFINITY_TRUE='#' - HAVE_SCHED_SETAFFINITY_FALSE= -fi - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _GNU_SOURCE - #include -int -main () -{ -cpu_set_t mask; - sched_getaffinity(0, sizeof(cpu_set_t), &mask); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -cat >>confdefs.h <<\_ACEOF -#define SCHED_GETAFFINITY_THREE_ARGS 1 -_ACEOF - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _GNU_SOURCE - #include -int -main () -{ -cpu_set_t mask; - sched_getaffinity(0, &mask); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -cat >>confdefs.h <<\_ACEOF -#define SCHED_GETAFFINITY_TWO_ARGS 1 -_ACEOF - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - -# -# Test for NUMA memory afffinity functions and set the definitions -# - echo "$as_me:$LINENO: checking for numa_available in -lnuma" >&5 -echo $ECHO_N "checking for numa_available in -lnuma... $ECHO_C" >&6 -if test "${ac_cv_lib_numa_numa_available+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnuma $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char numa_available (); -int -main () -{ -numa_available (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_numa_numa_available=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_numa_numa_available=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_numa_numa_available" >&5 -echo "${ECHO_T}$ac_cv_lib_numa_numa_available" >&6 -if test $ac_cv_lib_numa_numa_available = yes; then - ac_have_numa=yes; NUMA_LIBS="-lnuma" -fi - - - - - -if test "x$ac_have_numa" = "xyes"; then - HAVE_NUMA_TRUE= - HAVE_NUMA_FALSE='#' -else - HAVE_NUMA_TRUE='#' - HAVE_NUMA_FALSE= -fi - - if test "x$ac_have_numa" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_NUMA 1 -_ACEOF - - else - { echo "$as_me:$LINENO: WARNING: Unable to locate NUMA memory affinity functions" >&5 -echo "$as_me: WARNING: Unable to locate NUMA memory affinity functions" >&2;} - fi - -# -# Test for other affinity functions as appropriate -# TBD - - - - - echo "$as_me:$LINENO: checking whether to enable PAM support" >&5 -echo $ECHO_N "checking whether to enable PAM support... $ECHO_C" >&6 - # Check whether --enable-pam or --disable-pam was given. -if test "${enable_pam+set}" = set; then - enableval="$enable_pam" - case "$enableval" in - yes) x_ac_pam=yes ;; - no) x_ac_pam=no ;; - *) echo "$as_me:$LINENO: result: doh!" >&5 -echo "${ECHO_T}doh!" >&6 - { { echo "$as_me:$LINENO: error: bad value \"$enableval\" for --enable-pam" >&5 -echo "$as_me: error: bad value \"$enableval\" for --enable-pam" >&2;} - { (exit 1); exit 1; }; } ;; - esac - -else - x_ac_pam=yes - -fi; - - if test "$x_ac_pam" = yes; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking for pam_get_user in -lpam" >&5 -echo $ECHO_N "checking for pam_get_user in -lpam... $ECHO_C" >&6 -if test "${ac_cv_lib_pam_pam_get_user+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpam $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char pam_get_user (); -int -main () -{ -pam_get_user (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_pam_pam_get_user=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_pam_pam_get_user=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_pam_pam_get_user" >&5 -echo "${ECHO_T}$ac_cv_lib_pam_pam_get_user" >&6 -if test $ac_cv_lib_pam_pam_get_user = yes; then - ac_have_pam=yes; PAM_LIBS="-lpam" -fi - - - echo "$as_me:$LINENO: checking for misc_conv in -lpam_misc" >&5 -echo $ECHO_N "checking for misc_conv in -lpam_misc... $ECHO_C" >&6 -if test "${ac_cv_lib_pam_misc_misc_conv+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpam_misc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char misc_conv (); -int -main () -{ -misc_conv (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_pam_misc_misc_conv=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_pam_misc_misc_conv=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_pam_misc_misc_conv" >&5 -echo "${ECHO_T}$ac_cv_lib_pam_misc_misc_conv" >&6 -if test $ac_cv_lib_pam_misc_misc_conv = yes; then - ac_have_pam_misc=yes; PAM_LIBS="$PAM_LIBS -lpam_misc" -fi - - - - if test "x$ac_have_pam" = "xyes" -a "x$ac_have_pam_misc" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_PAM -_ACEOF - - else - { echo "$as_me:$LINENO: WARNING: Unable to locate PAM libraries" >&5 -echo "$as_me: WARNING: Unable to locate PAM libraries" >&2;} - fi - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - fi - - - -if test "x$x_ac_pam" = "xyes" -a "x$ac_have_pam" = "xyes" -a "x$ac_have_pam_misc" = "xyes"; then - HAVE_PAM_TRUE= - HAVE_PAM_FALSE='#' -else - HAVE_PAM_TRUE='#' - HAVE_PAM_FALSE= -fi - - - - - - echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 -echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 -if test "${ac_cv_c_bigendian+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # See if sys/param.h defines the BYTE_ORDER macro. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN - bogus endian macros -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - # It does; now see whether it defined to BIG_ENDIAN or not. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_bigendian=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_c_bigendian=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -# It does not; compile a test program. -if test "$cross_compiling" = yes; then - # try to guess the endianness by grepping values into an object file - ac_cv_c_bigendian=unknown - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; -short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; -void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } -short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; -short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; -void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } -int -main () -{ - _ascii (); _ebcdic (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then - ac_cv_c_bigendian=yes -fi -if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long l; - char c[sizeof (long)]; - } u; - u.l = 1; - exit (u.c[sizeof (long) - 1] == 1); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_bigendian=no -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_bigendian=yes -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 -echo "${ECHO_T}$ac_cv_c_bigendian" >&6 -case $ac_cv_c_bigendian in - yes) - -cat >>confdefs.h <<\_ACEOF -#define WORDS_BIGENDIAN 1 -_ACEOF - ;; - no) - ;; - *) - { { echo "$as_me:$LINENO: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&5 -echo "$as_me: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} - { (exit 1); exit 1; }; } ;; -esac - - if test "x$ac_cv_c_bigendian" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define SLURM_BIGENDIAN 1 -_ACEOF - - fi - - -if test $ac_cv_c_compiler_gnu = yes; then - echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 -echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 -if test "${ac_cv_prog_gcc_traditional+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_pattern="Autoconf.*'x'" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -Autoconf TIOCGETP -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then - ac_cv_prog_gcc_traditional=yes -else - ac_cv_prog_gcc_traditional=no -fi -rm -f conftest* - - - if test $ac_cv_prog_gcc_traditional = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -Autoconf TCGETA -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then - ac_cv_prog_gcc_traditional=yes -fi -rm -f conftest* - - fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 -echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 - if test $ac_cv_prog_gcc_traditional = yes; then - CC="$CC -traditional" - fi -fi - - - - -for ac_header in stdlib.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 -echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6 -if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_malloc_0_nonnull=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if STDC_HEADERS || HAVE_STDLIB_H -# include -#else -char *malloc (); -#endif - -int -main () -{ -exit (malloc (0) ? 0 : 1); - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_malloc_0_nonnull=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_malloc_0_nonnull=no -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 -echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6 -if test $ac_cv_func_malloc_0_nonnull = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC 1 -_ACEOF - -else - cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC 0 -_ACEOF - - case $LIBOBJS in - "malloc.$ac_objext" | \ - *" malloc.$ac_objext" | \ - "malloc.$ac_objext "* | \ - *" malloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;; -esac - - -cat >>confdefs.h <<\_ACEOF -#define malloc rpl_malloc -_ACEOF - -fi - - - -echo "$as_me:$LINENO: checking whether strerror_r is declared" >&5 -echo $ECHO_N "checking whether strerror_r is declared... $ECHO_C" >&6 -if test "${ac_cv_have_decl_strerror_r+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef strerror_r - char *p = (char *) strerror_r; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_have_decl_strerror_r=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_have_decl_strerror_r=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror_r" >&5 -echo "${ECHO_T}$ac_cv_have_decl_strerror_r" >&6 -if test $ac_cv_have_decl_strerror_r = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR_R 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR_R 0 -_ACEOF - - -fi - - - -for ac_func in strerror_r -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -echo "$as_me:$LINENO: checking whether strerror_r returns char *" >&5 -echo $ECHO_N "checking whether strerror_r returns char *... $ECHO_C" >&6 -if test "${ac_cv_func_strerror_r_char_p+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - ac_cv_func_strerror_r_char_p=no - if test $ac_cv_have_decl_strerror_r = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - char *p = strerror_r (0, buf, sizeof buf); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_strerror_r_char_p=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - else - # strerror_r is not declared. Choose between - # systems that have relatively inaccessible declarations for the - # function. BeOS and DEC UNIX 4.0 fall in this category, but the - # former has a strerror_r that returns char*, while the latter - # has a strerror_r that returns `int'. - # This test should segfault on the DEC system. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - extern char *strerror_r (); -int -main () -{ -char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - exit (!isalpha (x)); - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_strerror_r_char_p=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - fi - -fi -echo "$as_me:$LINENO: result: $ac_cv_func_strerror_r_char_p" >&5 -echo "${ECHO_T}$ac_cv_func_strerror_r_char_p" >&6 -if test $ac_cv_func_strerror_r_char_p = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STRERROR_R_CHAR_P 1 -_ACEOF - -fi - - - - - - - - - - - - - - -for ac_func in \ - fdatasync \ - hstrerror \ - strerror \ - mtrace \ - strndup \ - strlcpy \ - strsignal \ - inet_aton \ - inet_ntop \ - inet_pton \ - setproctitle \ - sysctlbyname \ - -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -echo "$as_me:$LINENO: checking whether hstrerror is declared" >&5 -echo $ECHO_N "checking whether hstrerror is declared... $ECHO_C" >&6 -if test "${ac_cv_have_decl_hstrerror+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef hstrerror - char *p = (char *) hstrerror; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_have_decl_hstrerror=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_have_decl_hstrerror=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_have_decl_hstrerror" >&5 -echo "${ECHO_T}$ac_cv_have_decl_hstrerror" >&6 -if test $ac_cv_have_decl_hstrerror = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_HSTRERROR 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_HSTRERROR 0 -_ACEOF - - -fi -echo "$as_me:$LINENO: checking whether strsignal is declared" >&5 -echo $ECHO_N "checking whether strsignal is declared... $ECHO_C" >&6 -if test "${ac_cv_have_decl_strsignal+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef strsignal - char *p = (char *) strsignal; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_have_decl_strsignal=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_have_decl_strsignal=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_have_decl_strsignal" >&5 -echo "${ECHO_T}$ac_cv_have_decl_strsignal" >&6 -if test $ac_cv_have_decl_strsignal = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRSIGNAL 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRSIGNAL 0 -_ACEOF - - -fi -echo "$as_me:$LINENO: checking whether sys_siglist is declared" >&5 -echo $ECHO_N "checking whether sys_siglist is declared... $ECHO_C" >&6 -if test "${ac_cv_have_decl_sys_siglist+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef sys_siglist - char *p = (char *) sys_siglist; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_have_decl_sys_siglist=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_have_decl_sys_siglist=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_have_decl_sys_siglist" >&5 -echo "${ECHO_T}$ac_cv_have_decl_sys_siglist" >&6 -if test $ac_cv_have_decl_sys_siglist = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SYS_SIGLIST 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SYS_SIGLIST 0 -_ACEOF - - -fi - - - - -for ac_func in unsetenv -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - have_unsetenv=yes -fi -done - - - -if test "x$have_unsetenv" = "xyes"; then - HAVE_UNSETENV_TRUE= - HAVE_UNSETENV_FALSE='#' -else - HAVE_UNSETENV_TRUE='#' - HAVE_UNSETENV_FALSE= -fi - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -acx_pthread_ok=no - -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. - -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 -echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char pthread_join (); -int -main () -{ -pthread_join (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - acx_pthread_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 -echo "${ECHO_T}$acx_pthread_ok" >&6 - if test x"$acx_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" -fi - -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all. - -acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# pthread: Linux, etcetera -# --thread-safe: KAI C++ - -case "${host_cpu}-${host_os}" in - *solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthread or - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" - ;; -esac - -if test x"$acx_pthread_ok" = xno; then -for flag in $acx_pthread_flags; do - - case $flag in - none) - echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 -echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6 - ;; - - -*) - echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 -echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6 - PTHREAD_CFLAGS="$flag" - ;; - - *) - echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 -echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6 - PTHREAD_LIBS="-l$flag" - ;; - esac - - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - acx_pthread_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 -echo "${ECHO_T}$acx_pthread_ok" >&6 - if test "x$acx_pthread_ok" = xyes; then - break; - fi - - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done -fi - -# Various other checks: -if test "x$acx_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Detect AIX lossage: threads are created detached by default - # and the JOINABLE attribute has a nonstandard name (UNDETACHED). - echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 -echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -int attr=PTHREAD_CREATE_JOINABLE; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ok=PTHREAD_CREATE_JOINABLE -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ok=unknown -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test x"$ok" = xunknown; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -int attr=PTHREAD_CREATE_UNDETACHED; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ok=PTHREAD_CREATE_UNDETACHED -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ok=unknown -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then - -cat >>confdefs.h <<\_ACEOF -#define PTHREAD_CREATE_JOINABLE $ok -_ACEOF - - fi - echo "$as_me:$LINENO: result: ${ok}" >&5 -echo "${ECHO_T}${ok}" >&6 - if test x"$ok" = xunknown; then - { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 -echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} - fi - - echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 -echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6 - flag=no - case "${host_cpu}-${host_os}" in - *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; - *solaris* | alpha*-osf*) flag="-D_REENTRANT";; - esac - echo "$as_me:$LINENO: result: ${flag}" >&5 -echo "${ECHO_T}${flag}" >&6 - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - # More AIX lossage: must compile with cc_r - # Extract the first word of "cc_r", so it can be a program name with args. -set dummy cc_r; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$PTHREAD_CC"; then - ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_PTHREAD_CC="cc_r" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" -fi -fi -PTHREAD_CC=$ac_cv_prog_PTHREAD_CC -if test -n "$PTHREAD_CC"; then - echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 -echo "${ECHO_T}$PTHREAD_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -else - PTHREAD_CC="$CC" -fi - - - - - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$acx_pthread_ok" = xyes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_PTHREAD 1 -_ACEOF - - : -else - acx_pthread_ok=no - { { echo "$as_me:$LINENO: error: Error: Cannot figure out how to use pthreads!" >&5 -echo "$as_me: error: Error: Cannot figure out how to use pthreads!" >&2;} - { (exit 1); exit 1; }; } -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -# Always define WITH_PTHREADS if we make it this far - -cat >>confdefs.h <<\_ACEOF -#define WITH_PTHREADS 1 -_ACEOF - -LDFLAGS="$LDFLAGS " -CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -LIBS="$PTHREAD_LIBS $LIBS" - - - -# Check whether --with-db2 or --without-db2 was given. -if test "${with_db2+set}" = set; then - withval="$with_db2" - trydb2dir=$withval -fi; - - # test for bluegene emulation mode - # Check whether --enable-bluegene-emulation or --disable-bluegene-emulation was given. -if test "${enable_bluegene_emulation+set}" = set; then - enableval="$enable_bluegene_emulation" - case "$enableval" in - yes) bluegene_emulation=yes ;; - no) bluegene_emulation=no ;; - *) { { echo "$as_me:$LINENO: error: bad value \"$enableval\" for --enable-bluegene-emulation" >&5 -echo "$as_me: error: bad value \"$enableval\" for --enable-bluegene-emulation" >&2;} - { (exit 1); exit 1; }; } ;; - esac -fi; - - if test "x$bluegene_emulation" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_BG 1 -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define HAVE_FRONT_END 1 -_ACEOF - - { echo "$as_me:$LINENO: Running in bluegene emulation mode" >&5 -echo "$as_me: Running in bluegene emulation mode" >&6;} - bg_default_dirs="" - else - bg_default_dirs="/bgl/BlueLight/ppcfloor/bglsys /opt/IBM/db2/V8.1 /u/bgdb2cli/sqllib /home/bgdb2cli/sqllib" - fi - - for bg_dir in $trydb2dir "" $bg_default_dirs; do - # Skip directories that don't exist - if test ! -z "$bg_dir" -a ! -d "$bg_dir" ; then - continue; - fi - - # Search for required BG API libraries in the directory - if test -z "$have_bg_ar" -a -f "$bg_dir/lib64/libbglbridge.so" ; then - have_bg_ar=yes - bg_bridge_so="$bg_dir/lib64/libbglbridge.so" - bg_ldflags="$bg_ldflags -L$bg_dir/lib64 -L/usr/lib64 -Wl,--unresolved-symbols=ignore-in-shared-libs -lbglbridge -lbgldb -ltableapi -lbglmachine -lexpat -lsaymessage" - fi - - # Search for required DB2 library in the directory - if test -z "$have_db2" -a -f "$bg_dir/lib64/libdb2.so" ; then - have_db2=yes - bg_db2_so="$bg_dir/lib64/libdb2.so" - bg_ldflags="$bg_ldflags -L$bg_dir/lib64 -ldb2" - fi - - # Search for headers in the directory - if test -z "$have_bg_hdr" -a -f "$bg_dir/include/rm_api.h" ; then - have_bg_hdr=yes - bg_includes="-I$bg_dir/include" - fi - done - - if test ! -z "$have_bg_ar" -a ! -z "$have_bg_hdr" -a ! -z "$have_db2" ; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_BG 1 -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define HAVE_FRONT_END 1 -_ACEOF - - # ac_with_readline="no" - # Test to make sure the api is good - have_bg_files=yes - saved_LDFLAGS="$LDFLAGS" - LDFLAGS="$saved_LDFLAGS $bg_ldflags" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - int rm_set_serial(char *); -int -main () -{ - rm_set_serial(""); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - have_bg_files=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: There is a problem linking to the bluegene api." >&5 -echo "$as_me: error: There is a problem linking to the bluegene api." >&2;} - { (exit 1); exit 1; }; } -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$saved_LDFLAGS" - fi - - if test ! -z "$have_bg_files" ; then - BG_INCLUDES="$bg_includes" - -cat >>confdefs.h <<\_ACEOF -#define HAVE_BG_FILES 1 -_ACEOF - - - -cat >>confdefs.h <<_ACEOF -#define BG_BRIDGE_SO "$bg_bridge_so" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define BG_DB2_SO "$bg_db2_so" -_ACEOF - - echo "$as_me:$LINENO: checking for BG serial value" >&5 -echo $ECHO_N "checking for BG serial value... $ECHO_C" >&6 - bg_serial="BGL" - -# Check whether --with-bg-serial or --without-bg-serial was given. -if test "${with_bg_serial+set}" = set; then - withval="$with_bg_serial" - bg_serial="$withval" -fi; - echo "$as_me:$LINENO: result: $bg_serial" >&5 -echo "${ECHO_T}$bg_serial" >&6 - -cat >>confdefs.h <<_ACEOF -#define BG_SERIAL "$bg_serial" -_ACEOF - - fi - - - - - echo "$as_me:$LINENO: checking whether XCPU is enabled" >&5 -echo $ECHO_N "checking whether XCPU is enabled... $ECHO_C" >&6 - - xcpu_default_dirs="/mnt" - - -# Check whether --with-xcpu or --without-xcpu was given. -if test "${with_xcpu+set}" = set; then - withval="$with_xcpu" - try_path=$withval - -fi; - - ac_xcpu=no - for xcpu_dir in $try_path "" $xcpu_default_dirs; do - if test -d "$xcpu_dir/xcpu" ; then - ac_xcpu=yes - -cat >>confdefs.h <<\_ACEOF -#define HAVE_XCPU 1 -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define XCPU_DIR "$xcpu_dir/xcpu" -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define HAVE_FRONT_END 1 -_ACEOF - - break - fi - done - - echo "$as_me:$LINENO: result: $ac_xcpu" >&5 -echo "${ECHO_T}$ac_xcpu" >&6 - - - SEMAPHORE_SOURCES="" - SEMAPHORE_LIBS="" - echo "$as_me:$LINENO: checking for sem_open in -lposix4" >&5 -echo $ECHO_N "checking for sem_open in -lposix4... $ECHO_C" >&6 -if test "${ac_cv_lib_posix4_sem_open+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lposix4 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char sem_open (); -int -main () -{ -sem_open (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_posix4_sem_open=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_posix4_sem_open=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_posix4_sem_open" >&5 -echo "${ECHO_T}$ac_cv_lib_posix4_sem_open" >&6 -if test $ac_cv_lib_posix4_sem_open = yes; then - SEMAPHORE_LIBS="-lposix4"; - -cat >>confdefs.h <<\_ACEOF -#define HAVE_POSIX_SEMS 1 -_ACEOF - -else - SEMAPHORE_SOURCES="semaphore.c" - -fi - - - - - - - echo "$as_me:$LINENO: checking for initscr in -lncurses" >&5 -echo $ECHO_N "checking for initscr in -lncurses... $ECHO_C" >&6 -if test "${ac_cv_lib_ncurses_initscr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr (); -int -main () -{ -initscr (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_ncurses_initscr=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_ncurses_initscr=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_initscr" >&5 -echo "${ECHO_T}$ac_cv_lib_ncurses_initscr" >&6 -if test $ac_cv_lib_ncurses_initscr = yes; then - ac_have_ncurses=yes -fi - - echo "$as_me:$LINENO: checking for initscr in -lcurses" >&5 -echo $ECHO_N "checking for initscr in -lcurses... $ECHO_C" >&6 -if test "${ac_cv_lib_curses_initscr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcurses $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr (); -int -main () -{ -initscr (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_curses_initscr=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_curses_initscr=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_curses_initscr" >&5 -echo "${ECHO_T}$ac_cv_lib_curses_initscr" >&6 -if test $ac_cv_lib_curses_initscr = yes; then - ac_have_curses=yes -fi - - - - if test "$ac_have_ncurses" = "yes"; then - NCURSES="-lncurses" - ac_have_some_curses="yes" - elif test "$ac_have_curses" = "yes"; then - NCURSES="-lcurses" - ac_have_some_curses="yes" - else - { echo "$as_me:$LINENO: WARNING: Can not build smap without curses or ncurses library" >&5 -echo "$as_me: WARNING: Can not build smap without curses or ncurses library" >&2;} - ac_have_some_curses="no" - fi - - - -if test "x$ac_have_some_curses" = "xyes"; then - HAVE_SOME_CURSES_TRUE= - HAVE_SOME_CURSES_FALSE='#' -else - HAVE_SOME_CURSES_TRUE='#' - HAVE_SOME_CURSES_FALSE= -fi - - - - -### Set to "no" if any test fails - ac_have_gtk="yes" - -### Check for pkg-config program - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_HAVEPKGCONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $HAVEPKGCONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_HAVEPKGCONFIG="$HAVEPKGCONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_HAVEPKGCONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_path_HAVEPKGCONFIG" && ac_cv_path_HAVEPKGCONFIG="$PATH" - ;; -esac -fi -HAVEPKGCONFIG=$ac_cv_path_HAVEPKGCONFIG - -if test -n "$HAVEPKGCONFIG"; then - echo "$as_me:$LINENO: result: $HAVEPKGCONFIG" >&5 -echo "${ECHO_T}$HAVEPKGCONFIG" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - if test -z "$HAVEPKGCONFIG"; then - { echo "$as_me:$LINENO: WARNING: *** pkg-config not found. Cannot probe for libglade-2.0 or gtk+-2.0." >&5 -echo "$as_me: WARNING: *** pkg-config not found. Cannot probe for libglade-2.0 or gtk+-2.0." >&2;} - ac_have_gtk="no" - fi - -### Check for libglade package - if test "$ac_have_gtk" == "yes"; then - $HAVEPKGCONFIG --exists libglade-2.0 - if ! test $? -eq 0 ; then - { echo "$as_me:$LINENO: WARNING: *** libbglade-2.0 is not available." >&5 -echo "$as_me: WARNING: *** libbglade-2.0 is not available." >&2;} - ac_have_gtk="no" - fi - fi - - -### Check for gtk2.6 package - if test "$ac_have_gtk" == "yes" ; then - $HAVEPKGCONFIG --exists gtk+-2.0 - if ! test $? -eq 0 ; then - { echo "$as_me:$LINENO: WARNING: *** gtk+-2.0 is not available." >&5 -echo "$as_me: WARNING: *** gtk+-2.0 is not available." >&2;} - ac_have_gtk="no" - else - gtk_config_major_version=`$HAVEPKGCONFIG --modversion gtk+-2.0 | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - gtk_config_minor_version=`$HAVEPKGCONFIG --modversion gtk+-2.0 | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - gtk_config_micro_version=`$HAVEPKGCONFIG --modversion gtk+-2.0 | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - - if test $gtk_config_major_version -lt 2 || test $gtk_config_minor_version -lt 6 ; then - { echo "$as_me:$LINENO: WARNING: *** gtk+-$gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version available, we need >= gtk+-2.6.0 installed for sview." >&5 -echo "$as_me: WARNING: *** gtk+-$gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version available, we need >= gtk+-2.6.0 installed for sview." >&2;} - ac_have_gtk="no" - fi - fi - fi - -### Run a test program - if test "$ac_have_gtk" == "yes" ; then - GTK2_CFLAGS=`$HAVEPKGCONFIG --cflags libglade-2.0 gtk+-2.0 gthread-2.0` - GTK2_LIBS=`$HAVEPKGCONFIG --libs libglade-2.0 gtk+-2.0 gthread-2.0` - if test ! -z "GLADE_STATIC" ; then - GTK2_LIBS=`echo $GTK2_LIBS | sed "s/-lglade-2.0/$GLADE_STATIC -lglade-2.0 $BDYNAMIC/g"` - fi - save_CFLAGS="$CFLAGS" - save_LIBS="$LIBS" - CFLAGS="$GTK2_CFLAGS $save_CFLAGS" - LIBS="$GTK2_LIBS $save_LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - -int -main () -{ - - int main() - { - (void) gtk_action_group_new ("MenuActions"); - (void) gtk_ui_manager_new (); - (void) gtk_cell_renderer_combo_new(); - } - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_have_gtk="no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$save_CFLAGS" - LIBS="$save_LIBS" - if test "$ac_have_gtk" == "yes"; then - echo "$as_me:$LINENO: result: GTK test program built properly." >&5 -echo "${ECHO_T}GTK test program built properly." >&6 - - - else - { echo "$as_me:$LINENO: WARNING: *** GTK test program execution failed." >&5 -echo "$as_me: WARNING: *** GTK test program execution failed." >&2;} - fi - fi - - - -if test "x$ac_have_gtk" = "xyes"; then - HAVE_GTK_TRUE= - HAVE_GTK_FALSE='#' -else - HAVE_GTK_TRUE='#' - HAVE_GTK_FALSE= -fi - - - - - - -# -case "$host" in -*-*-aix*) - cat >>confdefs.h <<\_ACEOF -#define SETPROCTITLE_STRATEGY PS_USE_CLOBBER_ARGV -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define SETPROCTITLE_PS_PADDING '\0' -_ACEOF - - ;; -*-*-hpux*) - cat >>confdefs.h <<\_ACEOF -#define SETPROCTITLE_STRATEGY PS_USE_PSTAT -_ACEOF - - ;; -*-*-linux*) - cat >>confdefs.h <<\_ACEOF -#define SETPROCTITLE_STRATEGY PS_USE_CLOBBER_ARGV -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define SETPROCTITLE_PS_PADDING '\0' -_ACEOF - - ;; -*) - -cat >>confdefs.h <<\_ACEOF -#define SETPROCTITLE_STRATEGY PS_USE_NONE -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define SETPROCTITLE_PS_PADDING '\0' -_ACEOF - - ;; -esac - -echo "$as_me:$LINENO: checking for __progname" >&5 -echo $ECHO_N "checking for __progname... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -extern char *__progname; puts(__progname); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_have__progname=yes - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -echo "$as_me:$LINENO: result: ${ac_have__progname=no}" >&5 -echo "${ECHO_T}${ac_have__progname=no}" >&6 -if test "$ac_have__progname" = "yes"; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE__PROGNAME 1 -_ACEOF - -fi - - - - - echo "$as_me:$LINENO: checking whether debugging is enabled" >&5 -echo $ECHO_N "checking whether debugging is enabled... $ECHO_C" >&6 - # Check whether --enable-debug or --disable-debug was given. -if test "${enable_debug+set}" = set; then - enableval="$enable_debug" - case "$enableval" in - yes) x_ac_debug=yes ;; - no) x_ac_debug=no ;; - *) echo "$as_me:$LINENO: result: doh!" >&5 -echo "${ECHO_T}doh!" >&6 - { { echo "$as_me:$LINENO: error: bad value \"$enableval\" for --enable-debug" >&5 -echo "$as_me: error: bad value \"$enableval\" for --enable-debug" >&2;} - { (exit 1); exit 1; }; } ;; - esac - - -fi; - if test "$x_ac_debug" = yes; then - test "$GCC" = yes && CFLAGS="$CFLAGS -Wall -fno-strict-aliasing" - else - -cat >>confdefs.h <<\_ACEOF -#define NDEBUG 1 -_ACEOF - - fi - echo "$as_me:$LINENO: result: ${x_ac_debug=no}" >&5 -echo "${ECHO_T}${x_ac_debug=no}" >&6 - - echo "$as_me:$LINENO: checking whether memory leak debugging is enabled" >&5 -echo $ECHO_N "checking whether memory leak debugging is enabled... $ECHO_C" >&6 - # Check whether --enable-memory-leak-debug or --disable-memory-leak-debug was given. -if test "${enable_memory_leak_debug+set}" = set; then - enableval="$enable_memory_leak_debug" - case "$enableval" in - yes) x_ac_memory_debug=yes ;; - no) x_ac_memory_debug=no ;; - *) echo "$as_me:$LINENO: result: doh!" >&5 -echo "${ECHO_T}doh!" >&6 - { { echo "$as_me:$LINENO: error: bad value \"$enableval\" for --enable-memory-leak-debug" >&5 -echo "$as_me: error: bad value \"$enableval\" for --enable-memory-leak-debug" >&2;} - { (exit 1); exit 1; }; } ;; - esac - - -fi; - if test "$x_ac_memory_debug" = yes; then - -cat >>confdefs.h <<\_ACEOF -#define MEMORY_LEAK_DEBUG 1 -_ACEOF - - fi - echo "$as_me:$LINENO: result: ${x_ac_memory_debug=no}" >&5 -echo "${ECHO_T}${x_ac_memory_debug=no}" >&6 - - - - - -if test "x$ac_debug" = "xtrue"; then - DEBUG_MODULES_TRUE= - DEBUG_MODULES_FALSE='#' -else - DEBUG_MODULES_TRUE='#' - DEBUG_MODULES_FALSE= -fi - - - - - echo "$as_me:$LINENO: checking for slurmctld default port" >&5 -echo $ECHO_N "checking for slurmctld default port... $ECHO_C" >&6 - - -# Check whether --with-slurmctld-port or --without-slurmctld-port was given. -if test "${with_slurmctld_port+set}" = set; then - withval="$with_slurmctld_port" - if test `expr match "$withval" '[0-9]*$'` -gt 0; then - slurmctldport="$withval" - fi - - -fi; - echo "$as_me:$LINENO: result: ${slurmctldport=6817}" >&5 -echo "${ECHO_T}${slurmctldport=6817}" >&6 - - -cat >>confdefs.h <<_ACEOF -#define SLURMCTLD_PORT $slurmctldport -_ACEOF - - - - echo "$as_me:$LINENO: checking for slurmd default port" >&5 -echo $ECHO_N "checking for slurmd default port... $ECHO_C" >&6 - -# Check whether --with-slurmd-port or --without-slurmd-port was given. -if test "${with_slurmd_port+set}" = set; then - withval="$with_slurmd_port" - if test `expr match "$withval" '[0-9]*$'` -gt 0; then - slurmdport="$withval" - fi - - -fi; - echo "$as_me:$LINENO: result: ${slurmdport=6818}" >&5 -echo "${ECHO_T}${slurmdport=6818}" >&6 - - -cat >>confdefs.h <<_ACEOF -#define SLURMD_PORT $slurmdport -_ACEOF - - - - - - - - - echo "$as_me:$LINENO: checking for rms_prgcreate in -lrmscall" >&5 -echo $ECHO_N "checking for rms_prgcreate in -lrmscall... $ECHO_C" >&6 -if test "${ac_cv_lib_rmscall_rms_prgcreate+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lrmscall $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char rms_prgcreate (); -int -main () -{ -rms_prgcreate (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_rmscall_rms_prgcreate=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_rmscall_rms_prgcreate=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_rmscall_rms_prgcreate" >&5 -echo "${ECHO_T}$ac_cv_lib_rmscall_rms_prgcreate" >&6 -if test $ac_cv_lib_rmscall_rms_prgcreate = yes; then - ac_elan_have_rmscall=yes; ELAN_LIBS="-lrmscall" -fi - - - if test "$ac_elan_have_rmscall" != "yes" ; then - { echo "$as_me:$LINENO: Cannot support QsNet without librmscall" >&5 -echo "$as_me: Cannot support QsNet without librmscall" >&6;} - fi - - echo "$as_me:$LINENO: checking for elan3_create in -lelan3" >&5 -echo $ECHO_N "checking for elan3_create in -lelan3... $ECHO_C" >&6 -if test "${ac_cv_lib_elan3_elan3_create+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lelan3 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char elan3_create (); -int -main () -{ -elan3_create (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_elan3_elan3_create=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_elan3_elan3_create=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_elan3_elan3_create" >&5 -echo "${ECHO_T}$ac_cv_lib_elan3_elan3_create" >&6 -if test $ac_cv_lib_elan3_elan3_create = yes; then - ac_elan_have_elan3=yes -else - ac_elan_noelan3=1 -fi - - - echo "$as_me:$LINENO: checking for elanctrl_open in -lelanctrl" >&5 -echo $ECHO_N "checking for elanctrl_open in -lelanctrl... $ECHO_C" >&6 -if test "${ac_cv_lib_elanctrl_elanctrl_open+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lelanctrl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char elanctrl_open (); -int -main () -{ -elanctrl_open (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_elanctrl_elanctrl_open=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_elanctrl_elanctrl_open=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_elanctrl_elanctrl_open" >&5 -echo "${ECHO_T}$ac_cv_lib_elanctrl_elanctrl_open" >&6 -if test $ac_cv_lib_elanctrl_elanctrl_open = yes; then - ac_elan_have_elanctrl=yes -else - ac_elan_noelanctrl=1 -fi - - - if test "$ac_elan_have_elan3" = "yes"; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBELAN3 1 -_ACEOF - - ELAN_LIBS="$ELAN_LIBS -lelan3" - test "$ac_elan_have_rmscall" = "yes" && ac_have_elan="yes" - elif test "$ac_elan_have_elanctrl" = "yes"; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBELANCTRL 1 -_ACEOF - - ELAN_LIBS="$ELAN_LIBS -lelanctrl" - test "$ac_elan_have_rmscall" = "yes" && ac_have_elan="yes" - else - { echo "$as_me:$LINENO: Cannot support QsNet without libelan3 or libelanctrl!" >&5 -echo "$as_me: Cannot support QsNet without libelan3 or libelanctrl!" >&6;} - fi - - if test "$ac_have_elan" = yes; then - echo "$as_me:$LINENO: checking for elanhost_config_create in -lelanhosts" >&5 -echo $ECHO_N "checking for elanhost_config_create in -lelanhosts... $ECHO_C" >&6 -if test "${ac_cv_lib_elanhosts_elanhost_config_create+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lelanhosts $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char elanhost_config_create (); -int -main () -{ -elanhost_config_create (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_elanhosts_elanhost_config_create=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_elanhosts_elanhost_config_create=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_elanhosts_elanhost_config_create" >&5 -echo "${ECHO_T}$ac_cv_lib_elanhosts_elanhost_config_create" >&6 -if test $ac_cv_lib_elanhosts_elanhost_config_create = yes; then - ac_elan_have_elanhosts=yes -fi - - - if test "$ac_elan_have_elanhosts" = "yes"; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBELANHOSTS 1 -_ACEOF - - ELAN_LIBS="$ELAN_LIBS -lelanhosts" - else - ac_have_elan="no" - { echo "$as_me:$LINENO: Cannot build QsNet modules without libelanhosts" >&5 -echo "$as_me: Cannot build QsNet modules without libelanhosts" >&6;} - fi - fi - - - - - -if test "x$ac_have_elan" = "xyes"; then - HAVE_ELAN_TRUE= - HAVE_ELAN_FALSE='#' -else - HAVE_ELAN_TRUE='#' - HAVE_ELAN_FALSE= -fi - - - - - echo "$as_me:$LINENO: checking whether to enable AIX Federation switch support" >&5 -echo $ECHO_N "checking whether to enable AIX Federation switch support... $ECHO_C" >&6 - ntbl_default_dirs="/usr/lib" - for ntbl_dir in $ntbl_default_dirs; do - # skip dirs that don't exist - if test ! -z "$ntbl_dir" -a ! -d "$ntbl_dir" ; then - continue; - fi - - if test "$OBJECT_MODE" = "64"; then - libntbl="ntbl_64" - else - libntbl="ntbl" - fi - - # search for required NTBL API libraries - if test -f "$ntbl_dir/lib${libntbl}.so"; then - ac_have_federation="yes" - FEDERATION_LDFLAGS="-l$libntbl" - break; - fi - - done - - if test "x$ac_have_federation" != "xyes" ; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { echo "$as_me:$LINENO: Cannot support Federation without libntbl" >&5 -echo "$as_me: Cannot support Federation without libntbl" >&6;} - else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBNTBL 1 -_ACEOF - - fi - - - - - -if test "x$ac_have_federation" = "xyes"; then - HAVE_FEDERATION_TRUE= - HAVE_FEDERATION_FALSE='#' -else - HAVE_FEDERATION_TRUE='#' - HAVE_FEDERATION_FALSE= -fi - - - - - echo "$as_me:$LINENO: checking for job_attachpid in -ljob" >&5 -echo $ECHO_N "checking for job_attachpid in -ljob... $ECHO_C" >&6 -if test "${ac_cv_lib_job_job_attachpid+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ljob $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char job_attachpid (); -int -main () -{ -job_attachpid (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_job_job_attachpid=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_job_job_attachpid=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_job_job_attachpid" >&5 -echo "${ECHO_T}$ac_cv_lib_job_job_attachpid" >&6 -if test $ac_cv_lib_job_job_attachpid = yes; then - ac_have_sgi_job="yes" -fi - - echo "$as_me:$LINENO: checking for SGI job container support" >&5 -echo $ECHO_N "checking for SGI job container support... $ECHO_C" >&6 - echo "$as_me:$LINENO: result: ${ac_have_sgi_job=no}" >&5 -echo "${ECHO_T}${ac_have_sgi_job=no}" >&6 - - -if test "x$ac_have_sgi_job" = "xyes"; then - HAVE_SGI_JOB_TRUE= - HAVE_SGI_JOB_FALSE='#' -else - HAVE_SGI_JOB_TRUE='#' - HAVE_SGI_JOB_FALSE= -fi - - - - - echo "$as_me:$LINENO: checking for whether to include readline suport" >&5 -echo $ECHO_N "checking for whether to include readline suport... $ECHO_C" >&6 - -# Check whether --with-readline or --without-readline was given. -if test "${with_readline+set}" = set; then - withval="$with_readline" - case "$withval" in - yes) ac_with_readline=yes ;; - no) ac_with_readline=no ;; - *) echo "$as_me:$LINENO: result: doh!" >&5 -echo "${ECHO_T}doh!" >&6 - { { echo "$as_me:$LINENO: error: bad value \"$withval\" for --without-readline" >&5 -echo "$as_me: error: bad value \"$withval\" for --without-readline" >&2;} - { (exit 1); exit 1; }; } ;; - esac - - -fi; - - echo "$as_me:$LINENO: result: ${ac_with_readline=yes}" >&5 -echo "${ECHO_T}${ac_with_readline=yes}" >&6 - if test "$ac_with_readline" = "yes"; then - saved_LIBS="$LIBS" - READLINE_LIBS="-lreadline -lhistory $NCURSES" - LIBS="$saved_LIBS $READLINE_LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - #include - #include - #include -int -main () -{ - - char *line = readline("in:"); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_READLINE 1 -_ACEOF - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -READLINE_LIBS="" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$savedLIBS" - fi - - - - - - ac_slurm_with_ssl=no - ssl_default_dirs="/usr/local/openssl64 /usr/local/openssl /usr/lib/openssl \ - /usr/local/ssl /usr/lib/ssl /usr/local \ - /usr/pkg /opt /opt/openssl" - - - - - - SSL_LIBS="-lcrypto" - - -# Check whether --with-ssl or --without-ssl was given. -if test "${with_ssl+set}" = set; then - withval="$with_ssl" - - tryssldir=$withval - - # Hack around a libtool bug on AIX. - # libcrypto is in a non-standard library path on AIX (/opt/freeware - # which is specified with --with-ssl), and libtool is not setting - # the correct runtime library path in the binaries. - if test "x$ac_have_aix" = "xyes"; then - SSL_LIBS="-lcrypto-static" - fi - -fi; - - saved_LIBS="$LIBS" - saved_LDFLAGS="$LDFLAGS" - saved_CPPFLAGS="$CPPFLAGS" - if test "x$prefix" != "xNONE" ; then - tryssldir="$tryssldir $prefix" - fi - if test "x$tryssldir" == "xno" ; then - { { echo "$as_me:$LINENO: error: OpenSSL libary is required for SLURM operation, please install" >&5 -echo "$as_me: error: OpenSSL libary is required for SLURM operation, please install" >&2;} - { (exit 1); exit 1; }; } - fi - - echo "$as_me:$LINENO: checking for OpenSSL directory" >&5 -echo $ECHO_N "checking for OpenSSL directory... $ECHO_C" >&6 -if test "${ac_cv_openssldir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - for ssldir in $tryssldir "" $ssl_default_dirs; do - CPPFLAGS="$saved_CPPFLAGS" - LDFLAGS="$saved_LDFLAGS" - LIBS="$saved_LIBS $SSL_LIBS" - - # Skip directories if they don't exist - if test ! -z "$ssldir" -a ! -d "$ssldir" ; then - continue; - fi - if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then - # Try to use $ssldir/lib if it exists, otherwise - # $ssldir - if test -d "$ssldir/lib" ; then - LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" - if test ! -z "$need_dash_r" ; then - LDFLAGS="-R$ssldir/lib $LDFLAGS" - fi - else - LDFLAGS="-L$ssldir $saved_LDFLAGS" - if test ! -z "$need_dash_r" ; then - LDFLAGS="-R$ssldir $LDFLAGS" - fi - fi - # Try to use $ssldir/include if it exists, otherwise - # $ssldir - if test -d "$ssldir/include" ; then - CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS" - else - CPPFLAGS="-I$ssldir $saved_CPPFLAGS" - fi - fi - - # Basic test to check for compatible version and correct linking - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - #include - #define SIZE 8 - int main(void) - { - int a[SIZE], i; - for (i=0; i&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - found_crypto=1 - break; - -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) - - -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - if test ! -z "$found_crypto" ; then - break; - fi - done - - if test -z "$found_crypto" ; then - { { echo "$as_me:$LINENO: error: Could not find working OpenSSL library, please install or check config.log" >&5 -echo "$as_me: error: Could not find working OpenSSL library, please install or check config.log" >&2;} - { (exit 1); exit 1; }; } - fi - if test -z "$ssldir" ; then - ssldir="(system)" - fi - - ac_cv_openssldir=$ssldir - -fi -echo "$as_me:$LINENO: result: $ac_cv_openssldir" >&5 -echo "${ECHO_T}$ac_cv_openssldir" >&6 - - if (test ! -z "$ac_cv_openssldir" && test "x$ac_cv_openssldir" != "x(system)") ; then - ssldir=$ac_cv_openssldir - if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then - # Try to use $ssldir/lib if it exists, otherwise - # $ssldir - if test -d "$ssldir/lib" ; then - SSL_LDFLAGS="-L$ssldir/lib" - else - SSL_LDFLAGS="-L$ssldir" - fi - # Try to use $ssldir/include if it exists, otherwise - # $ssldir - if test -d "$ssldir/include" ; then - SSL_CPPFLAGS="-I$ssldir/include" - else - SSL_CPPFLAGS="-I$ssldir" - fi - fi - fi - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -EVP_MD_CTX_cleanup(NULL); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_EVP_MD_CTX_CLEANUP 1 -_ACEOF - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - LIBS="$saved_LIBS" - CPPFLAGS="$saved_CPPFLAGS" - LDFLAGS="$saved_LDFLAGS" - - - - - - - _x_ac_munge_dirs="/usr /usr/local /opt/freeware /opt/munge" - _x_ac_munge_libs="lib64 lib" - - -# Check whether --with-munge or --without-munge was given. -if test "${with_munge+set}" = set; then - withval="$with_munge" - _x_ac_munge_dirs="$withval $_x_ac_munge_dirs" -fi; - - echo "$as_me:$LINENO: checking for munge installation" >&5 -echo $ECHO_N "checking for munge installation... $ECHO_C" >&6 -if test "${x_ac_cv_munge_dir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - for d in $_x_ac_munge_dirs; do - test -d "$d" || continue - test -d "$d/include" || continue - test -f "$d/include/munge.h" || continue - for bit in $_x_ac_munge_libs; do - test -d "$d/$bit" || continue - - _x_ac_munge_libs_save="$LIBS" - LIBS="-L$d/$bit -lmunge $LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char munge_encode (); -int -main () -{ -munge_encode (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - x_ac_cv_munge_dir=$d -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$_x_ac_munge_libs_save" - test -n "$x_ac_cv_munge_dir" && break - done - test -n "$x_ac_cv_munge_dir" && break - done - -fi -echo "$as_me:$LINENO: result: $x_ac_cv_munge_dir" >&5 -echo "${ECHO_T}$x_ac_cv_munge_dir" >&6 - - if test -z "$x_ac_cv_munge_dir"; then - { echo "$as_me:$LINENO: WARNING: unable to locate munge installation" >&5 -echo "$as_me: WARNING: unable to locate munge installation" >&2;} - else - MUNGE_LIBS="-lmunge" - MUNGE_CPPFLAGS="-I$x_ac_cv_munge_dir/include" - MUNGE_LDFLAGS="-L$x_ac_cv_munge_dir/$bit" - fi - - - - - - - -if test -n "$x_ac_cv_munge_dir"; then - WITH_MUNGE_TRUE= - WITH_MUNGE_FALSE='#' -else - WITH_MUNGE_TRUE='#' - WITH_MUNGE_FALSE= -fi - - - -echo "$as_me:$LINENO: checking whether to enable multiple-slurmd support" >&5 -echo $ECHO_N "checking whether to enable multiple-slurmd support... $ECHO_C" >&6 -# Check whether --enable-multiple-slurmd or --disable-multiple-slurmd was given. -if test "${enable_multiple_slurmd+set}" = set; then - enableval="$enable_multiple_slurmd" - case "$enableval" in - yes) multiple_slurmd=yes ;; - no) multiple_slurmd=no ;; - *) { { echo "$as_me:$LINENO: error: bad value \"$enableval\" for --enable-multiple-slurmd" >&5 -echo "$as_me: error: bad value \"$enableval\" for --enable-multiple-slurmd" >&2;} - { (exit 1); exit 1; }; };; - esac - -fi; -if test "x$multiple_slurmd" = "xyes"; then - -cat >>confdefs.h <<\_ACEOF -#define MULTIPLE_SLURMD 1 -_ACEOF - - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - -AUTHD_LIBS="-lauth -le" -savedLIBS="$LIBS" -savedCFLAGS="$CFLAGS" -LIBS="$SSL_LIBS $AUTHD_LIBS $LIBS" -CFLAGS="$SSL_CPPFLAGS $CFLAGS" -echo "$as_me:$LINENO: checking for auth_init_credentials in -lauth" >&5 -echo $ECHO_N "checking for auth_init_credentials in -lauth... $ECHO_C" >&6 -if test "${ac_cv_lib_auth_auth_init_credentials+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lauth $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char auth_init_credentials (); -int -main () -{ -auth_init_credentials (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_auth_auth_init_credentials=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_auth_auth_init_credentials=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_auth_auth_init_credentials" >&5 -echo "${ECHO_T}$ac_cv_lib_auth_auth_init_credentials" >&6 -if test $ac_cv_lib_auth_auth_init_credentials = yes; then - have_authd=yes -else - have_authd=no -fi - - - - - -if test "x$have_authd" = "xyes"; then - WITH_AUTHD_TRUE= - WITH_AUTHD_FALSE='#' -else - WITH_AUTHD_TRUE='#' - WITH_AUTHD_FALSE= -fi - -LIBS="$savedLIBS" -CFLAGS="$savedCFLAGS" - - -cat >>confdefs.h <<\_ACEOF -#define WITH_LSD_FATAL_ERROR_FUNC 1 -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define WITH_LSD_NOMEM_ERROR_FUNC 1 -_ACEOF - - - - ac_config_files="$ac_config_files Makefile config.xml auxdir/Makefile src/Makefile src/api/Makefile src/common/Makefile src/sacct/Makefile src/salloc/Makefile src/sbatch/Makefile src/sattach/Makefile src/srun/Makefile src/slaunch/Makefile src/slurmd/Makefile src/slurmd/slurmd/Makefile src/slurmd/slurmstepd/Makefile src/slurmctld/Makefile src/sbcast/Makefile src/scontrol/Makefile src/scancel/Makefile src/squeue/Makefile src/sinfo/Makefile src/smap/Makefile src/sview/Makefile src/plugins/Makefile src/plugins/auth/Makefile src/plugins/auth/authd/Makefile src/plugins/auth/munge/Makefile src/plugins/auth/none/Makefile src/plugins/checkpoint/Makefile src/plugins/checkpoint/aix/Makefile src/plugins/checkpoint/none/Makefile src/plugins/jobacct/Makefile src/plugins/jobacct/linux/Makefile src/plugins/jobacct/aix/Makefile src/plugins/jobacct/none/Makefile src/plugins/jobcomp/Makefile src/plugins/jobcomp/filetxt/Makefile src/plugins/jobcomp/none/Makefile src/plugins/jobcomp/script/Makefile src/plugins/proctrack/Makefile src/plugins/proctrack/aix/Makefile src/plugins/proctrack/pgid/Makefile src/plugins/proctrack/linuxproc/Makefile src/plugins/proctrack/rms/Makefile src/plugins/proctrack/sgi_job/Makefile src/plugins/sched/Makefile src/plugins/sched/backfill/Makefile src/plugins/sched/builtin/Makefile src/plugins/sched/gang/Makefile src/plugins/sched/hold/Makefile src/plugins/sched/wiki2/Makefile src/plugins/select/Makefile src/plugins/select/bluegene/Makefile src/plugins/select/bluegene/block_allocator/Makefile src/plugins/select/bluegene/plugin/Makefile src/plugins/select/linear/Makefile src/plugins/select/cons_res/Makefile src/plugins/switch/Makefile src/plugins/switch/elan/Makefile src/plugins/switch/none/Makefile src/plugins/switch/federation/Makefile src/plugins/mpi/Makefile src/plugins/mpi/mpichgm/Makefile src/plugins/mpi/mvapich/Makefile src/plugins/mpi/lam/Makefile src/plugins/mpi/none/Makefile src/plugins/task/Makefile src/plugins/task/affinity/Makefile src/plugins/task/none/Makefile doc/Makefile doc/man/Makefile doc/html/Makefile doc/html/configurator.html testsuite/Makefile testsuite/expect/Makefile testsuite/slurm_unit/Makefile testsuite/slurm_unit/common/Makefile testsuite/slurm_unit/slurmctld/Makefile testsuite/slurm_unit/slurmd/Makefile testsuite/slurm_unit/api/Makefile testsuite/slurm_unit/api/manual/Makefile" - - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -{ - (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} | - sed ' - t clear - : clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if diff $cache_file confcache >/dev/null 2>&1; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" - cat confcache >$cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_AIX_TRUE}" && test -z "${HAVE_AIX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_AIX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_AIX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_AIX_PROCTRACK_TRUE}" && test -z "${HAVE_AIX_PROCTRACK_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_AIX_PROCTRACK\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_AIX_PROCTRACK\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${WITH_GNU_LD_TRUE}" && test -z "${WITH_GNU_LD_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"WITH_GNU_LD\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"WITH_GNU_LD\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_SCHED_SETAFFINITY_TRUE}" && test -z "${HAVE_SCHED_SETAFFINITY_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_SCHED_SETAFFINITY\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_SCHED_SETAFFINITY\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_NUMA_TRUE}" && test -z "${HAVE_NUMA_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_NUMA\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_NUMA\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_PAM_TRUE}" && test -z "${HAVE_PAM_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_PAM\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_PAM\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_UNSETENV_TRUE}" && test -z "${HAVE_UNSETENV_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_UNSETENV\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_UNSETENV\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_SOME_CURSES_TRUE}" && test -z "${HAVE_SOME_CURSES_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_SOME_CURSES\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_SOME_CURSES\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_GTK_TRUE}" && test -z "${HAVE_GTK_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_GTK\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_GTK\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${DEBUG_MODULES_TRUE}" && test -z "${DEBUG_MODULES_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"DEBUG_MODULES\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"DEBUG_MODULES\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_ELAN_TRUE}" && test -z "${HAVE_ELAN_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_ELAN\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_ELAN\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_FEDERATION_TRUE}" && test -z "${HAVE_FEDERATION_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_FEDERATION\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_FEDERATION\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_SGI_JOB_TRUE}" && test -z "${HAVE_SGI_JOB_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_SGI_JOB\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_SGI_JOB\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${WITH_MUNGE_TRUE}" && test -z "${WITH_MUNGE_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"WITH_MUNGE\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"WITH_MUNGE\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${WITH_AUTHD_TRUE}" && test -z "${WITH_AUTHD_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"WITH_AUTHD\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"WITH_AUTHD\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi -DUALCASE=1; export DUALCASE # for MKS sh - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_executable_p="test -f" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - -exec 6>&1 - -# Open the log real soon, to keep \$[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 -cat >&5 <<_CSEOF - -This file was extended by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 -_ACEOF - -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi - -cat >>$CONFIG_STATUS <<\_ACEOF - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.59, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2003 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir -INSTALL="$INSTALL" -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - ac_shift=: - ;; - -*) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_option=$1 - ac_need_defaults=false;; - esac - - case $ac_option in - # Handling of the options. -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" - ac_need_defaults=false;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -if \$ac_cs_recheck; then - echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -fi - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF -# -# INIT-COMMANDS section. -# - -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - -_ACEOF - - - -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_config_target in $ac_config_targets -do - case "$ac_config_target" in - # Handling of arguments. - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "config.xml" ) CONFIG_FILES="$CONFIG_FILES config.xml" ;; - "auxdir/Makefile" ) CONFIG_FILES="$CONFIG_FILES auxdir/Makefile" ;; - "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "src/api/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/api/Makefile" ;; - "src/common/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/common/Makefile" ;; - "src/sacct/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/sacct/Makefile" ;; - "src/salloc/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/salloc/Makefile" ;; - "src/sbatch/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/sbatch/Makefile" ;; - "src/sattach/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/sattach/Makefile" ;; - "src/srun/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/srun/Makefile" ;; - "src/slaunch/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/slaunch/Makefile" ;; - "src/slurmd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/slurmd/Makefile" ;; - "src/slurmd/slurmd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/slurmd/slurmd/Makefile" ;; - "src/slurmd/slurmstepd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/slurmd/slurmstepd/Makefile" ;; - "src/slurmctld/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/slurmctld/Makefile" ;; - "src/sbcast/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/sbcast/Makefile" ;; - "src/scontrol/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/scontrol/Makefile" ;; - "src/scancel/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/scancel/Makefile" ;; - "src/squeue/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/squeue/Makefile" ;; - "src/sinfo/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/sinfo/Makefile" ;; - "src/smap/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/smap/Makefile" ;; - "src/sview/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/sview/Makefile" ;; - "src/plugins/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/Makefile" ;; - "src/plugins/auth/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/auth/Makefile" ;; - "src/plugins/auth/authd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/auth/authd/Makefile" ;; - "src/plugins/auth/munge/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/auth/munge/Makefile" ;; - "src/plugins/auth/none/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/auth/none/Makefile" ;; - "src/plugins/checkpoint/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/checkpoint/Makefile" ;; - "src/plugins/checkpoint/aix/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/checkpoint/aix/Makefile" ;; - "src/plugins/checkpoint/none/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/checkpoint/none/Makefile" ;; - "src/plugins/jobacct/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/jobacct/Makefile" ;; - "src/plugins/jobacct/linux/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/jobacct/linux/Makefile" ;; - "src/plugins/jobacct/aix/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/jobacct/aix/Makefile" ;; - "src/plugins/jobacct/none/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/jobacct/none/Makefile" ;; - "src/plugins/jobcomp/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/jobcomp/Makefile" ;; - "src/plugins/jobcomp/filetxt/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/jobcomp/filetxt/Makefile" ;; - "src/plugins/jobcomp/none/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/jobcomp/none/Makefile" ;; - "src/plugins/jobcomp/script/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/jobcomp/script/Makefile" ;; - "src/plugins/proctrack/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/Makefile" ;; - "src/plugins/proctrack/aix/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/aix/Makefile" ;; - "src/plugins/proctrack/pgid/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/pgid/Makefile" ;; - "src/plugins/proctrack/linuxproc/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/linuxproc/Makefile" ;; - "src/plugins/proctrack/rms/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/rms/Makefile" ;; - "src/plugins/proctrack/sgi_job/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/sgi_job/Makefile" ;; - "src/plugins/sched/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/sched/Makefile" ;; - "src/plugins/sched/backfill/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/sched/backfill/Makefile" ;; - "src/plugins/sched/builtin/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/sched/builtin/Makefile" ;; - "src/plugins/sched/gang/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/sched/gang/Makefile" ;; - "src/plugins/sched/hold/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/sched/hold/Makefile" ;; - "src/plugins/sched/wiki2/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/sched/wiki2/Makefile" ;; - "src/plugins/select/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/select/Makefile" ;; - "src/plugins/select/bluegene/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/select/bluegene/Makefile" ;; - "src/plugins/select/bluegene/block_allocator/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/select/bluegene/block_allocator/Makefile" ;; - "src/plugins/select/bluegene/plugin/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/select/bluegene/plugin/Makefile" ;; - "src/plugins/select/linear/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/select/linear/Makefile" ;; - "src/plugins/select/cons_res/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/select/cons_res/Makefile" ;; - "src/plugins/switch/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/switch/Makefile" ;; - "src/plugins/switch/elan/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/switch/elan/Makefile" ;; - "src/plugins/switch/none/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/switch/none/Makefile" ;; - "src/plugins/switch/federation/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/switch/federation/Makefile" ;; - "src/plugins/mpi/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/mpi/Makefile" ;; - "src/plugins/mpi/mpichgm/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/mpi/mpichgm/Makefile" ;; - "src/plugins/mpi/mvapich/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/mpi/mvapich/Makefile" ;; - "src/plugins/mpi/lam/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/mpi/lam/Makefile" ;; - "src/plugins/mpi/none/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/mpi/none/Makefile" ;; - "src/plugins/task/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/task/Makefile" ;; - "src/plugins/task/affinity/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/task/affinity/Makefile" ;; - "src/plugins/task/none/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugins/task/none/Makefile" ;; - "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "doc/man/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/man/Makefile" ;; - "doc/html/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;; - "doc/html/configurator.html" ) CONFIG_FILES="$CONFIG_FILES doc/html/configurator.html" ;; - "testsuite/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; - "testsuite/expect/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/expect/Makefile" ;; - "testsuite/slurm_unit/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/slurm_unit/Makefile" ;; - "testsuite/slurm_unit/common/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/slurm_unit/common/Makefile" ;; - "testsuite/slurm_unit/slurmctld/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/slurm_unit/slurmctld/Makefile" ;; - "testsuite/slurm_unit/slurmd/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/slurm_unit/slurmd/Makefile" ;; - "testsuite/slurm_unit/api/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/slurm_unit/api/Makefile" ;; - "testsuite/slurm_unit/api/manual/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/slurm_unit/api/manual/Makefile" ;; - "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "slurm/slurm.h" ) CONFIG_HEADERS="$CONFIG_HEADERS slurm/slurm.h" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason to put it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./confstat$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF - -# -# CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@DEFS@,$DEFS,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@LIBS@,$LIBS,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@target@,$target,;t t -s,@target_cpu@,$target_cpu,;t t -s,@target_vendor@,$target_vendor,;t t -s,@target_os@,$target_os,;t t -s,@PROJECT@,$PROJECT,;t t -s,@SLURM_API_VERSION@,$SLURM_API_VERSION,;t t -s,@SLURM_API_CURRENT@,$SLURM_API_CURRENT,;t t -s,@SLURM_API_MAJOR@,$SLURM_API_MAJOR,;t t -s,@SLURM_API_AGE@,$SLURM_API_AGE,;t t -s,@SLURM_API_REVISION@,$SLURM_API_REVISION,;t t -s,@VERSION@,$VERSION,;t t -s,@SLURM_MAJOR@,$SLURM_MAJOR,;t t -s,@SLURM_MINOR@,$SLURM_MINOR,;t t -s,@SLURM_MICRO@,$SLURM_MICRO,;t t -s,@RELEASE@,$RELEASE,;t t -s,@SLURM_VERSION@,$SLURM_VERSION,;t t -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -s,@INSTALL_DATA@,$INSTALL_DATA,;t t -s,@CYGPATH_W@,$CYGPATH_W,;t t -s,@PACKAGE@,$PACKAGE,;t t -s,@ACLOCAL@,$ACLOCAL,;t t -s,@AUTOCONF@,$AUTOCONF,;t t -s,@AUTOMAKE@,$AUTOMAKE,;t t -s,@AUTOHEADER@,$AUTOHEADER,;t t -s,@MAKEINFO@,$MAKEINFO,;t t -s,@install_sh@,$install_sh,;t t -s,@STRIP@,$STRIP,;t t -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t -s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t -s,@mkdir_p@,$mkdir_p,;t t -s,@AWK@,$AWK,;t t -s,@SET_MAKE@,$SET_MAKE,;t t -s,@am__leading_dot@,$am__leading_dot,;t t -s,@AMTAR@,$AMTAR,;t t -s,@am__tar@,$am__tar,;t t -s,@am__untar@,$am__untar,;t t -s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t -s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t -s,@MAINT@,$MAINT,;t t -s,@CMD_LDFLAGS@,$CMD_LDFLAGS,;t t -s,@LIB_LDFLAGS@,$LIB_LDFLAGS,;t t -s,@SO_LDFLAGS@,$SO_LDFLAGS,;t t -s,@HAVE_AIX_TRUE@,$HAVE_AIX_TRUE,;t t -s,@HAVE_AIX_FALSE@,$HAVE_AIX_FALSE,;t t -s,@HAVE_AIX@,$HAVE_AIX,;t t -s,@PROCTRACKDIR@,$PROCTRACKDIR,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@DEPDIR@,$DEPDIR,;t t -s,@am__include@,$am__include,;t t -s,@am__quote@,$am__quote,;t t -s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t -s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t -s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t -s,@CCDEPMODE@,$CCDEPMODE,;t t -s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t -s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t -s,@CPP@,$CPP,;t t -s,@EGREP@,$EGREP,;t t -s,@HAVE_AIX_PROCTRACK_TRUE@,$HAVE_AIX_PROCTRACK_TRUE,;t t -s,@HAVE_AIX_PROCTRACK_FALSE@,$HAVE_AIX_PROCTRACK_FALSE,;t t -s,@CXX@,$CXX,;t t -s,@CXXFLAGS@,$CXXFLAGS,;t t -s,@ac_ct_CXX@,$ac_ct_CXX,;t t -s,@CXXDEPMODE@,$CXXDEPMODE,;t t -s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t -s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t -s,@LN_S@,$LN_S,;t t -s,@ECHO@,$ECHO,;t t -s,@AR@,$AR,;t t -s,@ac_ct_AR@,$ac_ct_AR,;t t -s,@RANLIB@,$RANLIB,;t t -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -s,@CXXCPP@,$CXXCPP,;t t -s,@F77@,$F77,;t t -s,@FFLAGS@,$FFLAGS,;t t -s,@ac_ct_F77@,$ac_ct_F77,;t t -s,@LIBTOOL@,$LIBTOOL,;t t -s,@WITH_GNU_LD_TRUE@,$WITH_GNU_LD_TRUE,;t t -s,@WITH_GNU_LD_FALSE@,$WITH_GNU_LD_FALSE,;t t -s,@HAVE_SCHED_SETAFFINITY_TRUE@,$HAVE_SCHED_SETAFFINITY_TRUE,;t t -s,@HAVE_SCHED_SETAFFINITY_FALSE@,$HAVE_SCHED_SETAFFINITY_FALSE,;t t -s,@NUMA_LIBS@,$NUMA_LIBS,;t t -s,@HAVE_NUMA_TRUE@,$HAVE_NUMA_TRUE,;t t -s,@HAVE_NUMA_FALSE@,$HAVE_NUMA_FALSE,;t t -s,@PAM_LIBS@,$PAM_LIBS,;t t -s,@HAVE_PAM_TRUE@,$HAVE_PAM_TRUE,;t t -s,@HAVE_PAM_FALSE@,$HAVE_PAM_FALSE,;t t -s,@LIBOBJS@,$LIBOBJS,;t t -s,@HAVE_UNSETENV_TRUE@,$HAVE_UNSETENV_TRUE,;t t -s,@HAVE_UNSETENV_FALSE@,$HAVE_UNSETENV_FALSE,;t t -s,@PTHREAD_CC@,$PTHREAD_CC,;t t -s,@PTHREAD_LIBS@,$PTHREAD_LIBS,;t t -s,@PTHREAD_CFLAGS@,$PTHREAD_CFLAGS,;t t -s,@BG_INCLUDES@,$BG_INCLUDES,;t t -s,@SEMAPHORE_SOURCES@,$SEMAPHORE_SOURCES,;t t -s,@SEMAPHORE_LIBS@,$SEMAPHORE_LIBS,;t t -s,@NCURSES@,$NCURSES,;t t -s,@HAVE_SOME_CURSES_TRUE@,$HAVE_SOME_CURSES_TRUE,;t t -s,@HAVE_SOME_CURSES_FALSE@,$HAVE_SOME_CURSES_FALSE,;t t -s,@HAVE_SOME_CURSES@,$HAVE_SOME_CURSES,;t t -s,@HAVEPKGCONFIG@,$HAVEPKGCONFIG,;t t -s,@GTK2_CFLAGS@,$GTK2_CFLAGS,;t t -s,@GTK2_LIBS@,$GTK2_LIBS,;t t -s,@HAVE_GTK_TRUE@,$HAVE_GTK_TRUE,;t t -s,@HAVE_GTK_FALSE@,$HAVE_GTK_FALSE,;t t -s,@DEBUG_MODULES_TRUE@,$DEBUG_MODULES_TRUE,;t t -s,@DEBUG_MODULES_FALSE@,$DEBUG_MODULES_FALSE,;t t -s,@SLURMCTLD_PORT@,$SLURMCTLD_PORT,;t t -s,@SLURMD_PORT@,$SLURMD_PORT,;t t -s,@ELAN_LIBS@,$ELAN_LIBS,;t t -s,@HAVE_ELAN_TRUE@,$HAVE_ELAN_TRUE,;t t -s,@HAVE_ELAN_FALSE@,$HAVE_ELAN_FALSE,;t t -s,@HAVE_ELAN@,$HAVE_ELAN,;t t -s,@FEDERATION_LDFLAGS@,$FEDERATION_LDFLAGS,;t t -s,@HAVE_FEDERATION_TRUE@,$HAVE_FEDERATION_TRUE,;t t -s,@HAVE_FEDERATION_FALSE@,$HAVE_FEDERATION_FALSE,;t t -s,@HAVE_FEDERATION@,$HAVE_FEDERATION,;t t -s,@HAVE_SGI_JOB_TRUE@,$HAVE_SGI_JOB_TRUE,;t t -s,@HAVE_SGI_JOB_FALSE@,$HAVE_SGI_JOB_FALSE,;t t -s,@READLINE_LIBS@,$READLINE_LIBS,;t t -s,@SSL_LDFLAGS@,$SSL_LDFLAGS,;t t -s,@SSL_LIBS@,$SSL_LIBS,;t t -s,@SSL_CPPFLAGS@,$SSL_CPPFLAGS,;t t -s,@MUNGE_LIBS@,$MUNGE_LIBS,;t t -s,@MUNGE_CPPFLAGS@,$MUNGE_CPPFLAGS,;t t -s,@MUNGE_LDFLAGS@,$MUNGE_LDFLAGS,;t t -s,@WITH_MUNGE_TRUE@,$WITH_MUNGE_TRUE,;t t -s,@WITH_MUNGE_FALSE@,$WITH_MUNGE_FALSE,;t t -s,@AUTHD_LIBS@,$AUTHD_LIBS,;t t -s,@AUTHD_CFLAGS@,$AUTHD_CFLAGS,;t t -s,@WITH_AUTHD_TRUE@,$WITH_AUTHD_TRUE,;t t -s,@WITH_AUTHD_FALSE@,$WITH_AUTHD_FALSE,;t t -s,@LTLIBOBJS@,$LTLIBOBJS,;t t -CEOF - -_ACEOF - - cat >>$CONFIG_STATUS <<\_ACEOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac - - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_builddir$INSTALL ;; - esac - - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo "$f";; - *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@abs_srcdir@,$ac_abs_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -s,@builddir@,$ac_builddir,;t t -s,@abs_builddir@,$ac_abs_builddir,;t t -s,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi - -done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - -# -# CONFIG_HEADER section. -# - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' -ac_dC=' ' -ac_dD=',;t' -# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='$,\1#\2define\3' -ac_uC=' ' -ac_uD=',;t' - -for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - # Do quote $f, to prevent DOS paths from being IFS'd. - echo "$f";; - *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - -_ACEOF - -# Transform confdefs.h into two sed scripts, `conftest.defines' and -# `conftest.undefs', that substitutes the proper values into -# config.h.in to produce config.h. The first handles `#define' -# templates, and the second `#undef' templates. -# And first: Protect against being on the right side of a sed subst in -# config.status. Protect against being in an unquoted here document -# in config.status. -rm -f conftest.defines conftest.undefs -# Using a here document instead of a string reduces the quoting nightmare. -# Putting comments in sed scripts is not portable. -# -# `end' is used to avoid that the second main sed command (meant for -# 0-ary CPP macros) applies to n-ary macro definitions. -# See the Autoconf documentation for `clear'. -cat >confdef2sed.sed <<\_ACEOF -s/[\\&,]/\\&/g -s,[\\$`],\\&,g -t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp -t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp -: end -_ACEOF -# If some macros were called several times there might be several times -# the same #defines, which is useless. Nevertheless, we may not want to -# sort them, since we want the *last* AC-DEFINE to be honored. -uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines -sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs -rm -f confdef2sed.sed - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >>conftest.undefs <<\_ACEOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -_ACEOF - -# Break up conftest.defines because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS -echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS -echo ' :' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.defines >/dev/null -do - # Write a limited-size here document to $tmp/defines.sed. - echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS - # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/defines.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines -echo ' fi # grep' >>$CONFIG_STATUS -echo >>$CONFIG_STATUS - -# Break up conftest.undefs because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #undef templates' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.undefs >/dev/null -do - # Write a limited-size here document to $tmp/undefs.sed. - echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS - # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/undefs.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail - rm -f conftest.undefs - mv conftest.tail conftest.undefs -done -rm -f conftest.undefs - -cat >>$CONFIG_STATUS <<\_ACEOF - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - echo "/* Generated by configure. */" >$tmp/config.h - else - echo "/* $ac_file. Generated by configure. */" >$tmp/config.h - fi - cat $tmp/in >>$tmp/config.h - rm -f $tmp/in - if test x"$ac_file" != x-; then - if diff $ac_file $tmp/config.h >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - - rm -f $ac_file - mv $tmp/config.h $ac_file - fi - else - cat $tmp/config.h - rm -f $tmp/config.h - fi -# Compute $ac_file's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $ac_file | $ac_file:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || -$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X$ac_file : 'X\(//\)[^/]' \| \ - X$ac_file : 'X\(//\)$' \| \ - X$ac_file : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X$ac_file | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'`/stamp-h$_am_stamp_count -done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - -# -# CONFIG_COMMANDS section. -# -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue - ac_dest=`echo "$ac_file" | sed 's,:.*,,'` - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_dir=`(dirname "$ac_dest") 2>/dev/null || -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_dest" : 'X\(//\)[^/]' \| \ - X"$ac_dest" : 'X\(//\)$' \| \ - X"$ac_dest" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_dest" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac - - - { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 -echo "$as_me: executing $ac_dest commands" >&6;} - case $ac_dest in - depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`(dirname "$mf") 2>/dev/null || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`(dirname "$file") 2>/dev/null || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p $dirpart/$fdir - else - as_dir=$dirpart/$fdir - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 -echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} - { (exit 1); exit 1; }; }; } - - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - esac -done -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi - - diff --git a/executable_names/configure.ac b/executable_names/configure.ac deleted file mode 100644 index 350e24b70c..0000000000 --- a/executable_names/configure.ac +++ /dev/null @@ -1,321 +0,0 @@ -# $Id$ -# This file is to be processed with autoconf to generate a configure script - -dnl Prologue -dnl -AC_INIT -AC_PREREQ(2.59) -AC_CONFIG_SRCDIR([configure.ac]) -AC_CONFIG_AUX_DIR([auxdir]) -AC_CANONICAL_TARGET([]) - -X_AC_GPL_LICENSED - -# -# Determine project/version from META file. -# Sets PACKAGE, VERSION, SLURM_VERSION -X_AC_SLURM_VERSION - - -dnl Initialize Automake -dnl -AM_INIT_AUTOMAKE(slurm, $VERSION) -AM_MAINTAINER_MODE -AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_HEADERS([slurm/slurm.h]) - -X_AC_AIX - -dnl -dnl Check to see if this architecture should use slurm_* prefix function -dnl aliases for plugins. -dnl -case "$host" in - *-*-aix*) AC_DEFINE(USE_ALIAS, 0, - [Define slurm_ prefix function aliases for plusins]) ;; - *darwin*) AC_DEFINE(USE_ALIAS, 0, - [Define slurm_ prefix function aliases for plusins]) ;; - *) AC_DEFINE(USE_ALIAS, 1, - [Define slurm_ prefix function aliases for plugins]) ;; -esac - -dnl Checks for programs. -dnl -AC_PROG_CC -AC_PROG_CXX -AC_PROG_MAKE_SET -AC_PROG_LIBTOOL - -AM_CONDITIONAL(WITH_GNU_LD, test "$with_gnu_ld" = "yes") - - -dnl Checks for libraries -dnl - -dnl Checks for header files. -dnl -AC_CHECK_HEADERS(mcheck.h values.h socket.h sys/socket.h \ - stdbool.h sys/ipc.h sys/shm.h sys/sem.h errno.h \ - stdlib.h dirent.h pthread.h sys/prctl.h \ - sysint.h inttypes.h termcap.h netdb.h sys/socket.h \ - sys/systemcfg.h ncurses.h curses.h sys/dr.h sys/vfs.h \ - pam/pam_appl.h security/pam_appl.h sys/sysctl.h \ - ) -AC_HEADER_SYS_WAIT -AC_HEADER_TIME -AC_HEADER_STDC - - -dnl Checks for structures. -dnl -X_AC__SYSTEM_CONFIGURATION - -dnl check to see if glibc's program_invocation_name is available: -dnl -X_AC_SLURM_PROGRAM_INVOCATION_NAME - -dnl Check if ptrace takes four or five arguments -dnl -X_AC_PTRACE - -dnl Check if setpgrp takes zero or two arguments -dnl -X_AC_SETPGRP - -dnl Check of sched_getaffinity exists and it's argument count -dnl -X_AC_AFFINITY - -dnl -dnl Check for PAM module support -X_AC_PAM - -dnl Checks for types. -dnl -X_AC_SLURM_BIGENDIAN - -dnl Checks for compiler characteristics. -dnl -AC_PROG_GCC_TRADITIONAL([]) - - -dnl checks for library functions. -dnl -AC_FUNC_MALLOC -AC_FUNC_STRERROR_R -AC_CHECK_FUNCS( \ - fdatasync \ - hstrerror \ - strerror \ - mtrace \ - strndup \ - strlcpy \ - strsignal \ - inet_aton \ - inet_ntop \ - inet_pton \ - setproctitle \ - sysctlbyname \ -) - -AC_CHECK_DECLS([hstrerror, strsignal, sys_siglist]) - -AC_CHECK_FUNCS(unsetenv, [have_unsetenv=yes]) -AM_CONDITIONAL(HAVE_UNSETENV, test "x$have_unsetenv" = "xyes") - -ACX_PTHREAD([], AC_MSG_ERROR([Error: Cannot figure out how to use pthreads!])) - -# Always define WITH_PTHREADS if we make it this far -AC_DEFINE(WITH_PTHREADS,1,[Define if you have pthreads.]) -LDFLAGS="$LDFLAGS " -CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -LIBS="$PTHREAD_LIBS $LIBS" - -X_AC_BLUEGENE -X_AC_XCPU -X_AC_SLURM_SEMAPHORE - -X_AC_NCURSES -AM_CONDITIONAL(HAVE_SOME_CURSES, test "x$ac_have_some_curses" = "xyes") -AC_SUBST(HAVE_SOME_CURSES) - -X_AC_GTK -AM_CONDITIONAL(HAVE_GTK, test "x$ac_have_gtk" = "xyes") - -dnl checks for system services. -dnl - - -dnl checks for system-specific stuff. -dnl - -dnl check for how to emulate setproctitle -dnl -X_AC_SETPROCTITLE - -dnl check for debug compilation -dnl -X_AC_DEBUG -AM_CONDITIONAL(DEBUG_MODULES, test "x$ac_debug" = "xtrue") - - -dnl check for slurmd and slurmctld default ports -dnl -X_AC_SLURM_PORTS([6817], [6818]) - - -dnl check for whether to include Elan support -dnl -X_AC_ELAN -AM_CONDITIONAL(HAVE_ELAN, test "x$ac_have_elan" = "xyes") -AC_SUBST(HAVE_ELAN) - -dnl check for whether to include Federation support -dnl -X_AC_FEDERATION -AM_CONDITIONAL(HAVE_FEDERATION, test "x$ac_have_federation" = "xyes") -AC_SUBST(HAVE_FEDERATION) - -dnl check for SGI job container support -dnl -X_AC_SGI_JOB - -dnl Check for whether to include readline support -dnl -X_AC_READLINE - -dnl -dnl -X_AC_SLURM_WITH_SSL - - -dnl -dnl Check for compilation of SLURM auth modules: -dnl -X_AC_MUNGE - -dnl -dnl Check if multiple-slurmd support is requested and define MULTIPLE_SLURMD -dnl if it is. -dnl -AC_MSG_CHECKING(whether to enable multiple-slurmd support) -AC_ARG_ENABLE([multiple-slurmd], - AS_HELP_STRING(--enable-multiple-slurmd,enable multiple-slurmd support), - [ case "$enableval" in - yes) multiple_slurmd=yes ;; - no) multiple_slurmd=no ;; - *) AC_MSG_ERROR([bad value "$enableval" for --enable-multiple-slurmd]);; - esac ] -) -if test "x$multiple_slurmd" = "xyes"; then - AC_DEFINE([MULTIPLE_SLURMD], [1], [Enable multiple slurmd on one node]) - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - - -AUTHD_LIBS="-lauth -le" -savedLIBS="$LIBS" -savedCFLAGS="$CFLAGS" -LIBS="$SSL_LIBS $AUTHD_LIBS $LIBS" -CFLAGS="$SSL_CPPFLAGS $CFLAGS" -AC_CHECK_LIB(auth, auth_init_credentials, [have_authd=yes], [have_authd=no]) -AC_SUBST(AUTHD_LIBS) -AC_SUBST(AUTHD_CFLAGS) -AM_CONDITIONAL(WITH_AUTHD, test "x$have_authd" = "xyes") -LIBS="$savedLIBS" -CFLAGS="$savedCFLAGS" - -dnl Add LSD-Tools defines: -AC_DEFINE(WITH_LSD_FATAL_ERROR_FUNC, 1, [Have definition of lsd_fatal_error()]) -AC_DEFINE(WITH_LSD_NOMEM_ERROR_FUNC, 1, [Have definition of lsd_nomem_error()]) - -dnl All slurm Makefiles: - -AC_CONFIG_FILES([Makefile - config.xml - auxdir/Makefile - src/Makefile - src/api/Makefile - src/common/Makefile - src/sacct/Makefile - src/salloc/Makefile - src/sbatch/Makefile - src/sattach/Makefile - src/srun/Makefile - src/slaunch/Makefile - src/slurmd/Makefile - src/slurmd/slurmd/Makefile - src/slurmd/slurmstepd/Makefile - src/slurmctld/Makefile - src/sbcast/Makefile - src/scontrol/Makefile - src/scancel/Makefile - src/squeue/Makefile - src/sinfo/Makefile - src/smap/Makefile - src/sview/Makefile - src/plugins/Makefile - src/plugins/auth/Makefile - src/plugins/auth/authd/Makefile - src/plugins/auth/munge/Makefile - src/plugins/auth/none/Makefile - src/plugins/checkpoint/Makefile - src/plugins/checkpoint/aix/Makefile - src/plugins/checkpoint/none/Makefile - src/plugins/jobacct/Makefile - src/plugins/jobacct/linux/Makefile - src/plugins/jobacct/aix/Makefile - src/plugins/jobacct/none/Makefile - src/plugins/jobcomp/Makefile - src/plugins/jobcomp/filetxt/Makefile - src/plugins/jobcomp/none/Makefile - src/plugins/jobcomp/script/Makefile - src/plugins/proctrack/Makefile - src/plugins/proctrack/aix/Makefile - src/plugins/proctrack/pgid/Makefile - src/plugins/proctrack/linuxproc/Makefile - src/plugins/proctrack/rms/Makefile - src/plugins/proctrack/sgi_job/Makefile - src/plugins/sched/Makefile - src/plugins/sched/backfill/Makefile - src/plugins/sched/builtin/Makefile - src/plugins/sched/gang/Makefile - src/plugins/sched/hold/Makefile - src/plugins/sched/wiki2/Makefile - src/plugins/select/Makefile - src/plugins/select/bluegene/Makefile - src/plugins/select/bluegene/block_allocator/Makefile - src/plugins/select/bluegene/plugin/Makefile - src/plugins/select/linear/Makefile - src/plugins/select/cons_res/Makefile - src/plugins/switch/Makefile - src/plugins/switch/elan/Makefile - src/plugins/switch/none/Makefile - src/plugins/switch/federation/Makefile - src/plugins/mpi/Makefile - src/plugins/mpi/mpichgm/Makefile - src/plugins/mpi/mvapich/Makefile - src/plugins/mpi/lam/Makefile - src/plugins/mpi/none/Makefile - src/plugins/task/Makefile - src/plugins/task/affinity/Makefile - src/plugins/task/none/Makefile - doc/Makefile - doc/man/Makefile - doc/html/Makefile - doc/html/configurator.html - testsuite/Makefile - testsuite/expect/Makefile - testsuite/slurm_unit/Makefile - testsuite/slurm_unit/common/Makefile - testsuite/slurm_unit/slurmctld/Makefile - testsuite/slurm_unit/slurmd/Makefile - testsuite/slurm_unit/api/Makefile - testsuite/slurm_unit/api/manual/Makefile - ] -) - -AC_OUTPUT - diff --git a/executable_names/doc/Makefile.am b/executable_names/doc/Makefile.am deleted file mode 100644 index 06af8571a0..0000000000 --- a/executable_names/doc/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ - -SUBDIRS = man html - - -EXTRA_DIST = \ - pubdesign/Makefile \ - pubdesign/report.tex \ - pubdesign/sample.config \ - figures \ - common - - -dist-hook: - -rm -rf `find $(distdir) -name ".svn"` diff --git a/executable_names/doc/Makefile.in b/executable_names/doc/Makefile.in deleted file mode 100644 index ff3b6411cd..0000000000 --- a/executable_names/doc/Makefile.in +++ /dev/null @@ -1,568 +0,0 @@ -# Makefile.in generated by automake 1.9 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_triplet = @host@ -subdir = doc -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/auxdir/acx_pthread.m4 \ - $(top_srcdir)/auxdir/slurm.m4 \ - $(top_srcdir)/auxdir/x_ac__system_configuration.m4 \ - $(top_srcdir)/auxdir/x_ac_affinity.m4 \ - $(top_srcdir)/auxdir/x_ac_aix.m4 \ - $(top_srcdir)/auxdir/x_ac_bluegene.m4 \ - $(top_srcdir)/auxdir/x_ac_debug.m4 \ - $(top_srcdir)/auxdir/x_ac_elan.m4 \ - $(top_srcdir)/auxdir/x_ac_federation.m4 \ - $(top_srcdir)/auxdir/x_ac_gpl_licensed.m4 \ - $(top_srcdir)/auxdir/x_ac_gtk.m4 \ - $(top_srcdir)/auxdir/x_ac_munge.m4 \ - $(top_srcdir)/auxdir/x_ac_ncurses.m4 \ - $(top_srcdir)/auxdir/x_ac_pam.m4 \ - $(top_srcdir)/auxdir/x_ac_ptrace.m4 \ - $(top_srcdir)/auxdir/x_ac_readline.m4 \ - $(top_srcdir)/auxdir/x_ac_setpgrp.m4 \ - $(top_srcdir)/auxdir/x_ac_setproctitle.m4 \ - $(top_srcdir)/auxdir/x_ac_sgi_job.m4 \ - $(top_srcdir)/auxdir/x_ac_slurm_ssl.m4 \ - $(top_srcdir)/auxdir/x_ac_xcpu.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/slurm/slurm.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTHD_CFLAGS = @AUTHD_CFLAGS@ -AUTHD_LIBS = @AUTHD_LIBS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BG_INCLUDES = @BG_INCLUDES@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CMD_LDFLAGS = @CMD_LDFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG_MODULES_FALSE = @DEBUG_MODULES_FALSE@ -DEBUG_MODULES_TRUE = @DEBUG_MODULES_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ELAN_LIBS = @ELAN_LIBS@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FEDERATION_LDFLAGS = @FEDERATION_LDFLAGS@ -FFLAGS = @FFLAGS@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -HAVEPKGCONFIG = @HAVEPKGCONFIG@ -HAVE_AIX = @HAVE_AIX@ -HAVE_AIX_FALSE = @HAVE_AIX_FALSE@ -HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@ -HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@ -HAVE_AIX_TRUE = @HAVE_AIX_TRUE@ -HAVE_ELAN = @HAVE_ELAN@ -HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@ -HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@ -HAVE_FEDERATION = @HAVE_FEDERATION@ -HAVE_FEDERATION_FALSE = @HAVE_FEDERATION_FALSE@ -HAVE_FEDERATION_TRUE = @HAVE_FEDERATION_TRUE@ -HAVE_GTK_FALSE = @HAVE_GTK_FALSE@ -HAVE_GTK_TRUE = @HAVE_GTK_TRUE@ -HAVE_NUMA_FALSE = @HAVE_NUMA_FALSE@ -HAVE_NUMA_TRUE = @HAVE_NUMA_TRUE@ -HAVE_PAM_FALSE = @HAVE_PAM_FALSE@ -HAVE_PAM_TRUE = @HAVE_PAM_TRUE@ -HAVE_SCHED_SETAFFINITY_FALSE = @HAVE_SCHED_SETAFFINITY_FALSE@ -HAVE_SCHED_SETAFFINITY_TRUE = @HAVE_SCHED_SETAFFINITY_TRUE@ -HAVE_SGI_JOB_FALSE = @HAVE_SGI_JOB_FALSE@ -HAVE_SGI_JOB_TRUE = @HAVE_SGI_JOB_TRUE@ -HAVE_SOME_CURSES = @HAVE_SOME_CURSES@ -HAVE_SOME_CURSES_FALSE = @HAVE_SOME_CURSES_FALSE@ -HAVE_SOME_CURSES_TRUE = @HAVE_SOME_CURSES_TRUE@ -HAVE_UNSETENV_FALSE = @HAVE_UNSETENV_FALSE@ -HAVE_UNSETENV_TRUE = @HAVE_UNSETENV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_LDFLAGS = @LIB_LDFLAGS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MUNGE_CPPFLAGS = @MUNGE_CPPFLAGS@ -MUNGE_LDFLAGS = @MUNGE_LDFLAGS@ -MUNGE_LIBS = @MUNGE_LIBS@ -NCURSES = @NCURSES@ -NUMA_LIBS = @NUMA_LIBS@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PAM_LIBS = @PAM_LIBS@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PROCTRACKDIR = @PROCTRACKDIR@ -PROJECT = @PROJECT@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -READLINE_LIBS = @READLINE_LIBS@ -RELEASE = @RELEASE@ -SEMAPHORE_LIBS = @SEMAPHORE_LIBS@ -SEMAPHORE_SOURCES = @SEMAPHORE_SOURCES@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SLURMCTLD_PORT = @SLURMCTLD_PORT@ -SLURMD_PORT = @SLURMD_PORT@ -SLURM_API_AGE = @SLURM_API_AGE@ -SLURM_API_CURRENT = @SLURM_API_CURRENT@ -SLURM_API_MAJOR = @SLURM_API_MAJOR@ -SLURM_API_REVISION = @SLURM_API_REVISION@ -SLURM_API_VERSION = @SLURM_API_VERSION@ -SLURM_MAJOR = @SLURM_MAJOR@ -SLURM_MICRO = @SLURM_MICRO@ -SLURM_MINOR = @SLURM_MINOR@ -SLURM_VERSION = @SLURM_VERSION@ -SO_LDFLAGS = @SO_LDFLAGS@ -SSL_CPPFLAGS = @SSL_CPPFLAGS@ -SSL_LDFLAGS = @SSL_LDFLAGS@ -SSL_LIBS = @SSL_LIBS@ -STRIP = @STRIP@ -VERSION = @VERSION@ -WITH_AUTHD_FALSE = @WITH_AUTHD_FALSE@ -WITH_AUTHD_TRUE = @WITH_AUTHD_TRUE@ -WITH_GNU_LD_FALSE = @WITH_GNU_LD_FALSE@ -WITH_GNU_LD_TRUE = @WITH_GNU_LD_TRUE@ -WITH_MUNGE_FALSE = @WITH_MUNGE_FALSE@ -WITH_MUNGE_TRUE = @WITH_MUNGE_TRUE@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -SUBDIRS = man html -EXTRA_DIST = \ - pubdesign/Makefile \ - pubdesign/report.tex \ - pubdesign/sample.config \ - figures \ - common - -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/pubdesign - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive dist-hook distclean distclean-generic \ - distclean-libtool distclean-recursive distclean-tags distdir \ - dvi dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am uninstall-info-am - - -dist-hook: - -rm -rf `find $(distdir) -name ".svn"` -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/executable_names/doc/bgl.report/Makefile b/executable_names/doc/bgl.report/Makefile deleted file mode 100644 index 7fe7a35ec0..0000000000 --- a/executable_names/doc/bgl.report/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -# The following comments are to remind me how the automatic variables work: -# $@ - target -# $% - target member -# $< - First prerequisite -# $? - All (newer) prerequisites -# $^ - All prerequisites -# $+ - $^ but with repetitions -# $* - $* stem of pattern (for "foo.c" in %.c:%.o this would be "foo") -# 'info "GNU make"': "Using variables": "Automatic" also lists a few more. - -REPORT = report - -TEX = ../common/llnlCoverPage.tex $(REPORT).tex - -FIGDIR = ../figures -FIGS = $(FIGDIR)/arch.eps \ - $(FIGDIR)/connections.eps \ - $(FIGDIR)/entities.eps \ - $(FIGDIR)/interactive-job-init.eps \ - $(FIGDIR)/slurm-arch.eps - -PLOTS = $(FIGDIR)/times.eps - -BIB = ../common/project.bib - -%.eps: %.dia - dia --nosplash -e $@ $< -%.eps: %.gpl - gnuplot $< -%.eps: %.fig - fig2dev -Lps $< $@ -%.eps: %.obj - tgif -print -eps $< -%.ps: %.dvi - dvips -K -t letter -o $(@F) $( } - { s nameptr "{vv~}{ll}{, jj}{, f{.}.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #1 > - { ", " * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { "" * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " \& " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.springer.names } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.springer.names - editor num.names$ #1 > - { ", eds." * } - { ", ed." * } - if$ - } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } - if$ -} - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {format.date} -{ year empty$ - { "there's no year in " cite$ * warning$ } - 'year - if$ -} - -FUNCTION {format.btitle} -{ title emphasize -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { "Volume" volume tie.or.space.connect - series empty$ - 'skip$ - { " of " * series emphasize * } - if$ - add.period$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { "number" } - { "Number" } - if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edn." * } - { edition "t" change.case$ " edn." * } - if$ - } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "" pages n.dashify tie.or.space.connect } - { "" pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.vol} -{ volume bold -} - -FUNCTION {pre.format.pages} -{ pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { " " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "chapter" } - { type "l" change.case$ } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { " " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { "In: " booktitle emphasize * } - { "In " format.editors * ": " * booktitle emphasize * } - if$ - } - if$ -} - -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Technical Report" } - 'type - if$ - number empty$ - { "t" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.article.crossref} -{ key empty$ - { journal empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * - warning$ - "" - } - { "In {\em " journal * "\/}" * } - if$ - } - { "In " key * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ - editor num.names$ duplicate$ - #2 > - { pop$ " et~al." * } - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " and " * editor #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "In " - } - { "Volume" volume tie.or.space.connect - " of " * - } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { booktitle empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - "" - } - { "" } - if$ - } - { "" } - if$ - } - { "" } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {and.the.note} -{ note output - note empty$ - 'skip$ - { add.period$ } - if$ -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { journal emphasize "journal" output.check - format.vol output - format.date parens output - format.pages output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - and.the.note - fin.entry -} - -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - stupid.colon - format.btitle "title" output.check - new.sentence - crossref missing$ - { format.edition output - format.bvolume output - new.block - format.number.series output - new.sentence - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - } - { format.book.crossref output.nonnull - } - if$ - and.the.note - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - stupid.colon - format.title "title" output.check - howpublished address new.block.checkb - howpublished output - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - stupid.colon - crossref missing$ - { chapter output - new.block - format.number.series output - new.sentence - "In:" output - format.btitle "title" output.check - new.sentence - format.edition output - format.bvolume output - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - } - { chapter output - new.block - format.incoll.inproc.crossref output.nonnull - } - if$ - format.pages output - and.the.note - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - new.block - format.edition output - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - format.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - and.the.note - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - address empty$ - { organization publisher new.sentence.checkb - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - { insert.comma - address output.nonnull - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - format.pages output - and.the.note - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - author empty$ - { organization empty$ - 'skip$ - { organization output.nonnull - address output - } - if$ - } - { format.authors output.nonnull } - if$ - stupid.colon - format.btitle "title" output.check - author empty$ - { organization empty$ - { address new.block.checka - address output - } - 'skip$ - if$ - } - { organization address new.block.checkb - organization output - address empty$ - 'skip$ - { insert.comma } - if$ - address output - } - if$ - new.sentence - format.edition output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - "Master's thesis" format.thesis.type output.nonnull - school empty$ - 'skip$ - { insert.comma } - if$ - school "school" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - howpublished new.block.checka - howpublished output - format.date parens output - and.the.note - fin.entry - empty.misc.check -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.btitle "title" output.check - new.block - "PhD thesis" format.thesis.type output.nonnull - school empty$ - 'skip$ - { insert.comma } - if$ - school "school" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization empty$ - { "" } - { organization output - stupid.colon } - if$ - } - { format.editors output.nonnull - stupid.colon - } - if$ - format.btitle "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - address empty$ - { organization publisher new.sentence.checkb - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - { insert.comma - address output.nonnull - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - and.the.note - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - format.tr.number output.nonnull - institution empty$ - 'skip$ - { insert.comma } - if$ - institution "institution" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - note "note" output.check - format.date parens output - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"January"} - -MACRO {feb} {"February"} - -MACRO {mar} {"March"} - -MACRO {apr} {"April"} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"August"} - -MACRO {sep} {"September"} - -MACRO {oct} {"October"} - -MACRO {nov} {"November"} - -MACRO {dec} {"December"} - -MACRO {acmcs} {"ACM Computing Surveys"} - -MACRO {acta} {"Acta Informatica"} - -MACRO {cacm} {"Communications of the ACM"} - -MACRO {ibmjrd} {"IBM Journal of Research and Development"} - -MACRO {ibmsj} {"IBM Systems Journal"} - -MACRO {ieeese} {"IEEE Transactions on Software Engineering"} - -MACRO {ieeetc} {"IEEE Transactions on Computers"} - -MACRO {ieeetcad} - {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} - -MACRO {ipl} {"Information Processing Letters"} - -MACRO {jacm} {"Journal of the ACM"} - -MACRO {jcss} {"Journal of Computer and System Sciences"} - -MACRO {scp} {"Science of Computer Programming"} - -MACRO {sicomp} {"SIAM Journal on Computing"} - -MACRO {tocs} {"ACM Transactions on Computer Systems"} - -MACRO {tods} {"ACM Transactions on Database Systems"} - -MACRO {tog} {"ACM Transactions on Graphics"} - -MACRO {toms} {"ACM Transactions on Mathematical Software"} - -MACRO {toois} {"ACM Transactions on Office Information Systems"} - -MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} - -MACRO {tcs} {"Theoretical Computer Science"} - -READ - -STRINGS { longest.label } - -INTEGERS { number.label longest.label.width } - -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #1 'number.label := - #0 'longest.label.width := -} - -FUNCTION {longest.label.pass} -{ number.label int.to.str$ 'label := - number.label #1 + 'number.label := - label width$ longest.label.width > - { label 'longest.label := - label width$ 'longest.label.width := - } - 'skip$ - if$ -} - -EXECUTE {initialize.longest.label} - -ITERATE {longest.label.pass} - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{" longest.label * "}" * write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} - - - diff --git a/executable_names/doc/clusterworld/Makefile b/executable_names/doc/clusterworld/Makefile deleted file mode 100644 index 282b42f89f..0000000000 --- a/executable_names/doc/clusterworld/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -# The following comments are to remind me how the automatic variables work: -# $@ - target -# $% - target member -# $< - First prerequisite -# $? - All (newer) prerequisites -# $^ - All prerequisites -# $+ - $^ but with repetitions -# $* - $* stem of pattern (for "foo.c" in %.c:%.o this would be "foo") -# 'info "GNU make"': "Using variables": "Automatic" also lists a few more. - -REPORT = report - -TEX = ../common/llnlCoverPage.tex $(REPORT).tex - -FIGDIR = ../figures -FIGS = $(FIGDIR)/allocate-init.eps \ - $(FIGDIR)/arch.eps \ - $(FIGDIR)/connections.eps \ - $(FIGDIR)/entities.eps \ - $(FIGDIR)/interactive-job-init.eps \ - $(FIGDIR)/queued-job-init.eps \ - $(FIGDIR)/slurm-arch.eps \ - $(FIGDIR)/times.eps - -PLOTS = $(FIGDIR)/times.eps - -BIB = ../common/project.bib - -%.eps: %.dia - dia --nosplash -e $@ $< -%.eps: %.gpl - gnuplot $< -%.eps: %.fig - fig2dev -Lps $< $@ -%.eps: %.obj - tgif -print -eps $< -%.ps: %.dvi - dvips -K -t letter -o $(@F) $( -% \end{verbatim} -% at any time, though the remote \srun\ is not terminated as the result -% of an attach. - -\section{Job Initiation Design} - -There are three modes in which jobs may be run by users under SLURM. The -first and most simple mode is {\em interactive} mode, in which stdout and -stderr are displayed on the user's terminal in real time, and stdin and -signals may be forwarded from the terminal transparently to the remote -tasks. The second mode is {\em batch} or {\em queued} mode, in which the job is -queued until the request for resources can be satisfied, at which time the -job is run by SLURM as the submitting user. In the third mode, {\em allocate} -mode, a job is allocated to the requesting user, under which the user may -manually run job steps via a script or in a sub-shell spawned by \srun . - -\begin{figure}[tb] -\centerline{\epsfig{file=../figures/connections.eps,scale=0.35}} -\caption{\small Job initiation connections overview. 1. \srun\ connects to - \slurmctld\ requesting resources. 2. \slurmctld\ issues a response, - with list of nodes and job step credential. 3. \srun\ opens a listen - port for job IO connections, then sends a run job step - request to \slurmd . 4. \slurmd initiates job step and connects - back to \srun\ for stdout/err } -\label{connections} -\end{figure} - -Figure~\ref{connections} shows a high-level depiction of the connections -that occur between SLURM components during a general interactive -job startup. \srun\ requests a resource allocation and job step -initiation from the {\tt slurmctld}, which responds with the job id, -list of allocated nodes, job step credential, etc. if the request is granted, -\srun\ then initializes a listen port for stdio connections and connects -to the {\tt slurmd}s on the allocated nodes requesting that the remote -processes be initiated. The {\tt slurmd}s begin execution of the tasks and -connect back to \srun\ for stdout and stderr. This process is described -in more detail below. Details of the batch and allocate modes of operation -are not presented due to space constraints. - -\subsection{Interactive Job Initiation} - -\begin{figure}[tb] -\centerline{\epsfig{file=../figures/interactive-job-init.eps,scale=0.45} } -\caption{\small Interactive job initiation. \srun\ simultaneously allocates - nodes and a job step from \slurmctld\ then sends a run request to all - {\tt slurmd}s in job. Dashed arrows indicate a periodic request that - may or may not occur during the lifetime of the job} -\label{init-interactive} -\end{figure} - -Interactive job initiation is shown in -Figure~\ref{init-interactive}. The process begins with a user invoking -\srun\ in interactive mode. In Figure~\ref{init-interactive}, the user -has requested an interactive run of the executable ``{\tt cmd}'' in the -default partition. - -After processing command line options, \srun\ sends a message to -\slurmctld\ requesting a resource allocation and a job step initiation. -This message simultaneously requests an allocation (or job) and a job -step. \srun\ waits for a reply from {\tt slurmctld}, which may not come -instantly if the user has requested that \srun\ block until resources are -available. When resources are available for the user's job, \slurmctld\ -replies with a job step credential, list of nodes that were allocated, -cpus per node, and so on. \srun\ then sends a message each \slurmd\ on -the allocated nodes requesting that a job step be initiated. -The \slurmd\ daemons verify that the job is valid using the forwarded job -step credential and then respond to \srun . - -Each \slurmd\ invokes a job manager process to handle the request, which -in turn invokes a session manager process that initializes the session for -the job step. An IO thread is created in the job manager that connects -all tasks' IO back to a port opened by \srun\ for stdout and stderr. -Once stdout and stderr have successfully been connected, the task thread -takes the necessary steps to initiate the user's executable on the node, -initializing environment, current working directory, and interconnect -resources if needed. - -Each \slurmd\ forks a copy of itself that is responsible for the job -step on this node. This local job manager process then creates an -IO thread that initializes stdout, stdin, and stderr streams for each -local task and connects these streams to the remote \srun . Meanwhile, -the job manager forks a session manager process that initializes -the session becomes the requesting user and invokes the user's processes. - -As user processes exit, their exit codes are collected, aggregated when -possible, and sent back to \srun\ in the form of a task exit message. -Once all tasks have exited, the session manager exits, and the job -manager process waits for the IO thread to complete, then exits. -The \srun\ process either waits for all tasks to exit, or attempts to -clean up the remaining processes some time after the first task exits -(based on user option). Regardless, once all tasks are finished, -\srun\ sends a message to the \slurmctld\ releasing the allocated nodes, -then exits with an appropriate exit status. - -When the \slurmctld\ receives notification that \srun\ no longer needs -the allocated nodes, it issues a request for the epilog to be run on -each of the {\tt slurmd}s in the allocation. As {\tt slurmd}s report that the -epilog ran successfully, the nodes are returned to the partition. - -\section{Results} - -\begin{figure}[htb] -\centerline{\epsfig{file=../figures/times.eps,scale=0.7}} -\caption{\small Time to execute /bin/hostname with various node counts} -\label{timing} -\end{figure} - -We were able to perform some SLURM tests on a 1000-node cluster -in November 2002. Some development was still underway at that time -and tuning had not been performed. The results for executing the -program {\em /bin/hostname} on two tasks per node and various node -counts are shown in Figure~\ref{timing}. We found SLURM performance -to be comparable to the -Quadrics Resource Management System (RMS) \cite{Quadrics2002} for all -job sizes and about 80 times faster than IBM LoadLeveler\cite{LL2002} -at tested job sizes. - -\section{Future Plans} - -SLURM begin production use on LLNL Linux clusters in March 2003 -and is available from our web site\cite{SLURM2003}. - -While SLURM is able to manage 1000 nodes without difficulty using -sockets and Ethernet, we are reviewing other communication mechanisms -that may offer improved scalability. One possible alternative -is STORM \cite{STORM2001}. STORM uses the cluster interconnect -and Network Interface Cards to provide high-speed communications, -including a broadcast capability. STORM only supports the Quadrics -Elan interconnnect at present, but it does offer the promise of improved -performance and scalability. - -Looking ahead, we anticipate adding support for additional -interconnects (InfiniBand and the IBM -Blue Gene \cite{BlueGene2002} system\footnote{Blue Gene has a different -interconnect than any supported by SLURM and a 3-D topography with -restrictive allocation constraints.}). We anticipate adding a job -preempt/resume capability to the next release of SLURM. This will -provide an external scheduler the infrastructure required to perform gang -scheduling. We also anticipate adding a checkpoint/restart capability at -some time in the future ,and we plan to support changing the node count -associated with running jobs (as needed for MPI2). Recording resource -use by each parallel job is planned for a future release. - -\section{Acknowledgments} - -SLURM is jointly developed by LLNL and Linux NetworX. -Contributors to SLURM development include: -\begin{itemize} -\item Jay Windley of Linux NetworX for his development of the plugin -mechanism and work on the security components -\item Joey Ekstrom for his work developing the user tools -\item Kevin Tew for his work developing the communications infrastructure -\item Jim Garlick for his development of the Quadrics Elan interface and -technical guidance -\item Gregg Hommes, Bob Wood, and Phil Eckert for their help designing the -SLURM APIs -\item Mark Seager and Greg Tomaschke for their support of this project -\item Chris Dunlap for technical guidance -\item David Jackson of Linux NetworX for technical guidance -\item Fabrizio Petrini of Los Alamos National Laboratory for his work to -integrate SLURM with STORM communications -\end{itemize} - -%\appendix -%\newpage -%\section{Glossary} -% -%\begin{description} -%\item[Authd] User authentication mechanism -%\item[DCE] Distributed Computing Environment -%\item[DFS] Distributed File System (part of DCE) -%\item[DPCS] Distributed Production Control System, a meta-batch system -% and resource manager developed by LLNL -%\item[Globus] Grid scheduling infrastructure -%\item[Kerberos] Authentication mechanism -%\item[LoadLeveler] IBM's parallel job management system -%\item[LLNL] Lawrence Livermore National Laboratory -%\item[Munge] User authentication mechanism developed by LLNL -%\item[NQS] Network Queuing System (a batch system) -%\item[RMS] Quadrics' Resource Management System -%\item[TotalView] Etnus' debugger -%\end{description} - -\raggedright -% make the bibliography -\bibliographystyle{splncs} -\bibliography{project} - -% make the back cover page -%\makeLLNLBackCover -\end{document} diff --git a/executable_names/doc/clusterworld/sample.config b/executable_names/doc/clusterworld/sample.config deleted file mode 100644 index e0d5f2f38b..0000000000 --- a/executable_names/doc/clusterworld/sample.config +++ /dev/null @@ -1,57 +0,0 @@ -# -# Sample /etc/slurm.conf -# Author: John Doe -# Date: 11/06/2001 - -ControlMachine=lx0000 ControlAddr=elx0000 -BackupController=lx0001 BackupAddr=elx0001 - -AuthType="auth/authd" -Epilog=/etc/slurm/epilog -FastSchedule=1 -FirstJobId=65536 -HashBase=10 -HeartbeatInterval=60 -InactiveLimit=120 -JobCredentialPrivateKey=/etc/slurm/private.key -JobCredentialPublicCertificate=/etc/slurm/public.cert -KillWait=30 -PluginDir=/usr/lib/slurm -Prioritize=/usr/local/slurm/etc/priority -Prolog=/etc/slurm/prolog -ReturnToService=0 -SlurmctldDebug=4 -SlurmctldLogFile=/var/tmp/slurmctld.log -SlurmctldPidFile=/var/run/slurmctld.pid -SlurmctldPort=7002 -SlurmctldTimeout=120 -SlurmdDebug=4 -SlurmdLogFile=/var/tmp/slurmd.log -SlurmdPidFile=/var/run/slurmd.pid -SlurmdPort=7003 -SlurmdSpoolDir=/var/tmp/slurmd.spool -SlurmdTimeout=120 -SlurmUser=slurm -StateSaveLocation=/tmp/slurm.state -TmpFS=/tmp - -# -# Node Configurations -# -NodeName=DEFAULT TmpDisk=16384 Procs=16 RealMemory=2048 Weight=16 -NodeName=lx[0000-0002] NodeAddr=elx[0000-0002] State=DRAINED -NodeName=lx[0003-8000] NodeAddr=elx[0003-8000] - -NodeName=DEFAULT CPUs=32 RealMemory=4096 Weight=40 Feature=1200MHz -NodeName=lx[8001-9999] NodeAddr=elx[8001-9999] -# -# Partition Configurations -# -PartitionName=DEFAULT MaxTime=30 MaxNodes=2 Shared=NO -PartitionName=debug Nodes=lx[0003-0030] State=UP Default=YES -PartitionName=class Nodes=lx[0031-0040] AllowGroups=students,teachers -PartitionName=login Nodes=lx[0000-0002] State=DOWN # Don't schedule work here - -# -PartitionName=DEFAULT MaxTime=UNLIMITED RootOnly=YES -PartitionName=batch Nodes=lx[0041-9999] MaxNodes=4096 diff --git a/executable_names/doc/clusterworld/splncs.bst b/executable_names/doc/clusterworld/splncs.bst deleted file mode 100644 index 096949614c..0000000000 --- a/executable_names/doc/clusterworld/splncs.bst +++ /dev/null @@ -1,1080 +0,0 @@ -% BibTeX bibliography style `splncs' - -% An attempt to match the bibliography style required for use with -% numbered references in Springer Verlag's "Lecture Notes in Computer -% Science" series. (See Springer's documentation for llncs.sty for -% more details of the suggested reference format.) Note that this -% file will not work for author-year style citations. - -% Use \documentclass{llncs} and \bibliographystyle{splncs}, and cite -% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text. - -% Copyright (C) 1999 Jason Noble. -% Last updated: Thursday 20 May 1999, 13:22:19 -% -% Based on the BibTeX standard bibliography style `unsrt' - -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - volume - year - } - {} - { label } - -INTEGERS { output.state before.all mid.sentence after.sentence - after.block after.authors between.elements} - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := - #4 'after.authors := - #5 'between.elements := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { " " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { - output.state after.authors = - { ": " * write$ - newline$ - "\newblock " write$ - } - { output.state between.elements = - { ", " * write$ } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {fin.entry} -{ write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {stupid.colon} -{ after.authors 'output.state := } - -FUNCTION {insert.comma} -{ output.state before.all = - 'skip$ - { between.elements 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checka} -{ empty$ - 'skip$ - 'new.block - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {new.sentence.checka} -{ empty$ - 'skip$ - 'new.sentence - if$ -} - -FUNCTION {new.sentence.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.sentence - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "" swap$ * "" * } - if$ -} - -FUNCTION {bold} -{ duplicate$ empty$ - { pop$ "" } - { "\textbf{" swap$ * "}" * } - if$ -} - -FUNCTION {parens} -{ duplicate$ empty$ - { pop$ "" } - { "(" swap$ * ")" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.springer.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, f{.}.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #1 > - { ", " * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { "" * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " \& " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.springer.names } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.springer.names - editor num.names$ #1 > - { ", eds." * } - { ", ed." * } - if$ - } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } - if$ -} - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {format.date} -{ year empty$ - { "there's no year in " cite$ * warning$ } - 'year - if$ -} - -FUNCTION {format.btitle} -{ title emphasize -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { "Volume" volume tie.or.space.connect - series empty$ - 'skip$ - { " of " * series emphasize * } - if$ - add.period$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { "number" } - { "Number" } - if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edn." * } - { edition "t" change.case$ " edn." * } - if$ - } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "" pages n.dashify tie.or.space.connect } - { "" pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.vol} -{ volume bold -} - -FUNCTION {pre.format.pages} -{ pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { " " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "chapter" } - { type "l" change.case$ } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { " " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { "In: " booktitle emphasize * } - { "In " format.editors * ": " * booktitle emphasize * } - if$ - } - if$ -} - -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Technical Report" } - 'type - if$ - number empty$ - { "t" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.article.crossref} -{ key empty$ - { journal empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * - warning$ - "" - } - { "In {\em " journal * "\/}" * } - if$ - } - { "In " key * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ - editor num.names$ duplicate$ - #2 > - { pop$ " et~al." * } - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " and " * editor #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "In " - } - { "Volume" volume tie.or.space.connect - " of " * - } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { booktitle empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - "" - } - { "" } - if$ - } - { "" } - if$ - } - { "" } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {and.the.note} -{ note output - note empty$ - 'skip$ - { add.period$ } - if$ -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { journal emphasize "journal" output.check - format.vol output - format.date parens output - format.pages output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - and.the.note - fin.entry -} - -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - stupid.colon - format.btitle "title" output.check - new.sentence - crossref missing$ - { format.edition output - format.bvolume output - new.block - format.number.series output - new.sentence - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - } - { format.book.crossref output.nonnull - } - if$ - and.the.note - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - stupid.colon - format.title "title" output.check - howpublished address new.block.checkb - howpublished output - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - stupid.colon - crossref missing$ - { chapter output - new.block - format.number.series output - new.sentence - "In:" output - format.btitle "title" output.check - new.sentence - format.edition output - format.bvolume output - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - } - { chapter output - new.block - format.incoll.inproc.crossref output.nonnull - } - if$ - format.pages output - and.the.note - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - new.block - format.edition output - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - format.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - and.the.note - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - address empty$ - { organization publisher new.sentence.checkb - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - { insert.comma - address output.nonnull - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - format.pages output - and.the.note - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - author empty$ - { organization empty$ - 'skip$ - { organization output.nonnull - address output - } - if$ - } - { format.authors output.nonnull } - if$ - stupid.colon - format.btitle "title" output.check - author empty$ - { organization empty$ - { address new.block.checka - address output - } - 'skip$ - if$ - } - { organization address new.block.checkb - organization output - address empty$ - 'skip$ - { insert.comma } - if$ - address output - } - if$ - new.sentence - format.edition output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - "Master's thesis" format.thesis.type output.nonnull - school empty$ - 'skip$ - { insert.comma } - if$ - school "school" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - howpublished new.block.checka - howpublished output - format.date parens output - and.the.note - fin.entry - empty.misc.check -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.btitle "title" output.check - new.block - "PhD thesis" format.thesis.type output.nonnull - school empty$ - 'skip$ - { insert.comma } - if$ - school "school" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization empty$ - { "" } - { organization output - stupid.colon } - if$ - } - { format.editors output.nonnull - stupid.colon - } - if$ - format.btitle "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - address empty$ - { organization publisher new.sentence.checkb - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - { insert.comma - address output.nonnull - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - and.the.note - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - format.tr.number output.nonnull - institution empty$ - 'skip$ - { insert.comma } - if$ - institution "institution" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - note "note" output.check - format.date parens output - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"January"} - -MACRO {feb} {"February"} - -MACRO {mar} {"March"} - -MACRO {apr} {"April"} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"August"} - -MACRO {sep} {"September"} - -MACRO {oct} {"October"} - -MACRO {nov} {"November"} - -MACRO {dec} {"December"} - -MACRO {acmcs} {"ACM Computing Surveys"} - -MACRO {acta} {"Acta Informatica"} - -MACRO {cacm} {"Communications of the ACM"} - -MACRO {ibmjrd} {"IBM Journal of Research and Development"} - -MACRO {ibmsj} {"IBM Systems Journal"} - -MACRO {ieeese} {"IEEE Transactions on Software Engineering"} - -MACRO {ieeetc} {"IEEE Transactions on Computers"} - -MACRO {ieeetcad} - {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} - -MACRO {ipl} {"Information Processing Letters"} - -MACRO {jacm} {"Journal of the ACM"} - -MACRO {jcss} {"Journal of Computer and System Sciences"} - -MACRO {scp} {"Science of Computer Programming"} - -MACRO {sicomp} {"SIAM Journal on Computing"} - -MACRO {tocs} {"ACM Transactions on Computer Systems"} - -MACRO {tods} {"ACM Transactions on Database Systems"} - -MACRO {tog} {"ACM Transactions on Graphics"} - -MACRO {toms} {"ACM Transactions on Mathematical Software"} - -MACRO {toois} {"ACM Transactions on Office Information Systems"} - -MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} - -MACRO {tcs} {"Theoretical Computer Science"} - -READ - -STRINGS { longest.label } - -INTEGERS { number.label longest.label.width } - -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #1 'number.label := - #0 'longest.label.width := -} - -FUNCTION {longest.label.pass} -{ number.label int.to.str$ 'label := - number.label #1 + 'number.label := - label width$ longest.label.width > - { label 'longest.label := - label width$ 'longest.label.width := - } - 'skip$ - if$ -} - -EXECUTE {initialize.longest.label} - -ITERATE {longest.label.pass} - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{" longest.label * "}" * write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} - - - diff --git a/executable_names/doc/common/Logo_for_papers.ps b/executable_names/doc/common/Logo_for_papers.ps deleted file mode 100644 index 69bfd6c328..0000000000 --- a/executable_names/doc/common/Logo_for_papers.ps +++ /dev/null @@ -1,7246 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: /home/henshaw/reviewAndRelease/Logo_for_papers.ps -%%Creator: XV Version 3.10a Rev: 12/29/94 - by John Bradley -%%BoundingBox: 206 -203 405 997 -%%Pages: 1 -%%DocumentFonts: -%%EndComments -%%EndProlog - -%%Page: 1 1 - -% remember original state -/origstate save def - -% build a temporary dictionary -20 dict begin - -% define string to hold a scanline's worth of data -/pix 199 string def - -% define space for color conversions -/grays 199 string def % space for gray scale line -/npixls 0 def -/rgbindx 0 def - -% lower left corner -206 -203 translate - -% size of image (on paper, in 1/72inch coords) -199.00800 1200.02400 scale - -199 1200 8 % dimensions of data -[199 0 0 -1200 0 1200] % mapping matrix -{currentfile pix readhexstring pop} -image - -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffefc1ffffffffffffffc1c1c1c1c1ffffffffffffffc1c1ffffffffffc1 -e0ffffffffffffd0c1c1c1c1d0ffffffffffffd0c1ffffffffffc1c1ffffffffffffefc1 -c1c1c1c1ffffffffffffc1c1efffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f9f91515cef9f9f9b31515f9f9f9f9f9f9231515151540f9f9f9f9f9f9 -f9f9f9f9f91515151515156af9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f98787f9f9f9ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffff9292ffffffffffffffffffffffffffffffff151515ffffffff -ff6415151515151515ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f9f91515f9f9f9f94f1540f9f9f9f9f92315154f23151587f9f9f9f9f9 -f9f9f9f9f91515151515151523f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f91515f9f9f9ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffd01554ffffffffffffffffffffffffffffff73151592ffffffff -ff1515151515151515ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f9961515f9f9f9f91515cef9f9f9f9f91515f9f9f9f91515f9f9f9f9f9 -f9f9f9f9961515f9f9f9eb1515f9f9f9f9a487cef9f9f9f9f9f9b387b3f9f9f9f9f9b387 -a4f9f9f9f9f9f9f987c1eb1515f9f9f9ffffff92a2ffffe092ffffffffffc192d0ffffff -ffffffffc192ffffffff4515e0ffffffffffffffffa292ffffffffff1515ffffffffffff -ff1515ffffffffffffffffffffe09292ffffffffffa292f1ffffffffffffff92f1ffc192 -ffffffffffffffffffffffffffffffffffffff -fffffffffff9f9f940154ff9f9f9f91515f9f9f9f9f9f91515cef9f9f9f9f9f9f9f9f9f9 -f9f9f9f9401515f9f9f9f91515f9f987151515156af9f932157915151579f9f9eb151515 -1515f9f95c15ce15151515151515eb2315b1151515f115151515ffffff2515151515ffff -ff151515151515ffff1515151515ffffffffffe01515151515ffff1515151554ffffffff -f11515ffffffffffffff2515b115151554ffffff1515151515ffff2515c11515ff151515 -15a21515921583ffffb11534ffffffffffffff -fffffffffff9f9f91515ebf9f9f9961515f9f9f9f9f9f9a41515151532f9f9f9f9f9f9f9 -f9f9f9f9151515f9f9f9f91515f9eb1515f9f9871587f915156af9f91515ebf91515f9f9 -b31596f915151596c1f9151532f9f9151545ff641515b1ff1515d0ff1515ffffd01515ff -ff1515ffff1515ffffff1515ffffffffffffff1515ffff2515c1ff921515ffffffffffff -5415151515151515ffff151545ffff1515ffd01525ffff5415d0ff151515b1d0151573ff -ff151564ff1515ffff1515ffffffffffffffff -fffffffffff9f9f91515f9f9f9f932154ff9f9f9f9f9f9f9f91515151540f9f9f9f9f9f9 -f9f9f9f915155cf9f9f9f91515f92315ebf9f9f91515f91515f9f9f94f15c1f9f9f9f9f9 -4015cef91515ebf9f9f9151596f9f91515ffff921545ffff1515ffff1515ffffff1515ff -921534ffff1515ffffff1515ffffffffffff731573ffff921573ff251515ffffffffffff -1515151515151515ffff1515ffffff1515ff1515ffffffd01554ff1515ffffff1515ffff -ff1515d0ff1515ff541525ffffffffffffffff -fffffffffff9f9871515f9f9f9f91515ebf9f9f9f9f9c1c1f9f9f9eb1515f9f9f9f9f9f9 -f9f9f9f91515f9f9f9f9c11515f9151515151515154f7915b3f9f9f91515f9ce15151523 -1515f9f91515f9f9f9f91515f9f9f91515ffff1515ffffff1515ffd015151515151515ff -1515ffffff1515ffffff1515ffffffffffff1515ffffff731592ff151592ffffffffffff -1515ffffffffffffff8315a2ffff921592ff1515151515151592ff1515ffff921592ffff -ff1515ffff1515ff1515ffffffffffffffffff -fffffffffff9f94f1515f9f9f9f91515f9f9f9f9f9f91515f9f9f9f91515f9f9f9f9f9f9 -f9f9f9f91515f9f9f9eb15154ff91515f9f9f9f9f9f91515c1f9f9f91515f91515f9f9f9 -1515f9f91515f9f9f9f91515f9f9f91515ffff1515ffffff1515ffc11592ffffffffffff -1515ffffff1515ffffb11564ffffffffffff1515ffffff1515ffff1515ffffffffffffff -1515ffffffffffffff1515ffffff2515f1ff1515ffffffffffffff1515ffff921583ffff -ff1515ffff6415f115d0ffffffffffffffffff -fffffffffff9f9eb1515152315151532f9f91515f9f93215158787151523f9151523f9f9 -f9f9f979151515151515156af9f932154feb401523f9151515cea41515cef91515f9f915 -1596f9a4156af9f9f9c1151587f96a15aaffff1515ffffff1515ffff1515f1e01515d0f1 -1534ffffff1515ffff151545b1ffffffffff641515ff641515ffff1515ffffffffffffff -1515151515151564ff1515ffffff1515ffff151573ff251515ff7315b1ffffff15151534 -151583fffff1151573ffffffffffffffffffff -f9f9f9f9f9f9f9f9a4151515151523f9f9f91515f9f9f9151515151515f9f9151587f9f9 -f9f9f9151515151515156af9f9f9f91515151515f9f915151515151515f9f91515151532 -15c1f94f15c1f9f9f9f9151515f91515f9f9f91515f9f9ce1532f9f9151515151573ff92 -1592ffff921583ffff731515b1ffffffffffff1515151515ffffff1515ffffffffffffd0 -15151515151515d0ff1515ffffff1515ffffff1515151515e0ff1515ffffffffe0151515 -4515e0ffffff1515ffffffffffffffffffffff -f9f9f9f9f9f9f9f9f9eb874f4fb3f9f9f9ebc1c1f9f9f9f9a44f4fa4f9f9f9c1c1ebf9f9 -f9f9f9c1c1c1c1c1ebf9f9f9f9f9f9f9874f96f9f9f91515f9965ccef9f9f9f9965cc1ce -c1ebf9c1c1f9f9f9f9f9b38787f9c1c1f9f9f9c1c1f9f9ddc1ddf9f9ffe05483ffffffd0 -d0ffffffe0d0ffffffff9292ffffffffffffffffa254a2fffffff1d0e0fffffffffffff1 -d0d0d0d0d0d0d0ffffd0d0ffffffd0d0ffffffff9254b1ffffffd0d0ffffffffffffffff -1515ffffffff1515ffffffffffffffffffffff -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9dd1532f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff151573d054 -1515ffff151515ffffffffffffffffffffffff -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9791596f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff15151515 -25ffff921515ffffffffffffffffffffffffff -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefef9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefef9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefef9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe15151515151515151515151515151515151515151515151515f9f9f9 -f915151515151515151515151515151515151515151515151515c1f9f9f9f91515151515 -15151515151515151515151515151515151515154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe15151515151515151515151515151515151515151515151515f9f9f9 -f915151515151515151515151515151515151515151515151515c1f9f9f9f91515151515 -15151515151515151515151515151515151515154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9cff9e2f9eef9f9f6f9e2f9cff9e2f9f6f9f9f6f91515f9f9f9 -f91515f9eef9cff9d7f9eef9f9f6f9eef9cff9e2f9eef9f94a15c1f9f9f9f91515f9f9f6 -f9e2f9d7f9e2f9f6f9f9eef9ccf9d7f9eef987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9eef91515f9f9f9 -f91515f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f94315c1f9f9f9f91515f9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9c4f9dcf9e7f9f9f2f9dcf9c4f9dcf9f2f9f9f2f91515f9f9f9 -f91515f9e7f9c4f9ccf9e7f9f9f2f9e7f9c4f9dcf9e7f9f94715c1f9f9f9f91515f9f9f2 -f9dcf9ccf9dcf9f2f9f9e7f9c0f9ccf9e7f987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf6d154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515eee2eaf2eef6f6f9f9f2f2eae2eaf2f2f9f9f6f9f21515f9f9f9 -f91515f6f6eee2eaeaeef6f6f9f9f6f6eee2eaf2eef6f6f94f15c1f9f9f9f91515f9f6f9 -f2f2eaeaeef2f2f9f9f6f6eedfeaeaeef6f687154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515d4f9cff9d4f9e7eef6dcf9cff9cff9dcf6eee7f6dc1515f9f9f9 -f91515e7f9d4f9cff9d4f9e7eeeee7f9d4f9cff9d4f9e7ee4f15c1f9f9f9f91515eee7f6 -dcf9cff9d4f9dcf6eee7f9d4f9cff9d4f9e77c154ffefefefefefefefeffffd0251525d0 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515cff9ccf9cff9e2eef6d7f9ccf9ccf9d7f6eee2f6d71515f9f9f9 -f91515e2f9cff9ccf9cff9e2eeeee2f9cff9ccf9cff9e2ee4f15c1f9f9f9f91515eee2f6 -d7f9ccf9cff9d7f6eee2f9cff9ccf9cff9e27c154ffefefefefefefefeffffff921592ff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f2dfeeeef2f6f9f9f9f6eeeedfeeeef6f9f9f9f9f61515f9f9f9 -f91515f9f6f2dfeee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f94f15c1f9f9f9f91515f9f9f9 -f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f987154ffefefefefefefefeffffff921592ff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf6d154ffefefefefefefefeffffff921592ff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9cff9e2f9eef9f9f6f9e2f9cff9e2f9f6f9f9f6f91515f9f9f9 -f91515f9eef9cff9d7f9eef9f9f6f9eef9cff9e2f9eef9f94a15c1f9f9f9f91515f9f9f6 -f9e2f9d7f9e2f9f6f9f9eef9ccf9d7f9eef987154ffefefefefefefefeffffff921592ff -fffffffffffff145d0921515fffff115b1ffffff92e0ffffff1564ff151515ff1515ffff -15ffffa215ffff1515ff15541515ffffffff8325d0b115d0ffa225ffff1525ffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffff921592ff -ffffffffffff92ffffff7315ffffff1573ffffff1525ffffff15ffffffff1525ff73ff25 -f1ffffff15a2ffff1545ffffff1525ffffff15ffffff92ffff15ffffffb115ffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9eef91515f9f9f9 -f91515f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f94315c1f9f9f9f91515f9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff987154ffefefefefefefefeffffff921592ff -ffffffffffffffffffffe015fffffff115ffff73f115f1ffffe0ffffffff15fffffff115 -ffffffff5415ffff15ffffffff1515ffff15e0ffffffffffb115ffffffff15ffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffff921592ff -ffffffffffffff641554ff15ffffffff15f1ff15ff1534ffd0ffffffffff15ffffff9215 -5454545454a2ffff15ffffffff1515ffff15ffffffffffff54155454545454ffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9d4f9e7f9eef9f9f6f9e7f9d4f9e7f9f6f9f9f6f91515f9f9f9 -f91515f9eef9d4f9dcf9eef9f9f6f9eef9d4f9e7f9eef9f94a15c1f9f9f9f91515f9f9f6 -f9e7f9dcf9e7f9f6f9f9eef9cff9dcf9eef987154ffefefefefefefefeffffff921592ff -ffffffffffff34a2ffffff15ffffffff1564ffd0ff4515ff25ffffffffff15ffffff9215 -ffffffffffffffff15ffffffff1515ffff15c1ffffffffff5415ffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515c4f9c0f9c4f9dce7f2ccf9c0f9c0f9ccf2e7dcf2cc1515f9f9f9 -f91515dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce74f15c1f9f9f9f91515e7dcf2 -ccf9c0f9c4f9ccf2e7dcf9c4f9c0f9c4f9dc74154ffefefefefefefefeffffff921592ff -fffffff192ff15ffffffff15ffffffff251554ffffff15f1b1ffffffffff15ffffffff15 -a2ffffffffffffff15ffffffff1515ffff2515ffffffffffff15e0ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515dfe2dcf2dff6eef6f9e7f2dce2dcf2e7f9f6eef9e71515f9f9f9 -f91515eef6dfe2dceadff6eef6f6eef6dfe2dcf2dff6eef64f15c1f9f9f9f91515f6eef9 -e7f2dceadff2e7f9f6eef6dfdfdceadff6ee84154ffefefefefefefefeffffff641592ff -ffffff64d0ff15e0ffff8315ffffffffc11525ffffff4515ffffffffffff15ffffffff54 -15e0ffffffd0ffff15ffffffff1515ffffff1545ffffffffff1515ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515d4f9cff9d4f9e7eef6dcf9cff9cff9dcf6eee7f6dc1515f9f9f9 -f91515e7f9d4f9cff9d4f9e7eeeee7f9d4f9cff9d4f9e7ee4f15c1f9f9f9f91515eee7f6 -dcf9cff9d4f9dcf6eee7f9d4f9cff9d4f9e77c154ffefefefefefefefeffffff54545454 -54545454ffffff1534ffff5454ffffffff15ffffffffff83ffffffff5454545483ffffff -d0251525c1ffff54545454ffff545454ffffff541515c1ffffffb1151583ffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515cff9ccf9cff9e2eef6d7f9ccf9ccf9d7f6eee2f6d71515f9f9f9 -f91515e2f9cff9ccf9cff9e2eeeee2f9cff9ccf9cff9e2ee4f15c1f9f9f9f91515eee2f6 -d7f9ccf9cff9d7f6eee2f9cff9ccf9cff9e27c154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f2dfeeeef2f6f9f9f9f6eeeedfeeeef6f9f9f9f9f61515f9f9f9 -f91515f9f6f2dfeee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f94f15c1f9f9f9f91515f9f9f9 -f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf6d154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9c0f9d7f9e7f9f9f2f9d7f9c0f9d7f9f2f9f9f2f91515f9f9f9 -f91515f9e7f9c0f9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f94715c1f9f9f9f91515f9f9f2 -f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7f987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9eef91515f9f9f9 -f91515f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f94315c1f9f9f9f91515f9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9d4f9e7f9eef9f9f6f9e7f9d4f9e7f9f6f9f9f6f91515f9f9f9 -f91515f9eef9d4f9dcf9eef9f9f6f9eef9d4f9e7f9eef9f94a15c1f9f9f9f91515f9f9f6 -f9e7f9dcf9e7f9f6f9f9eef9cff9dcf9eef987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515c4f9c0f9c4f9dce7f2ccf9c0f9c0f9ccf2e7dcf2cc1515f9f9f9 -f91515dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce74f15c1f9f9f9f91515e7dcf2 -ccf9c0f9c4f9ccf2e7dcf9c4f9c0f9c4f9dc74154ffefefefefefefefeffff1515151515 -ffffffffffffff45ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515dff2dcf9dff9eef6f9e7f9dcf2dcf9e7f9f6eef9e71515f9f9f9 -f91515eef9dff2dcf6dff9eef6f6eef9dff2dcf9dff9eef64f15c1f9f9f9f91515f6eef9 -e7f9dcf6dff9e7f9f6eef9dfeedcf6dff9ee84154ffefefefefefefefeffffff541573ff -ffffffffffffd015a2ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515e2eedff6e2f9f2f6f9eaf6dfeedff6eaf9f6f2f9ea1515f9f9f9 -f91515f2f9e2eedff2e2f9f2f6f6f2f9e2eedff6e2f9f2f64f15c1f9f9f9f91515f6f2f9 -eaf6dff2e2f6eaf9f6f2f9e2eadff2e2f9f284154ffefefefefefefefeffffff921592ff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515c0f9bcf9c0f9d7e7f2c8f9bcf9bcf9c8f2e7d7f2c81515f9f9f9 -f91515d7f9c0f9bcf9c0f9d7e7e7d7f9c0f9bcf9c0f9d7e74f15c1f9f9f9f91515e7d7f2 -c8f9bcf9c0f9c8f2e7d7f9c0f9bcf9c0f9d774154ffefefefefefefefeffffff921592ff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f2cfeee2f2eef9f9f6f6e2eecfeee2f6f6f9f9f6f61515f9f9f9 -f91515f9eef2cfeed7f2eef9f9f6f9eef2cfeee2f2eef9f94a15c1f9f9f9f91515f9f9f6 -f6e2eed7f2e2f6f6f9f9eef2cceed7f2eef987154ffefefefefefefefeffffff921592ff -ffffffffffe08315d0ff34151515ffff151515ffffff34924525ffffd08315ff1515ffc1 -152573151525ffb1151515ffffffffff15736415d0ffffd08315ff1515ffff9234831534 -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf6d154ffefefefefefefefeffffff921592ff -ffffffffffffff15d0ffffb115ffffffff15e0ffff15ffffff1515fffff115d05415ffff -1545c1fff11554b1ffa215b1ffffff25ffffffff15c1fffff115d05415ffc183ffffff15 -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9c0f9d7f9e7f9f9f2f9d7f9c0f9d7f9f2f9f9f2f91515f9f9f9 -f91515f9e7f9c0f9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f94715c1f9f9f9f91515f9f9f2 -f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7f987154ffefefefefefefefeffffff921592ff -ffffffffffffff15ffffffff1545ffffe054ffff7345ffffff9215ffffff15ffffffffff -1515ffffff1515ffffff5415ffff2515ffffffff1515ffffff15ffffffff15ffffffff54 -15ffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffff921592ff -ffffffffffffff15ffffffff1515ffff25ffffff15255492925415ffffff15ffffffffff -1545ffffff1515ffffff9215ffff1515ffffffff5415ffffff15ffffffd0155492929234 -15ffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f93f15c1f9f9f9f91515f9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf987154ffefefefefefefefeffffff921592ff -ffffffffffffff15ffffffffff15ffffb1ffffff1545ffffffffffffffff15ffffffffff -1554ffffff1515ffffff9215ffff1515ffffffff9215ffffff15ffffff9215ffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf6d154ffefefefefefefefeffffff921592ff -ffffffff73ffff15d0ffffffff1573f1ffffffff3415ffffffffffffffff15ffffffffff -1554ffffff1515ffffff9215ffff1515ffffffff5415ffffff15fffffff115ffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515eee2eaf2eef6f6f9f9f2f2eae2eaf2f2f9f9f6f9f21515f9f9f9 -f91515f6f6eee2eaeaeef6f6f9f9f6f6eee2eaf2eef6f6f94f15c1f9f9f9f91515f9f6f9 -f2f2eaeaeef2f2f9f9f6f6eedfeaeaeef6f687154ffefefefefefefefeffffff921592ff -ffffffb1b1ffff15d0fffffffff11525fffffffff115b1ffffffffffffff15ffffffffff -1515ffffff1515ffffff6415ffff9215ffffffff1554ffffff15ffffffff1525ffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515c4f9c0f9c4f9dce7f2ccf9c0f9c0f9ccf2e7dcf2cc1515f9f9f9 -f91515dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce74f15c1f9f9f9f91515e7dcf2 -ccf9c0f9c4f9ccf2e7dcf9c4f9c0f9c4f9dc74154ffefefefefefefefeffffff15151515 -15151515ffb183154592ffffffff15b1ffffffffff9215151515b1ff92641545b1ffff92 -151592ff92151592ffff541592ffffe01573e045ffffff92641545b1ffffff1515151515 -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515dff2dcf9dff9eef6f9e7f9dcf2dcf9e7f9f6eef9e71515f9f9f9 -f91515eef9dff2dcf6dff9eef6f6eef9dff2dcf9dff9eef64f15c1f9f9f9f91515f6eef9 -e7f9dcf6dff9e7f9f6eef9dfeedcf6dff9ee84154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffd0e0ffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffd0d0ffffffffffffffffffffffffffffd0ffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515e2eedff6e2f9f2f6f9eaf6dfeedff6eaf9f6f2f9ea1515f9f9f9 -f91515f2f9e2eedff2e2f9f2f6f6f2f9e2eedff6e2f9f2f64f15c1f9f9f9f91515f6f2f9 -eaf6dff2e2f6eaf9f6f2f9e2eadff2e2f9f284154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515c0f9bcf9c0f9d7e7f2c8f9bcf9bcf9c8f2e7d7f2c81515f9f9f9 -f91515d7f9c0f9bcf9c0f9d7e7e7d7f9c0f9bcf9c0f9d7e74f15c1f9f9f9f91515e7d7f2 -c8f9bcf9c0f9c8f2e7d7f9c0f9bcf9c0f9d774154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9cff9e2f9eef9f9f6f9e2f9cff9e2f9f6f9f9f6f91515f9f9f9 -f91515f9eef9cff9d7f9eef9f9f6f9eef9cff9e2f9eef9f94a15c1f9f9f9f91515f9f9f6 -f9e2f9d7f9e2f9f6f9f9eef9ccf9d7f9eef987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9eef91515f9f9f9 -f91515f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f94315c1f9f9f9f91515f9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f93f15c1f9f9f9f91515f9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf6d154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffd07354ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515eee2eaf2eef6f6f9f9f2f2eae2eaf2f2f9f9f6f9f21515f9f9f9 -f91515f6f6eee2eaeaeef6f6f9f9f6f6eee2eaf2eef6f6f94f15c1f9f9f9f91515f9f6f9 -f2f2eaeaeef2f2f9f9f6f6eedfeaeaeef6f687154ffefefefefefefefeffffd0151515ff -ffffffffffb115d0ffffffffffffffffffffffffffffffffa215ffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffd01592ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515d4f9cff9d4f9e7eef6dcf9cff9cff9dcf6eee7f6dc1515f9f9f9 -f91515e7f9d4f9cff9d4f9e7eeeee7f9d4f9cff9d4f9e7ee4f15c1f9f9f9f91515eee7f6 -dcf9cff9d4f9dcf6eee7f9d4f9cff9d4f9e77c154ffefefefefefefefeffffff92731545 -ffffffffffff15ffffffffffffffffffffffff1515ffffffff92ffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffff1592ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515cff9ccf9cff9e2eef6d7f9ccf9ccf9d7f6eee2f6d71515f9f9f9 -f91515e2f9cff9ccf9cff9e2eeeee2f9cff9ccf9cff9e2ee4f15c1f9f9f9f91515eee2f6 -d7f9ccf9cff9d7f6eee2f9cff9ccf9cff9e27c154ffefefefefefefefeffffff92d07315 -b1ffffffffff15ffffffffffffffffffffffff1515ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffff1592ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f2dfeeeef2f6f9f9f9f6eeeedfeeeef6f9f9f9f9f61515f9f9f9 -f91515f9f6f2dfeee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f94f15c1f9f9f9f91515f9f9f9 -f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f987154ffefefefefefefefeffffff92d0ff25 -15ffffffffff15ffffffffff5454ffffffffff1554ffffffff73ffffffffff831554ffff -ffffffb1fff15473ffffffffffff6454e0ffffffff1592ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf6d154ffefefefefefefefeffffff92d0ffff -1515ffffffff15ffffff5445d03415d0ffff7315151515151515ffffffff15ffffd015e0 -ff151515ff15541515ffffffa273d0731554ffffff1592ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9cff9e2f9eef9f9f6f9e2f9cff9e2f9f6f9f9f6f91515f9f9f9 -f91515f9eef9cff9d7f9eef9f9f6f9eef9cff9e2f9eef9f94a15c1f9f9f9f91515f9f9f6 -f9e2f9d7f9e2f9f6f9f9eef9ccf9d7f9eef987154ffefefefefefefefeffffff92d0ffff -ff1515ffffff15ffffff73ffffff1515ffffff1554ffffffff15ffffff15ffffffff3415 -ffff5415e0ffffff15ffffff73ffffff5415ffffff1592ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffff92d0ffff -ffb11573ffff15ffffffffffffff1515ffffff1554ffffffff15ffff9215ffffffffd015 -ffff9215ffffffff15d0ffffffffffff7315ffffff1592ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9eef91515f9f9f9 -f91515f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f94315c1f9f9f9f91515f9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff987154ffefefefefefefefeffffff92d0ffff -ffffff1525ff15ffffff3415ffff1515ffffff1554ffffffff15ffff4515ffffffffff15 -ffff9215ffffffff15d0ffff8325f1ff9215ffffff1592ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffff9292ffff -ffffff1515ff15ffffff15ffffff1515ffffff1554ffffffff15ffff5415ffffffffff15 -ffff9215ffffffff15d0ffff15ffffff9215ffffff1592ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f93f15c1f9f9f9f91515f9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf987154ffefefefefefefefeffffff9292ffff -ffffffff451515ffffff15ffffff1515ffffff1554ffffffff15ffffff15a2ffffff9215 -ffff5415ffffffff15d0ff9215ffffff1515ffffff1592ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515c4f9c0f9c4f9dce7f2ccf9c0f9c0f9ccf2e7dcf2cc1515f9f9f9 -f91515dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce74f15c1f9f9f9f91515e7dcf2 -ccf9c0f9c4f9ccf2e7dcf9c4f9c0f9c4f9dc74154ffefefefefefefefeffffff4573ffff -ffffffffff1515ffffff152592251515ffffff15159273fff115ffffffb115f1ffff15ff -ffff4515ffffffff15c1fff1155492259215ffffff1564ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515dff2dcf9dff9eef6f9e7f9dcf2dcf9e7f9f6eef9e71515f9f9f9 -f91515eef9dff2dcf6dff9eef6f6eef9dff2dcf9dff9eef64f15c1f9f9f9f91515f6eef9 -e7f9dcf6dff9e7f9f6eef9dfeedcf6dff9ee84154ffefefefefefefefeffff54545454ff -ffffffffffb115ffffff8315a2ff545454fffff11545ff54545454ffffff64151525ffff -ff54545454e0ffff545454ffc11564ffb15454ff54545454ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515d4eecff6d4f9e7eef6dcf6cfeecff6dcf6eee7f6dc1515f9f9f9 -f91515e7f9d4eecff2d4f9e7eeeee7f9d4eecff6d4f9e7ee4f15c1f9f9f9f91515eee7f6 -dcf6cff2d4f6dcf6eee7f9d4eacff2d4f9e77c154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515cff9ccf9cff9e2eef6d7f9ccf9ccf9d7f6eee2f6d71515f9f9f9 -f91515e2f9cff9ccf9cff9e2eeeee2f9cff9ccf9cff9e2ee4f15c1f9f9f9f91515eee2f6 -d7f9ccf9cff9d7f6eee2f9cff9ccf9cff9e27c154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f2dfeeeef2f6f9f9f9f6eeeedfeeeef6f9f9f9f9f61515f9f9f9 -f91515f9f6f2dfeee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f94f15c1f9f9f9f91515f9f9f9 -f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf6d154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9c0f9d7f9e7f9f9f2f9d7f9c0f9d7f9f2f9f9f2f91515f9f9f9 -f91515f9e7f9c0f9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f94715c1f9f9f9f91515f9f9f2 -f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7f987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f93f15c1f9f9f9f91515f9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf987154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f93f15c1f9f9f9f91515f9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf987154ffefefefefefefefeffffd0251525d0 -fffffffffffffffffffffffffff19215ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515c4f9c0f9c4f9dce7f2ccf9c0f9c0f9ccf2e7dcf2cc1515f9f9f9 -f91515dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce74f15c1f9f9f9f91515e7dcf2 -ccf9c0f9c4f9ccf2e7dcf9c4f9c0f9c4f9dc74154ffefefefefefefefeffffff921592ff -ffffffffffffffffffffffffffffff15ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffe015ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515dff2dcf9dff9eef6f9e7f9dcf2dcf9e7f9f6eef9e71515f9f9f9 -f91515eef9dff2dcf6dff9eef6f6eef9dff2dcf9dff9eef64f15c1f9f9f9f91515f6eef9 -e7f9dcf6dff9e7f9f6eef9dfeedcf6dff9ee84154ffefefefefefefefeffffff921592ff -ffffffffffffffffffffffffffffff15ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffff1554ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515e2eedff6e2f9f2f6f9eaf6dfeedff6eaf9f6f2f9ea1515f9f9f9 -f91515f2f9e2eedff2e2f9f2f6f6f2f9e2eedff6e2f9f2f64f15c1f9f9f9f91515f6f2f9 -eaf6dff2e2f6eaf9f6f2f9e2eadff2e2f9f284154ffefefefefefefefeffffff921592ff -ffffffffffffffffffffffffffffff15ffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffff1592ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515c0f9bcf9c0f9d7e7f2c8f9bcf9bcf9c8f2e7d7f2c81515f9f9f9 -f91515d7f9c0f9bcf9c0f9d7e7e7d7f9c0f9bcf9c0f9d7e74f15c1f9f9f9f91515e7d7f2 -c8f9bcf9c0f9c8f2e7d7f9c0f9bcf9c0f9d774154ffefefefefefefefeffffff921592ff -ffffffffffffff34151515c1ffffff15ff64151515ffffffff6425921515ffffffb11554 -7315d0ffff34151515ffffffff1573d092ffffb145921515ffffff9225d0e01554151515 -34ffff151515ffffffffffffffffffffffffff -fefefefefefefefe1515f9cff9e2f9eef9f9f6f9e2f9cff9e2f9f6f9f9f6f91515f9f9f9 -f91515f9eef9cff9d7f9eef9f9f6f9eef9cff9e2f9eef9f94a15c1f9f9f9f91515f9f9f6 -f9e2f9d7f9e2f9f6f9f9eef9ccf9d7f9eef987154ffefefefefefefefeffffff921592ff -ffffffffffff92ffffff7315ffffff1545ffffff2515ffff25fffffffff115ffffff1534 -ffffffff92ffffff7315ffffff1592ffffff1592ffffff7315ffffff1545ffe092ff7315 -ffffffff34ffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffff921592ff -ffffffffffffffffffffff15ffffff15ffffffffff15f1ff15ffffffffff1534ffff1515 -ffffffffffffffffff15ffffff1592ffffff15ffffffffff15b1ffff1583ffffffffff15 -fffffff1ffffffffffffffffffffffffffffff -fefefefefefefefe1515f9c0f9d7f9e7f9f9f2f9d7f9c0f9d7f9f2f9f9f2f91515f9f9f9 -f91515f9e7f9c0f9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f94715c1f9f9f9f91515f9f9f2 -f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7f987154ffefefefefefefefeffffff921592ff -ffffffffffffff641554ff15ffffff15ffffffffff15d09215ffffffffff1515ffff1554 -ffffffffff641592ff15ffffff1592ffffff15ffffffffff1554ffff15d0ffffffffff83 -15ffff15ffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefeffffff921592ff -ffffffffffff34a2ffffff15ffffff15ffffffffff15ff9215ffffffffff1515ffff1554 -ffffffff34a2ffffff15ffffff1592ffffff15ffffffffff1554ffff15d0ffffffffffff -15fff183ffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f93f15c1f9f9f9f91515f9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf987154ffefefefefefefefeffffff921592ff -fffffff192ff15ffffffff15ffffff15ffffffffe092ffff15d0ffffffff15d0ffff1554 -ffffffff15ffffffff15ffffff1592ffffff1554ffffffff15ffffff15d0ffffffffffff -151515ffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf6d154ffefefefefefefefeffffff641592ff -ffffff64d0ff15e0ffff8315ffffff15a2ffffff15ffffff3415ffffffff25ffffff1554 -ffffffff15e0ffd08315ffffff1534ffffff1515ffffffd015ffffff15d0ffffffffffff -5415b1fffefefefefefefefefefefefefefefe -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f93f15c1f9f9f9f91515f9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf987154ffefefefefefefefeffffff54545454 -54545454ffffff1534ffff5454ffd0ff341515ffffffffffff73151515d0ffffe0545454 -54ffffffff1534ffff5454ffffd01515ffffffc1151534ffffffff54545454ffffffffff -ff15fffffefefefefefefefefefefefefefefe -fefefefefefefefe1515d4f9cff9d4f9e7eef6dcf9cff9cff9dcf6eee7f6dc1515f9f9f9 -f91515e7f9d4f9cff9d4f9e7eeeee7f9d4f9cff9d4f9e7ee4f15c1f9f9f9f91515eee7f6 -dcf9cff9d4f9dcf6eee7f9d4f9cff9d4f9e77c154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ff15fffffefefefefefefefefefefefefefefe -fefefefefefefefe1515cff2ccf9cff9e2eef6d7f9ccf2ccf9d7f6eee2f6d71515f9f9f9 -f91515e2f9cff2ccf6cff9e2eeeee2f9cff2ccf9cff9e2ee4f15c1f9f9f9f91515eee2f6 -d7f9ccf6cff9d7f6eee2f9cfeeccf6cff9e27c154ffefefefefefefefeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0b1fffffefefefefefefefefefefefefefefe -fefefefefefefefe1515e2eedff6e2f9f2f6f9eaf6dfeedff6eaf9f6f2f9ea1515f9f9f9 -f91515f2f9e2eedff2e2f9f2f6f6f2f9e2eedff6e2f9f2f64f15c1f9f9f9f91515f6f2f9 -eaf6dff2e2f6eaf9f6f2f9e2eadff2e2f9f284154ffefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefeffffff -23fffffffefefefefefefefefefefefefefefe -fefefefefefefefe1515c0f9bcf9c0f9d7e7f2c8f9bcf9bcf9c8f2e7d7f2c81515f9f9f9 -f91515d7f9c0f9bcf9c0f9d7e7e7d7f9c0f9bcf9c0f9d7e74f15c1f9f9f9f91515e7d7f2 -c8f9bcf9c0f9c8f2e7d7f9c0f9bcf9c0f9d774154ffefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe6a5c32 -ebf9f9f9fefefefefefefefefefefefefefefe -fefefefefefefefe1515f9cff9e2f9eef9f9f6f9e2f9cff9e2f9f6f9f9f6f91515f9f9f9 -f91515f9eef9cff9d7f9eef9f9f6f9eef9cff9e2f9eef9f94a15c1f9f9f9f91515f9f9f6 -f9e2f9d7f9e2f9f6f9f9eef9ccf9d7f9eef987154ffefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefef9c1f9 -f9f9f9f9fefefefefefefefefefefefefefefe -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefe -fefefefefefefefe1515f9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9eef91515f9f9f9 -f91515f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f94315c1f9f9f9f91515f9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff987154ffefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefe -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9cc69154ffefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefe -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f93f15c1f9f9f9f91515f9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf987154ffefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefe -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf6d154ffefefefefefefefef9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fefefefefefe -fefefefefefefefefefefefefefefefefefefe -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f93f15c1f9f9f9f91515f9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9871515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -15f9f9f9fefefefefefefefefefefefefefefe -fefefefefefefefe1515d4f9cff9d4f9e7eef6dcf9cff9cff9dcf6eee7f6dc1515f9f9f9 -f91515e7f9d4f9cff9d4f9e7eeeee7f9d4f9cff9d4f9e7ee4f15c1f9f9f9f91515eee7f6 -dcf9cff9d4f9dcf6eee7f9d4f9cff9d4f9e77c1515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -fffffef9fefefefefefefefefefefefefefefe -fefefefefefefefe1515cff9ccf9cff9e2eef6d7f9ccf9ccf9d7f6eee2f6d71515f9f9f9 -f91515e2f9cff9ccf9cff9e2eeeee2f9cff9ccf9cff9e2ee4f15c1f9f9f9f91515eee2f6 -d7f9ccf9cff9d7f6eee2f9cff9ccf9cff9e2d2bcb5c1a5c1a2c1a5c1b5bcc1adc1a5c1a2 -c1adc1bcb5c1adc1a2c1a5c1adc1bcb5c1a5c1a2c1a5c1b5bcbcb5c1a5c1a2c1a5c1b5bc -c1adc1a5c1a2c1adc1b5bcc1adc1a2c1a5c1adc1bcb5c1a5c1a2c1a5c1b5bcbc34151543 -fffffffffefefefefefefefefefefefefefefe -fefefefefefefefe1515f2dfeeeef2f6f9f9f9f6eeeedfeeeef6f9f9f9f9f61515f9f9f9 -f91515f9f6f2dfeee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f94f15c1f9f9f9f91515f9f9f9 -f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f9f9f6eef2dfee -eef6f9f9f9f9f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f9 -f9f6eef2dfeeeef6f9f9f9f9f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f9f9151515ffff -fffffffffffffefefefefefefefefefefefefe -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f15c1f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfeec0f9bcf9bc -f9c0eedfcfeec0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf -eec0f9bcf9bcf9c0eecfdfeec0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf581515ffffff -fffffffffffffffffefefefefefefefefefefe -fefefefefefefefe1515f9c0f9d7f9e7f9f9f2f9d7f9c0f9d7f9f2f9f9f2f91515f9f9f9 -f91515f9e7f9c0f9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f94715c1f9f9f9f91515f9f9f2 -f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f9f2f9d7f9c0f9 -d7f9f2f9f9f2f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f9 -f2f9d7f9c0f9d7f9f2f9f9f2f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7151515ffffffff -fffffffffffffffffffffefefefefefefefefe -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bc -f9bceadccceabcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc -eabcf9bcf9bcf9bceaccdceabcf9bcf9bcf9bceadcccf9bcf9bcf9bc6a1515ffffffffff -fffffffffffffffffffffffefefefefefefefe -fefefefefefefefe1515f9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9eef91515f9f9f9 -f91515f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f94315c1f9f9f9f91515f9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9eef9cff9bcf9 -cff9eef9f9eef9cff9c0f9cff9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9 -eef9cff9bcf9cff9eef9f9eef9cff9c0f9cff9eef9f9dff9bcf9c0151515ffffffffffff -fffffffffffffffffffffffffffefefefefefe -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc4f15c1f9f9f9f91515dcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bc -f9bceadccceabcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc -eabcf9bcf9bcf9bceaccdceabcf9bcf9bcf9bceadcccf9bcf9bc6a1515ffffffffffffff -fffffffffffffffffffffffffffefefefefefe -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f93f15c1f9f9f9f91515f9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9 -ccf9eaf9f9eaf9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9 -eaf9ccf9bcf9ccf9eaf9f9eaf9ccf9bcf9ccf9eaf9f9dcf9bc151515ffffffffffffffff -fffffffffffffffffffffffffefefefefefefe -fefefefefefefefe1515c4f9c0f9c4f9dce7f2ccf9c0f9c0f9ccf2e7dcf2cc1515f9f9f9 -f91515dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce74f15c1f9f9f9f91515e7dcf2 -ccf9c0f9c4f9ccf2e7dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce7f2ccf9c4f9c0 -f9ccf2e7dcf2ccf9c0f9c4f9ccf2e7dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce7 -f2ccf9c4f9c0f9ccf2dce7f2ccf9c0f9c4f9ccf2e7dcf9c46a1515ffffffffffffffffff -fffffffffffffffffffffffefefefefefefefe -fefefefefefefefe1515f9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9eef91515f9f9f9 -f91515f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f94315c1f9f9f9f91515f9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9eef9cff9bcf9 -cff9eef9f9eef9cff9c0f9cff9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9 -eef9cff9bcf9cff9eef9f9eef9cff9c0f9cff9eef9f9df151515ffffffffffffffffffff -fffffffffffffffffffefefefefefefefefefe -fefefefefefefefe1515d4eecff6d4f9e7eef6dcf6cfeecff6dcf6eee7f6dc1515f9f9f9 -f91515e7f9d4eecff2d4f9e7eeeee7f9d4eecff6d4f9e7ee4f15c1f9f9f9f91515eee7f6 -dcf6cff2d4f6dcf6eee7f9d4eacff2d4f9e7eeeee7f9d4eecff6d4f9e7eef6dcf6d4eecf -f6dcf6eee7f6dcf6cff2d4f6dcf6eee7f9d4eacff2d4f9e7eeeee7f9d4eecff6d4f9e7ee -f6dcf6d4eecff6dcf6e7eef6dcf6cff2d4f6dcf6eee7151515ffffffffffffffffffffff -fffffffffffffffffefefefefefefefefefefe -fefefefefefefefe1515cff9ccf9cff9e2eef6d7f9ccf9ccf9d7f6eee2f6d71515f9f9f9 -f91515e2f9cff9ccf9cff9e2eeeee2f9cff9ccf9cff9e2ee4f15c1f9f9f9f91515eee2f6 -d7f9ccf9cff9d7f6eee2f9cff9ccf9cff9e2eeeee2f9cff9ccf9cff9e2eef6d7f9cff9cc -f9d7f6eee2f6d7f9ccf9cff9d7f6eee2f9cff9ccf9cff9e2eeeee2f9cff9ccf9cff9e2ee -f6d7f9cff9ccf9d7f6e2eef6d7f9ccf9cff9d7f6ee54151542ffffffffffffffffffffff -fffffffffffffffffefefefefefefefefefefe -fefefefefefefefe1515f2dfeeeef2f6f9f9f9f6eeeedfeeeef6f9f9f9f9f61515f9f9f9 -f91515f9f6f2dfeee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f94f15c1f9f9f9f91515f9f9f9 -f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f9f9f6eef2dfee -eef6f9f9f9f9f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f9 -f9f6eef2dfeeeef6f9f9f9f9f6eeeee7f2eef6f9151515ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515cff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf4f1587f9f9f9f91515dfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfeec0f9bcf9bc -f9c0eedfcfeec0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf -eec0f9bcf9bcf9c0eecfdfeec0f9bcf9bcf9c05f1515ffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9c0f9d7f9e7f9f9f2f9d7f9c0f9d7f9f2f9f9f2f91515f9f9f9 -f91515f9e7f9c0f9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f980154ff9f9f9f91515f9f9f2 -f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f9f2f9d7f9c0f9 -d7f9f2f9f9f2f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f9 -f2f9d7f9c0f9d7f9f2f9f9f2f9d7f9c8f9d7151515ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabc1515f9f9f9 -f91515ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdcc11515f9f9f9f9151554ccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bc -f9bceadccceabcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdc -eabcf9bcf9bcf9bceaccdceabcf9bcf9bc6a1515e0ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515f9f9f9 -f91515f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9ea1515f9f9f9f9f9151579ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9 -ccf9eaf9f9eaf9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9 -eaf9ccf9bcf9ccf9eaf9f9eaf9ccf9bc151515e0ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec01515f9f9f9 -f91515a5f9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfee1f156af9f9f9f9791515ee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfeec0f9bcf9bc -f9c0eedfcfeec0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdf -eec0f9bcf9bcf9c0eecfdfeec0f9bc6a1515e0ffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf91515c1f9f9 -f9401587dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf91515ebf9f9f9f9151515 -b3ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9 -ccf9eaf9f9eaf9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9 -eaf9ccf9bcf9ccf9eaf9f9eaf9cc151515dfffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515c4f9c0f9c4f9dce7f2ccf9c0f9c0f9ccf2e7dcf2cc151587f9f9 -f979154ff9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce7f2cc151515f9f9f9f9f91515 -15b3c0f9c4f9ccf2e7dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce7f2ccf9c4f9c0 -f9ccf2e7dcf2ccf9c0f9c4f9ccf2e7dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce7 -f2ccf9c4f9c0f9ccf2dce7f2cc151515dfffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515f9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9eef915154ff9f9 -f9dd1515dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9eef9971515cef9f9f9f9f940 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515dfffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe1515b1eedff6e2f9f2f6f9eaf6dfeedff6eaf9f6f2f9ea151515f9f9 -f9f91515f9e2eedff2e2f9f2f6f6f2f9e2eedff6e2f9f2f6f9eaf62a1515ebf9f9f9f9f9 -dd1515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -1515151515151515151515151515dfffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe40156df9bcf9c0f9d7e7f2c8f9bcf9bcf9c8f2e7d7f2c8151515f9f9 -f9f91515f9c0f9bcf9c0f9d7e7e7d7f9c0f9bcf9c0f9d7e7f2c8f9c0151515f9f9f9f9f9 -f9f9c14f1515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -15151515151515151515151515dfffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefe87154fcff9e2f9eef9f9f6f9e2f9cff9e2f9f6f9f9f6f9741515f9f9 -f9f91515eef9cff9d7f9eef9f9f6f9eef9cff9e2f9eef9f9f6f9e2f9cf151515cef9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefec11515f9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabceb1515f9f9 -f9f91515a4bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9b3151515ddf9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefef91515c0f9d7f9e7f9f9f2f9d7f9c0f9d7f9f2f9f9f2f9d71515ebf9 -f9f9b31515f9c0f9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f9f2f9d7f9c0f9d72315151596 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefef91515f9bcf9bcf9ccdceabcf9bcf9bcf9bceadccceabcf92a156af9 -f9f9f91515b3f9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bcf9bc98151515 -154fc1f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefef9151569f9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf9cceb1515f9 -f9f9f9791515bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9eb15 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -1515151515151515feffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefef9151532bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfeec0f9bc1515ce -f9f9f9f91515ebbcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfee -c05c15151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -15151515151515feffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefef9321515f9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf9ccf97d1515 -f9f9f9f9151515f9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9 -ccf9eaf9f9eaf9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9 -eaf9cc151515feffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefef9961515cff9d4f9e7eef6dcf9cff9cff9dcf6eee7f6dcf9cff91515 -f9f9f9f96a1515cff9d4f9e7eeeee7f9d4f9cff9d4f9e7eef6dcf9d4f9cff9dcf6eee7f6 -dcf9cff9d4f9dcf6eee7f9d4f9cff9d4f9e7eeeee7f9d4f9cff9d4f9e7eef6dcf9d4f9cf -f9dcf6eee7f6dcf9cff9d4f9dcf6eee7f9d4f9cff9d4f9e7eeeee7f9d4f9cff9d4f9e7ee -f6dc151515fdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefefdf91515f9dcf9e7f9f9f2f9dcf9c4f9dcf9f2f9f9f2f9dcf9cc1515 -b3f9f9f9f9151523ccf9e7f9f9f2f9e7f9c4f9dcf9e7f9f9f2f9dcf9c4f9dcf9f2f9f9f2 -f9dcf9ccf9dcf9f2f9f9e7f9c0f9ccf9e7f9f9f2f9e7f9c4f9dcf9e7f9f9f2f9dcf9c4f9 -dcf9f2f9f9f2f9dcf9ccf9dcf9f2f9f9e7f9c0f9ccf9e7f9f9f2f9e7f9c4f9dcf9e7f9f9 -f2151515fdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefffff9151595eee2f6f2f6f9eaeedfdfdfeeeaf9f6f2f9eaeedfe76315 -15f9f9f9f9eb1515cae2f6f2f6f6f2f6e2dfdfeee2f6f2f6f9eaeee2dfdfeeeaf9f6f2f9 -eaeedfe7e2eeeaf9f6f2f6e2dcdfe7e2f6f2f6f6f2f6e2dfdfeee2f6f2f6f9eaeee2dfdf -eeeaf9f6f2f9eaeedfe7e2eeeaf9f6f2f6e2dcdfe7e2f6f2f6f6f2f6e2dfdfeee2f6f2f6 -151515fdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefffffffff979151ff9c0f9d7e7f2c8f9bcf9bcf9c8f2e7d7f2c8f9bcf9c015 -15ddf9f9f9f9321515c0f9d7e7e7d7f9c0f9bcf9c0f9d7e7f2c8f9c0f9bcf9c8f2e7d7f2 -c8f9bcf9c0f9c8f2e7d7f9c0f9bcf9c0f9d7e7e7d7f9c0f9bcf9c0f9d7e7f2c8f9c0f9bc -f9c8f2e7d7f2c8f9bcf9c0f9c8f2e7d7f9c0f9bcf9c0f9d7e7e7d7f9c0f9bcf9c0f9d758 -1515fdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefffffffffffffff91515e2f9eef9f9f6f9e2f9cff9e2f9f6f9f9f6f9e2f9d7f9b9 -1515f9f9f9f9f91515b3eef9f9f6f9eef9cff9e2f9eef9f9f6f9e2f9cff9e2f9f6f9f9f6 -f9e2f9d7f9e2f9f6f9f9eef9ccf9d7f9eef9f9f6f9eef9cff9e2f9eef9f9f6f9e2f9cff9 -e2f9f6f9f9f6f9e2f9d7f9e2f9f6f9f9eef9ccf9d7f9eef9f9f6f9eef9cff9e2f9ee1515 -15fdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefffffffffffffffff9151579bcf9ccdceabcf9bcf9bcf9bceadccceabcf9bcf9bcf9 -1515f9f9f9f9f94f1515f9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bc -f9bceadccceabcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bc6a1515 -fdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefeffffffffffffffffeb1515f9dff9f9eef9cff9bcf9cff9eef9f9eef9cff9c0f9cf -6a1515f9f9f9f9f95c1515f9f9eef9dff9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9eef9cff9bcf9 -cff9eef9f9eef9cff9c0f9cff9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cf151515fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefffffffffffffffff91515bcf9ccdceabcf9bcf9bcf9bceadccceabcf9bcf9bcf9 -bc151532f9f9f9f9f915153fdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bc -f9bceadccceabcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bc6a1515fdff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefeffffffffffffffffff151596dcf9f9eaf9ccf9bcf9ccf9eaf9f9eaf9ccf9bcf9cc -f9ea1515ebf9f9f9f9f9151515eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9 -ccf9eaf9f9eaf9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bc151515fdffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefeffffffffffffffff961515f9cfdfeec0f9bcf9bcf9c0eedfcfeec0f9bcf9bcf9 -c0ee151515f9f9f9f9f9eb15158dcff9bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfeec0f9bcf9bc -f9c0eedfcfeec0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bc6a1515fdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefffffffffffffffffa15155ef9f9eaf9ccf9bcf9ccf9eaf9f9eaf9ccf9bcf9cc -f9eaf9231515f9f9f9f9f9ce151515dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9 -ccf9eaf9f9eaf9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dc151515fcffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefeffffffffffffffffa41515e7eef6dcf9cff9cff9dcf6eee7f6dcf9cff9d4f9 -dcf6eee7151515f9f9f9f9f9ce151540d4f9cff9d4f9e7eef6dcf9d4f9cff9dcf6eee7f6 -dcf9cff9d4f9dcf6eee7f9d4f9cff9d4f9e7eeeee7f9d4f9cff9d4f9e7eef6dcf9d4f9cf -f9dcf6eee7f6dcf9cff9d4f9dcf6eee7f9d4f9cff9d4f9e7eeeee7151515fcffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefffffffffffffffffb1515f9f9f2f9dcf9c4f9dcf9f2f9f9f2f9dcf9ccf9dc -f9f2f9f9bb151540f9f9f9f9f9eb1515154ef9dcf9e7f9f9f2f9dcf9c4f9dcf9f2f9f9f2 -f9dcf9ccf9dcf9f2f9f9e7f9c0f9ccf9e7f9f9f2f9e7f9c4f9dcf9e7f9f9f2f9dcf9c4f9 -dcf9f2f9f9f2f9dcf9ccf9dcf9f2f9f9e7f9c0f9ccf9e7f9f9f2151515fcffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefeffffffffffffffffff151532f9f9f6eeeedfeeeef6f9f9f9f9f6eeeee7f2ee -f6f9f9f9f69c151540f9f9f9f9f9f915151587eef2f6f9f9f9f6eef2dfeeeef6f9f9f9f9 -f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f9f9f6eef2dfee -eef6f9f9f9f9f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f9f9151515fcffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefeffffffffffffffffdd1515dfeec0f9bcf9bcf9c0eedfcfeec0f9bcf9bcf9 -c0eedfcff9bc6a1515ebf9f9f9f9f9eb15151515bcf9cfdfeec0f9bcf9bcf9c0eedfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfeec0f9bcf9bc -f9c0eedfcfeec0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cf581515fcffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefeffffffffffffffff6a1515f2f9d7f9c0f9d7f9f2f9f9f2f9d7f9c8f9d7 -f9f2f9f9e7f9c06a151523f9f9f9f9f9f9eb15151515f9f9f2f9d7f9c0f9d7f9f2f9f9f2 -f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f9f2f9d7f9c0f9 -d7f9f2f9f9f2f9d7f9c8f9d7f9f2f9f9e7f9bcf9c8f9e7151515fcffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -fefefefefefefefffffffffffffffffb1515eabcf9bcf9bcf9bceadccceabcf9bcf9bcf9 -bceadcccf9bcf9bc6a1515a4f9f9f9f9f9f9f9231515154aeabcf9bcf9bcf9bceadcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bc -f9bceadccceabcf9bcf9bcf9bceadcccf9bcf9bcf9bc6a1515fcffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd4ffffffffffffffff321515f9cff9bcf9cff9eef9f9eef9cff9c0f9cf -f9eef9f9dff9bcf9c0a4151515f9f9f9f9f9f9f9f94f1515151566f9bcf9cff9eef9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9eef9cff9bcf9 -cff9eef9f9eef9cff9c0f9cff9eef9f9dff9bcf9c0151515fbffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd091fffffffffffffffb151569f9bcf9bcf9bceadccceabcf9bcf9bcf9 -bceadcccf9bcf9bcf9bcdd151515ddf9f9f9f9f9f9f9c115151515151573f9bceadcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bc -f9bceadccceabcf9bcf9bcf9bceadcccf9bcf9bc6a1515ddffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015fffffffffffffffff21515ccf9bcf9ccf9eaf9f9eaf9ccf9bcf9cc -f9eaf9f9dcf9bcf9bcf9dcf932151523f9f9f9f9f9f9f9f9f9eb15151515151515151515 -154340151515151515151515151515151515151515151515151515151515151515151515 -15151515151515151515151515151515151515151515dcffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffffffff15154fc0f9c0f9ccf2e7dcf2ccf9c0f9c4f9 -ccf2e7dcf9c4f9c0f9c4f9dce7231515156af9f9f9f9f9f9f9f9f9f9b315151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515dcffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015fffefffffffffffffffd15154fbcf9cff9eef9f9eef9cff9c0f9cf -f9eef9f9dff9bcf9c0f9dff9f9eef91515151523f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c1 -c18787c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1 -c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1edffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffffffffffb41515c3dff6eaf9f6f2f9eaf6dff2e2f6 -eaf9f6f2f9e2eedff2e2f9f2f6f6f2f98d151515156af9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9feffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffffffffffff151515f9dcf9f2f9f9f2f9dcf9ccf9dc -f9f2f9f9e7f9c4f9ccf9e7f9f9f2f9e7f9c4eb231515151579f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9feffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015fffffffffffffffffffffffd151523eef6f9f9f9f9f6eeeee7f2ee -f6f9f9f9f6f2dfeee7f2f6f9f9f9f9f6f2dfeeeeab15151515151587ebf9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9feffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffffffffffffffc515156ac0eedfcfeec0f9bcf9bcf9 -c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf998151515151515151587c1f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9feffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015fffffffffffffffffffffffffff51515cef2f9f9f2f9d7f9c8f9d7 -f9f2f9f9e7f9c0f9c8f9e7f9f9f2f9e7f9c0f9d7f9e7f9f9f2f986231515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515dcffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffffffffffffffffff151515e0dccceabcf9bcf9bcf9 -bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bcb33f15151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -1515151515151515151515151515dcffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffffffffffffffffffff6a1515f9f9eaf9ccf9bcf9cc -f9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9 -ccf9eaf9f9eaf9ccf9bc151515dbffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015fffffffffffffffffffffffffffffffe151515cfeec0f9bcf9bcf9 -c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfeec0f9bcf9bc -f9c0eedfcfeec0f9bca41515dbffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015fffffffffffffffffffffffffffffffffd231515eaf9ccf9bcf9cc -f9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9 -ccf9eaf9f9eaf9cc151515dbffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff15fffffffffffffffffffe151515ccf9c0f9c4f9 -ccf2e7dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce7f2ccf9c4f9c0f9ccf2e7dcf2 -ccf9c0f9c4f9ccf2e7dcf9c4f9c0f9c4f9dce7e7dcf9c4f9c0f9c4f9dce7f2ccf9c4f9c0 -f9ccf2e7dcf2cc151515afffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515ffffffffffffffffffff231515c5f9c0f9cf -f9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9eef9cff9bcf9 -cff9eef9f9ee151515aeffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff15156affffffffffffffffffff151515c0f2e2f6 -eaf9f6f2f9e2eadff2e2f9f2f6f6f2f9e2eedff6e2f9f2f6f9eaf6e2eedff6eaf9f6f2f9 -eaf6dff2e2f6eaf9f6f2f9e2eadff2e2f9f2f6f6f2f9e2eedff6e2f9f2f6f9eaf6e2eedf -f6eaf9f6f2151515aeffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff15151515ffffffffffffffffffff6b151515f9e7 -f9f6f9f9eef9d4f9dcf9eef9f9f6f9eef9d4f9e7f9eef9f9f6f9e7f9d4f9e7f9f6f9f9f6 -f9e7f9dcf9e7f9f6f9f9eef9cff9dcf9eef9f9f6f9eef9d4f9e7f9eef9f9f6f9e7f9d4f9 -e7f9f6f9151515ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff15151515ceffffffffffffffffffff23151523e2 -f9f6f9f9eef9cff9d7f9eef9f9f6f9eef9cff9e2f9eef9f9f6f9e2f9cff9e2f9f6f9f9f6 -f9e2f9d7f9e2f9f6f9f9eef9ccf9d7f9eef9f9f6f9eef9cff9e2f9eef9f9f6f9e2f9cff9 -e2f9f6151515aeffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515feffffffffffffffffffff40151515 -bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bc -f9bcc01515aeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffffffffffffffff1515 -1539f9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9eef9cff9bcf9cff9eef9f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cff9dff9f9eef9cff9bcf9 -cf231515aeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515fffffeffffffffffffffffffffff23 -151534ccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bcf9bceadcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcf9ccdceabcf9bcf9bc -ce1515aeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffffffffffffffffffff -cc15151559f9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bc23 -1515adfffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffffffffffffffffffff -ffff15151515c1bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfeec0f9bcf9bcf9c0eedfcfee -c0f9bcf9bcf9c0eedfcff9bcf9bcf9bcf9cfdfdfcff9bcf9bcf9bcf9cfdfeec0f9bcce15 -15adffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffffffffffffffffffff -ffffffff1515151569f9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9ccf9bcf9ccf9eaf9f9ea -f9ccf9bcf9ccf9eaf9f9dcf9bcf9bcf9dcf9f9eaf9dcf9bcf9ccf9dcf9f9eaf9cc231515 -adfffffffffffffffffffcffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515fffffffffffffffdffffffffffffff -ffffffffff4f15151523ebe7eeeee7f9d4f9cff9d4f9e7eef6dcf9d4f9cff9dcf6eee7f6 -dcf9cff9d4f9dcf6eee7f9d4f9cff9d4f9e7eeeee7f9d4f9cff9d4f9e7eef6dc231515ad -fffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1588ffffffffffff -ffffffffffffffa8151515154ff2f9e7f9c4f9dcf9e7f9f9f2f9dcf9c4f9dcf9f2f9f9f2 -f9dcf9ccf9dcf9f2f9f9e7f9c0f9ccf9e7f9f9f2f9e7f9c4f9dcf9e7f9f9f2231515adff -fffffffffffffffffbffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffffff -ffffffffffffffffff32151515155cf6f2dfeeeef2f6f9f9f9f6eef2dfeeeef6f9f9f9f9 -f6eeeee7f2eef6f9f9f9f6f2dceee7f2f6f9f9f9f9f6f2dfeeeef2f6f9f9231515adffff -fffffffffffffffbffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffffff -ffffffffffffffffffffffe2231515151515cee7eeeef6f9f6f2e7eed4eae7f2f6f9f6f6 -f2e7eadceee7f2f6f9f6eeeecfeadceeeef6f9f6f6eeeed4eae7eeeef6231515ffffffff -fffffffffffdfbffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffffff -ffffffffffffffffffffffffffc92315151515156ae0f9f9f6f9e2f9cff9e2f9f6f9f9f6 -f9e2f9d7f9e2f9f6f9f9eef9ccf9d7f9eef9f9f6f9eef9cff9e2f9ee231515acffffffff -fffffffffffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515fffffffffffe -ffffffffffffffffffffffffffffffed401515151515153cc0bcf9bcf9bcf9bceadcccea -bcf9bcf9bcf9bceadcccf9bcf9bcf9bcf9ccdcdcccf9bcf9bcf9bcce1515acffffffffff -fffffffff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -96fffffffffffffffffffffffffffffffffffff9321515151515151515151f878bc1f9ee -f9cff9c0f9cff9eef9f9dff9bcf9c0f9dff9f9eef9dff9bcf9cf231515acffffffffffff -fffffdfbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffffffffffffffffffffffffffffffffffea7a151515151515151515151515 -15151515151515151515151515151515151515151515151515151515acffffffffffffff -fffcf9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92fffffffffffffffffffffffffffffffffffffffffffffffffffffffdc5964f23151515 -151515151515151515151515151515151515151515151515151515acffffffffffffffff -fafbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffefdfcfbfaf9f9f9fafafafbfbfbfdfdfdfefefefffffffffffffffffffff9 -f9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff5415eaffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9fb -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff54151515e6ffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef9f9ff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf9f9ffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9f9ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaf9f9ffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffffacfaffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffff9f9f9ffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffe687 -c1c1c1c1ffffffffffffc1c1f1ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff -ffffffffffffffd015ffffffffffffff1515151515ffffffffffffff1515ffffffffff15 -92ffffffffffff541515151554ffffffffffff5415ffffffffff1515ffffffffffffd015 -15151515ffffffffffff1515d0ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff - -showpage - -% stop using temporary dictionary -end - -% restore original state -origstate restore - -%%Trailer diff --git a/executable_names/doc/common/Rule_and_address.ps b/executable_names/doc/common/Rule_and_address.ps deleted file mode 100644 index 587d2bb8fa..0000000000 --- a/executable_names/doc/common/Rule_and_address.ps +++ /dev/null @@ -1,11341 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: /home/henshaw/reviewAndRelease/Rule_and_address.ps -%%Creator: XV Version 3.10a Rev: 12/29/94 - by John Bradley -%%BoundingBox: -187 667 1413 918 -%%Pages: 1 -%%DocumentFonts: -%%EndComments -%%EndProlog - -%%Page: 1 1 - -% remember original state -/origstate save def - -% build a temporary dictionary -20 dict begin - -% define string to hold a scanline's worth of data -/pix 1600 string def - -% define space for color conversions -/grays 1600 string def % space for gray scale line -/npixls 0 def -/rgbindx 0 def - -% lower left corner --187 667 translate - -% size of image (on paper, in 1/72inch coords) -1599.98400 250.99200 scale - -1600 251 8 % dimensions of data -[1600 0 0 -251 0 251] % mapping matrix -{currentfile pix readhexstring pop} -image - -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe380 -72c6fffffffffffffffffffffffffff1e3c6c6c6e3ffffffffffffffffffffffffffffff -fffffff1c69ce3ffffffffffffffffffffffffffffff9c72c6ffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -8e1d395656481d39ffffffffff8e1d5656481d8effffffffffffffffffffffffffffffff -ff8e80ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd456c6ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff481d -1d8efffffffffffffffffffffff1801d1d1d1d1d1d1d72c6ffffffffffffffffffffffff -ffe3391d1d1dc6ffffffffaa64e3ffffffffffffff721d1d8effffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffff1729cffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -f1e3c6391d56c6e3fffffffffff1e3b82b9ce3f1ffffffffffffffffffffffffffffffff -aa1d1dd4ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffff561d48ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff809cd4 -aab8ffffffffffffffffffe3721d72c6e3ffffffd49c391db8ffffffffffffffffffffff -ffffe3d41d1dc6ffffffff1d1d80ffffffffffff8080c6aab8ffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e1d1de3ffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff561d80ffffffffffffffffffff39e3ffffffffffffffffffffffffffffffffffff -c61d1de3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffff641d56ffffffffffaa1dffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e48ffff -ffffffffffffffffffffd42b1db8ffffffffffffffffaa1de3ffffffffffffffffffffff -ffffffff1d1dc6ffffffff391d8effffffffff8e48ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c1d2bffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff641d8effffffffffffffffffff56e3ffffffffffffffffffffffffffffffffffff -ffc6c6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffe3b8e3ffffffffb81d2bffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe31d56ffff -ffffffffffffffffffff481d8effffffffffffffffffe31df1ffffffffffffffffffffff -ffffffff1d1dc6ffffffffe3b8f1ffffffffe31d56ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb8d4ffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d8effffffffffffffffffff56e3ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffaa1d56ffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa1d56ffff -ffffffffffffffffff8e1d56ffffffffffffffffffffe38effffffffffffffffffffffff -ffffffff391dc6ffffffffffffffffffffffaa1d56ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d8effffffffffffffffffff56e3ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffe3c6ffffffffffffffffff -ffffffffffffffffffffc6d4ffffffffffffffffffffffffffaa1d56ffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffe3c6e3ffffffffffffffaa1d56ffff -ffffffffffffffffff481dd4ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffff561de3ffffffffffffffffffffffaa1d56ffffffffffffffffffe3c6f1ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d8effffffffffffffffffff56e3ffffd49c8039aaff642b1d2b64d4fffff1aa -8e6439e3ffe3725656567272ffffb880565680ffffffe39c6480643956b8ffffe3aa8048 -b8e3641d56ffffd464808e803948e3ffd4aa804856ffffffff8e1d489caaaae356565664 -80b8ffff806456569cffffffffffffffffffe38064727248488ee3ffffffff8e1d489caa -b8ffffffffffffffe31d2bfffffffffffffffffffffffffffffffff1aa561d1d1d64c6ff -ffffffff561de3ffffc69c72488effffffff8e1d489caab8ffffffe3646472723956b8ff -ffffffb8805672ff8e1d1dc6b89c641de3d4561d1d3980f1ffffe3aa8e642bffffffffff -b8641d1d1d56b8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d8effffffffffffffffffff56e3ffffaa641d1d8e2b648e561d1d56ffffe38e -641d1de3ffffffaa1d1de3ffffffffff1d56ffffffff4839f1ffffd41d1dffffc664391d -c6641d1d56ffe31d80ffffffff39c6ffb88e391d56ffffc62b1d1d1d1d1d39ffff391d72 -ffffffffffff1dc6ffffffffffffffffffd41d72ffffffff481d64ffffe3391d1d1d1d1d -56ffffffffffffff8e1d39ffffffffffffffffffffffffffffffff6448e3ffe3391d39ff -ffffffff561de3ffffaa8e1d1d8effffff801d1d1d1d1d56fffff1399cffffffe31d1d9c -ffffff80391d72c61d1d1db88e481d1d9c2b80802b1d1d8effffd48e561d1dffffffffb8 -48d4ffff801d1dc6ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d8effffffffffffffffffff56e3ffffffff481d56e3ffffff9c1d1df1ffffff -e31d1de3ffffffe32b1db8ffffffffe31daaffffff481de3ffffffff801d9cffffff8e1d -648ee3b880ff8e1daaffffffff80c6ffffff8e1d56fffff1e39c1d80e3e3e3ffff801d48 -ffffffffff8e48ffffffffffffffffffff481de3ffffffffc61d1d8effffe38e1d48e3e3 -e3ffffffffffffff8e1d48ffffffffffffffffffffffffffffffff64f1ffffffe31d1db8 -ffffffff561de3ffffffff561d8effffffe39c1d48e3e3e3ffe33939ffffffffff8e1d2b -e3ffffff8e1d4864c6c62be3ffe31d1d80f1ffffff641d48ffffffffc61d1dffffffffaa -aaffffffff481d80ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d8effffffffffffffffffff56e3ffffffff561d9cffffffffff1d1dd4ffffff -e31d1de3ffffffff721d64ffffffff8056ffffffaa1d56ffffffffffc61d72ffffff8e1d -64ffffffffff801d64e3fffffff1ffffffff8e1d56ffffffffaa1d8effffffffffe31d1d -c6ffffffe31db8ffffffffffffffffffb81d72ffffffffffff801d1de3ffffaa1d56ffff -ffffffffffffffff8e1d39ffffffffffffffffffffffffffffffffffffffffffff561d8e -ffffffff561de3ffffffff561d8effffffffaa1d56ffffffff801d80fffffffffff12b1d -48ffffff8e1d48ffffffffffffff1d1de3ffffffffc61d1dffffffffc61d1dffffffffff -ffffffffff8e1d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d8effffffffffffffffffff56e3ffffffff561daaffffffffff1d1dc6ffffff -e31d1de3ffffffffb81d1df1ffffff56f1ffffff801d39b8c6c6c6c6c61d56ffffff8e1d -c6ffffffffffb81d1d1d56c6ffffffffffff8e1d56ffffffffaa1d8effffffffffff801d -39ffffff9c2bf1ffffffffffffffffff8e1d8effffffffffffd41d1d9cffffaa1d56ffff -ffffffffffffffffaa1d1dfffffffffffffffffffffffffffffffffffffff1aa561d1d8e -ffffffff561de3ffffffff561d8effffffffaa1d56ffffffff561d8effffffffffff641d -1de3ffff8e1d72ffffffffffffff1d1de3ffffffffc61d1dffffffffc61d1dffffffffff -fffff1b872391d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d8effffffffffffffffffff48e3ffffffff561daaffffffffff1d1dc6ffffff -e31d1de3ffffffffff391d80ffffc664ffffffff721d398e8e8e8e8e8e8ec6ffffff8e1d -c6fffffffffff180391d1d1d2b64c6ffffff8e1d56ffffffffaa1d8efffffffffffff12b -1dc6ffff64b8ffffffffffffffffffff721d8effffffffffffff1d1daaffffaa1d56ffff -ffffffffffffffffe31d1d8effffffffffffffffffffffffffffffc68048648ec6481d8e -ffffffff561de3ffffffff561d8effffffffaa1d56ffffffff391d8effffffffffff8e1d -1de3ffff8e1d72ffffffffffffff1d1de3ffffffffc61d1dffffffffc61d1dfffffffff1 -8048568eaa721d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d80ffffffffffffffffffff39ffffffffff561daaffffffffff1d1dc6ffffff -e31d1de3ffffffffffb81d1de3ff39b8ffffffff721d56ffffffffffffffffffffff8e1d -c6ffffffffffffffffc6721d1d1d1de3ffff8e1d56ffffffffaa1d8effffffffffffff64 -1d8efff148ffffffffffffffffffffff721d72ffffffffffffff1d1db8ffffaa1d56ffff -ffffffffffffffffff561d1dfffffffffffffffffffffffffffff12b1dd4ffffff561d8e -ffffffff561de3ffffffff561d8effffffffaa1d56ffffffff391d80ffffffffffff8e1d -1de3ffff8e1d72ffffffffffffff1d1de3ffffffffc61d1dffffffffc61d1dffffffff80 -1dd4ffffff8e1d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff9c1d64fffffffffffffffffff12bffffffffff561daaffffffffff1d1dc6ffffff -e31d1de3ffffffffffff481d9cc639ffffffffff8e1d2bffffffffffffffffffffff8e1d -c6fffffffffff1ffffffffe3b82b1db8ffff8e1d56ffffffffaa1d8effffffffffffffaa -1d39ff649cffffffffffffffffffffff9c1d39f1ffffffffffff1d1dd4ffff9c1d56ffff -ffffffffffffffffffaa1d1d8effffffffffffffffffffffffff481d8effffffff561d8e -ffffffff481dc6ffffffff561d8effffffff9c1d56ffffffff641d56ffffffffffff801d -48ffffff8e1d72ffffffffffffff1d1de3ffffffffc61d1dffffffffc61d1dffffffe31d -80ffffffff8e1d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffe31d2bb8ffffffffffffffe34864ffffffffff561daaffffffffff1d1dc6ffffff -e31d1de3ffffffffffff9c1d4864e3ffffffffffd41d1d64ffffffffffffffffffff8e1d -aaffffffffff8eb8ffffffffff721dc6ffff8e1d56ffffffffaa1d80ffffffffffffffff -391d8039e3ffffffffffffffffffffffd41d1db8ffffffffff8e1d8effffff8e1d56ffff -ffffffffffffffffffff641d1d64e3ffffffffffffffffffffe31d1db8ffffffe32b1d8e -ffffffff1d1dc6ffffffff561d8effffffff8e1d56ffffffff9c1d1de3ffffffffff391d -e3ffffff8e1d64ffffffffffffff1d1de3ffffffffc61d1dffffffffc61d1dffffffaa1d -80ffffffff561d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffff641d1d8effffffffffe3481dd4ffffffffff481daaffffffffff1d1dc6ffffff -e31d1de3fffffffffffff11d1d56ffffffffffffff801d1d8effffffffe3b8ffffff8e1d -8effffffffff8e80ffffffffff5639ffffff8e1d56ffffffffb81d2bf1ffffffffffffff -aa1d1daaffffffffffffffffffffffffff481d56ffffffffe31d56ffffffff8e1d56ffff -ffffffffffffffffffffff561d1d39e3fffffffffffff1729cff1d1d39ffffe364481d8e -ffffffff1d1dc6ffffffff561d8effffffff8e1d56fffffffff12b1d8effffffffaa1d8e -ffffffff8e1d56ffffffffffffff1d1de3ffffffffc61d1dffffffffc61d1dffffffc61d -48ffffff80561d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffe3561d1d2b485656391d56d4ffffffffd4b82b1d64aae3ffffff1d1d80b8e3c6 -8e1d1d80b8e3ffffffffff801d9cffffffffffffffff801d1d5680805656e3ffd4aa561d -489caaffffff801d9ce3e3d48056e3ffe3b8561d2baad4ffffe31d1d395680ffffffffff -ff3939ffffffffffffffffffffffffffffd4481d56b8e3c65664e3ffffe3c6561d2b9caa -e3ffffffffffffffffffffffaa481d1d56648e8e80564872e3ffb81d1d395664e3561d48 -aaffc6aa1d1d80aaf1d4b8391d56aad4ffc6561d2b8eaae3ffffe3481d80c6e3b8488ef1 -fffff1aa561d399caafffff1c69c1d1d8eb8e3ffffb81d1d8eb8e3c6801d1d9cb8ffff56 -1d2b5656b88e1d48aae3ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffd4722b1d1d2b72d4ffffffffffffaa8e8e8e8e8ec6ffffe38e8e8e8ec68e -8e8e8e8e8ee3ffffffffffff56e3fffffffffffffffffff1802b1d64c6ffffffb88e8e8e -8e8e8ef1ffffc68e561d1d48aaffffffb88e8e8e8e8eaaffffffc656568ef1ffffffffff -ff7280ffffffffffffffffffffffffffffffff9c2b1d1d48d4ffffffffc68e8e8e8e8e8e -e3ffffffffffffffffffffffffffe3642b1d1d1d64aaffffffffffc664569cffffaa8e8e -8eff8e8e8e8e8e8ee3aa8e8e8e8e8eb8ff8e8e8e8e8e8ee3ffffffff721d1d1d64f1ffff -ffffe38e8e8e8e8e8ee3fff18e8e8e8e8e8ee3ffffd48e8e8e8ed48e8e8e8e8e8ee3fff1 -805680ffffc68e8e8ed4ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ff80c6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f156ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -728effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6 -1de3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c8eaa39 -8effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff641d1d72 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe39ce3ff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffe3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffff1f1ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -e38e8eaaaaaa8e8effffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffc68eaaaaaa9c8ee3ffffffffffffffffffffb8e3ffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffd48e8e9c8eb8ffffffffffffffffd48e8e -9c8e9cffffffffffffffffffffffffffffffffffffffffffffffffb8e3ffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d48e724872ffffffffffffffffff8e8eaaaaaa9c8ef1ffffffffffffffffffffffffffff -fffffffff19c80481dc6ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffe3c6481d39c6e3ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff1d4641d1d80e3f1ffffffffffffffffff8e1d1df1ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffff1e38e1d1d1daafffffffffffffff1e38e -39c6e3ffffffffffffffffffffffffffffffffffffffffffffffb81d1dd4ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f1e38e1d72ffffffffffffffffffe3d4481d2bb8e3ffffffffffffffffffffffffffffff -ffffffffffe3d41d1dc6ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffc61d1dc6ffffffffffffffffffffff9c1d2bffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffe31d1d1d2bffffffffffffffffffc6 -56ffffffffffffffffffffffffffffffffffffd439c6ffffffffb81d1de3ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffc61d72ffffffffffffffffffffff641d56ffffffffffffffffffffffffffffffffff -ffffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffff728effffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffc61d1dc6ffffffffffffffffffffffffc6e3ffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffe31d721d1d80ffffffffffffffffc6 -56ffffffffffffffffffffffffffffffffffc61d1dc6ffffffffffc6e3ffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffc61d72ffffffffffffffffffffff721d56ffffffffffffffffffffffffffffffffff -ffffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffe32b1d9cffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffc61d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffe31dc69c1d1daaffffffffffffffd4 -56ffffffffffffffffffffffffffffffffffc61d1de3ffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffc61d72ffffffffffffffffffffff721d56ffffffffffffffffffffffffffffffffff -ffffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffe31d1dc6ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3e3ffffffffffff -ffffffffffffffffffffffffffffffffffffffe3e3f1ffffffffffffffffe3ffffffffff -ffffffffffffffffc61d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffe3e3ffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffe3e3ffffffffffffffffffffffffffff -ffffffffffffffe3f1ffffffffffffffffffffffffe31dc6ff721d1dc6ffffffffffffe3 -56ffffffffffffffffffffffffffffffffffc61d1de3ffffffffffffffffffffffffffff -ffffe3f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffff1d80ffffffffffffffffffffff721d56ffffffffffffffffffffffffffffffffff -ffffffffffffff1d1de3ffffffffffffffffffffffffffffffe3e3ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffe31d1dc6ffffffffffffffffffe3e3ff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffffe38e481d1d3980f1ffffb86456566480b8ff -ffff9c9cffffffe3805656729ce3aa8e6456f1722b1daaffffc6726480643980e3ffe39c -8e4856ff722b1d1d48b8ffffffffffffe38048391d1d48c6ffffe38e6472723948d4ffff -ffffffffffffffffc61d1dc6ffffffffffffffffffe3aa8e561dffffe36456565680c6ff -ff8e8056568effffffe3806480643980ffffffc68e6448ffb8391d8ef1b88e6480f1802b -1d2b72e3ffb8391d1d489cffffffffffffe3646480643956b8ffffffd4aa80488ec6561d -1de3ffffaa6472804848aaffffffffffffffffffffe31dc6ffff561d1db8ffffffffffe3 -56ffffffffffe38e481d1d3980f1ffffffff8e1d1d9caaaae39c9c561de3fffffffff18e -646472483964e3ffffe3aa8e568eff80391d1d56c6ffffffffffd480391d1d488effffff -ffffff1d8effffffffffffffffffffff721d56fffffffffffffffffffffffff19c391d1d -2b64ffffffffff391de3d4641d1d2b64c6ffffffffffb8646480641d56d4ffffffe39c80 -48aae3481d56ffffffc6561d1d1d48c6ffffffffc61d1d80aaaad4ffffffb8646480641d -56d4ffffffd49c7239e3d4391d72b85656566480c6ffff726456568effffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffd41d80ffff8e1d1d56ffffffff391d8effffff -ffff5664ffffffffff5639ffffd472391d568e1d1d1daaffd41dc6ffffff801d72ffd464 -1d1d5680648e721d1d1dc6ffffffffe31d8effffff561dc6ffff2b64ffffffff4839ffff -ffffffffffffffffc61d1dc6ffffffffffffffffffd48e561d1dffffffff2b1d1dffffff -ffffe31dc6fffffff1399cffffffb81d56ffff9c481d39ff391d1d8ee380391d6448568e -721d1d72d448aaaa391d1de3fffffffff139aaffffffe31d1d9cffffb8562b1d8e561d1d -1de3ff9c48e3ffffff481daaffffffffffffffffffe31dc6ffffd41d1d1dd4ffffffffe3 -56ffffffffd41d80ffff8e1d1d56fffff1391d1d1d1d1d1db88e641d1de3ffffffff642b -e3ffffff721d1dd4ffc6722b1d8048568e801d1d39ffffffffb81d9cffff721d1d8effff -ffffff1d8effffffffffffffffffffff721d56ffffffffffffffffffffffe32b64ffffb8 -1d1d8effffffff391db81d648e561d1d39f1ffffff9c1daaffffffd41d39f1ffffc6561d -1dc6721d1d56ffffaa39e3ffe3561d39ffffff9c1d1d1d1d1d1db8ffff9c1daaffffffd4 -1d39f1ffffb8481d1dff561d1d72ffff2b1d8effffffffffc61dc6ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffc639ffffffffb81d1de3ffffffb81d64ffffff -ffe31d2bf1ffffffff1d8effffffffaa1d3980e3c648c6ff4864ffffffffe31d1de3ffff -641d1db8ffffffe3391d80fffffff1398efffffffff11dd4ff8039f1ffffffff9c1d8eff -ffffffffffffffffc61d1dc6ffffffffffffffffffffffc61d1dffffffffb81d1dd4ffff -ffffb856ffffffe33939ffffffffff391dc6ffffc61d2b56b8d456aaffffe31d2bb8ffff -ff8e1d1d56e3ffffe3391d9cffffffe33939ffffffffff9c1d2be3ffffff721d489ce3aa -1dffd41d9cffffffff9c1d56ffffffffffffffffffe31dc6ffffffc6391d48ffffffffe3 -56ffffffffc639ffffffffb81d1de3ffffe3b81d1de3e3e3ffffe31d1de3ffffff801db8 -ffffffffff561d56ffffff9c1d48c6ffffffb81d1daaffffffaa64ffffffff801d1df1ff -ffffff1d8effffffffffffffffffffff721d56ffffffffffffffffffffffe31de3ffffff -d41d48ffffffff391d64e3ffffffb81d1daaffffc62b56ffffffffff8e1d48e3ffffff1d -1d648ee39c80ffff8e8effffffff641db8ffffe3c61d1de3e3e3ffffc62b56ffffffffff -8e1d48e3ffffe31d1d729ce3808effffb81d64ffffffffff5664ffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffffe3ffffffffff391dc6ffffffff3948ffffff -ff56481d80ffffffc61de3ffffffffaa1d1df1ffffffffb81d9cffffffffff1d1d8effff -8e1d39ffffffffff8e1d64ffffff721dd4ffffffffff1de3ff3964ffffffffffc61d1dff -ffffffffffffffffc61d1dc6ffffffffffffffffffffffc61d1dffffffffff481d8effff -ffff80aaffffff9c1d64ffffffffff561d8effffc61d1db8ffffffffffffff1d56ffffff -ffd41d1db8ffffffff8e1d8effffff9c1d72ffffffffffe31d1d64ffffff721d48ffffff -ffff481de3ffffffffc61d1dffffffffffffffffffe31dc6ffffffff9c1d1d9cffffffe3 -56ffffffffffe3ffffffffff391dc6ffffffc61d1dffffffffffe31d1de3ffffd41d39ff -ffffffffffb81d1de3ffffc61d80ffffffffff481d80ffffffffe3ffffffffff1d1de3ff -ffffff1d8effffffffffffffffffffff721d56ffffffffffffffffffffffffe3ffffffff -ff5639ffffffff391db8ffffffffff721d80ffff391dc6ffffffffffe31d1db8ffffff1d -1d48fffffffffffffff1ffffffffaa1d8effffffe31d1dffffffffff391dc6ffffffffff -e31d1db8ffffe31d1d80ffffffffffffff482bffffffffe31db8ffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffffffffffe3c6aa2b1dc6ffffffff641de3ffff -d41dc61d1de3ffff8e64ffffffffffaa1d48ffffffffff561d8ee3e3e3e3e3391d64ffff -8e1d56ffffffffff8e1d56fffff11d1df1ffffffffffffffc61d56e3e3e3e3e3b81d1de3 -ffffffffffffffffc61d1dc6ffffffffffffffffffffffc61d1dffffffffff801d48ffff -ffff48f1ffffff721d56e3e3e3e3e3561d80ffffc61d2bffffffffffffffff1d72ffffff -ffe31d1dc6ffffffffb81d8effffff641d8effffffffffff481d1df1ffff721d80ffffff -ffe31d1db8e3e3e3e3b81d1de3ffffffffffffffffe31dc6ffffffffff801d2bc6ffffe3 -56ffffffffffffffffe3c6aa2b1dc6ffffffc61d1dffffffffffe31d1de3ffff9c1d56ff -ffffffffffe31d1db8ffffc61d8effffffffff561d56ffffffffffffffe3b89c1d1de3ff -ffffff1d8effffffffffffffffffffff721d56ffffffffffffffffffffffffffffffe3c6 -aa3939ffffffff391de3ffffffffffe31d56ffd41d1dffffffffffffff391d80ffffff1d -1daaffffffffffffffffffffd4b8641d8effffffe31d1dffffffffd41d1dffffffffffff -ff391d80ffffe31d1de3ffffffffffffff8e1d9cffffff8e39f1ffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffffffaa481d569c391dc6ffffffff9c1d80ffff -808eff481db8ffff56f1ffffffffffaa1d56ffffffffff1d1d1d1d1d1d1d1d1d39aaffff -8e1d56ffffffffff8e1d56ffffd41d1dffffffffffffffff8e1d1d1d1d1d1d1d1d2b56ff -ffffffffffffffffc61d1dc6ffffffffffffffffffffffc61d1dffffffffffd41d1df1ff -ffb872ffffffff561d1d1d1d1d1d1d1d39aaffffc61d39ffffffffffffffff1d72ffffff -ffe31d1dffffffffffc61d8effffff481d8effffffffffff8e1d1de3ffff721d8effffff -ffc61d1d1d1d1d1d1d1d1d48ffffffffffffffffffe31dc6ffffffffffff641d1dd4ffe3 -56ffffffffffffaa481d569c391dc6ffffffc61d1dffffffffffe31d1de3ffff801d56ff -ffffffffffff1d1daaffffc61d8effffffffff561d56ffffffffff8e391d64aa1d1de3ff -ffffff1d8effffffffffffffffffffff721d56ffffffffffffffffffffffffffb8391d48 -8e4839ffffffff391de3ffffffffffff1d56ffb81d1dffffffffffffff561d72ffffff1d -1dc6ffffffffffffffe3641d2b72721d8effffffe31d1dffffffffb81d1dffffffffffff -ff561d72ffffe31d1dffffffffffffffffd41d2bffffff56c6ffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffc639489ce3ffff391dc6ffffffffd41d2bffff -56f1ff8e1d64fff164ffffffffffffaa1d56ffffffffff1d1daaffffffffffffffffffff -8e1d56ffffffffff8e1d56ffffc61d1de3ffffffffffffff8e1d72ffffffffffffffffff -ffffffffffffffffc61d1dc6ffffffffffffffffffffffc61d1dffffffffffff561daaff -ff39b8ffffffff561d72ffffffffffffffffffffc61d39ffffffffffffffff1d72ffffff -ffe31d1df1ffffffffc61d8effffff391d80ffffffffffff8e1d1de3ffff721d8effffff -ffc61d1de3ffffffffffffffffffffffffffffffffe31dc6ffffffffffffe32b1d48e3e3 -56ffffffffc639489ce3ffff391dc6ffffffc61d1dffffffffffe31d1de3ffff641d48ff -ffffffffffff1d1daaffffc61d8effffffffff561d56ffffffaa2b56aae3ffff1d1de3ff -ffffff1d8effffffffffffffffffffff721d56ffffffffffffffffffffffd44839b8e3ff -ff5639ffffffff391de3ffffffffffff1d80ffaa1d1df1ffffffffffff561d72ffffff1d -1dc6ffffffffffff8e2b80d4ffffaa1d8effffffe31d1dffffffffaa1d1df1ffffffffff -ff561d72ffffe31d1dffffffffffffffffff391db8ffe356ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffff80ffff391dc6ffffffff391dc6ffffffffff391db872 -8effffe31d1dd49cb8ffffffffffffaa1d56ffffffffff481d80ffffffffffffffffffff -8e1d56ffffffffff8e1d56ffffe31d1db8ffffffffffffffb81d48ffffffffffffffffff -ffffffffffffffffc61d1dc6ffffffffffffff80ffffffc61d1dfffffffffffff12b48ff -9c64ffffffffff641d48ffffffffffffffffffffc61d39ffffffffffffffff1d72ffffff -ffe31d1dc6ffffffffc61d8effffff641d56ffffffffffff801d48ffffff721d8effffff -ffe31d1db8ffffffffffffffffffffffffffffffffe31dc6ffffffffffffffc61d1d39b8 -56ffffffff391dc6ffffffff391dc6ffffffc61d1dffffffffffe31d1de3ffff9c1d2bf1 -ffffffffffff1d1de3ffffc61d8effffffffff561d56fffff11d1de3ffffffff1d1de3ff -ffffe31d72ffffffffffffffffffffff721d56ffffffffffffffe356ffff561daaffffff -ff5639ffffffff1d1de3ffffffffffc61db8ffd41d1d8effffffffffff561d9cffffff1d -1dc6ffffffffff9c1d56ffffffffaa1d8effffffe31d1dffffffffd41d1d8effffffffff -ff561d9cffffe31d1dffffffffffffffffff8e1d56ff9cb8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffff56ffff1d1de3ffffffff391dc6ffffffffff641d641d -e3ffffff721d5664ffffffffffffffaa1d56ffffffffffaa1d48ffffffffffffffffffff -8e1d56ffffffffff8e1d56ffffff391d64ffffffffffffffff2b1de3ffffffffffffffff -ffffffffffffffffc61d1dc6ffffffffffffff56ffffffc61d1dffffffffffffff721dd4 -64f1ffffffffff9c1d1df1ffffffffffffffffffc61d39ffffffffffffffff1d72ffffff -ffe31d1dc6ffffffffc61d80ffffff801d1dffffffffffff481dc6ffffff721d8effffff -ffff391d80ffffffffffffffffffffffffffffffffe31dc6ffffffffffffffffb81d1d39 -56ffffffff1d1de3ffffffff391dc6ffffffc61d1dffffffffffe31d1de3ffffb81d1d9c -ffffffffffe31d39ffffffc61d8effffffffff561d56ffffe31d1dfffffffff11d1de3ff -ffffc61d72ffffffffffffffffffffff721d56ffffffffffffffaa56ffff391dc6ffffff -ff4839ffffffff1d1de3ffffffffff5639ffffff1d1d2bffffffffffff391de3ffffff1d -1dc6ffffffffff8e1d72ffffffff9c1d8effffffe31d1dffffffffff1d1d2bffffffffff -ff391de3ffffe31d1dffffffffffffffffffd41d1de348ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff801d72ffffffffffffffaa64fff11d1db8ffffc6642b1dc6ffffffffff9c1d1d80 -ffffffffe31d1d64ffffffffffffffaa1d39ffffffffffff481d80e3ffffffffd4ffffff -801d56ffffffffff8e1d56ffffffd41d2b9cffffffffffffff801d39d4ffffffffe3d4ff -ffffffffffffffffb81d1dc6ffffffffffffe348ffffffc61d1dffffffffffffffb81d48 -64ffffffffffffe3391d72ffffffffffc6e3ffffc61d1dffffffffffffffff1d72ffffff -ffe31d1dc6ffffffffb81d72ffffffd41d1db8ffffffffd41d64ffffffff721d72ffffff -ffffc62b2bb8ffffffffffd4ffffffffffffffffffe31db8ffffffffffffffffff801d1d -56fffffff11d1db8ffffc6642b1dc6ffffffc61d1de3ffffffffe31d1de3ffffff481d2b -e3ffffffff8e1d9cffffffb81d8effffffffff561d56ffffd41d1dd4ffffb8641d1de3ff -ffffc61d72ffffffffffffffffffffff641d56ffffffffffffff8072ffff2b1d9cffffe3 -723939ffffffff1d1d8effffffffaa39b8ffffffaa1d1db8ffffffffd41d9cffffffff1d -1d8effffffffff801d48ffffffaa561d8effffffe31d1db8ffffffffaa1d1db8ffffffff -d41d9cffffffe31d1dc6ffffffffffffffffff481d4864ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -fffff1391d48b8c6c6c6b88e641d72ffff481d1d808056ff391db8ffffffffffd41d1dff -ffffffffff561d8effffffffffffff9c1d39ffffffffffffc61d1d39aae3b86448ffffff -561d39ffffffffff8e1d48ffffffff9c1d1d48c6e3b839b8fff12b1d1d80e3e39c2be3ff -fffffffffffffff1641d1d80c6c6c6c69c722b56ffffffb81d1de3ffffffffffffff1d1d -9cffffffffffffffe32b1d2b9cf1d4561df1ffffb81d1df1ffffffffffffc61d56ffffff -ffe31d1daaffffffff8e1d64ffffffffc61d39e3ffffff4839e3ffffffff641d64ffffff -ffffff8e1d1d56c6e39c3980ffffffffffffffffffb81d9cffffffffffffffffffff481d -56ffffffff481d1d808056ff391db8ffffffff1d1d2b8e56e3ffd41d1dc6ffffffff391d -56ffffffd41d80ffffffff8e1d80ffffffffff561d48ffffff2b1d2b8e6480ff1d1dd4ff -ffffb81d64ffffffffffffffffffffff391d39aac6c6c6b88e721d8effff641d1d807248 -f1562bffffffff1d1d1d39b8b87256ffffffffffff721d39e3ffffff4880fffffffff11d -1d80ffffffffffb81d1d568e399caa1d72ffffffff2b1d1d6472c6ffff721d39e3ffffff -4880ffffffffd41d1db8ffffffffffffffffffc61d1db8ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffff8e5656565656565656565656b8ffffc664393980f1ff645664b8ffffffffff4872ff -ffffffffff9c39d4ffffffffffb8726456566472e3ffffffffb864391d2b568ee3ffd480 -56565664c6ffffff9c565672c6ffffff8e562b1d39569cffffffd480481d1d3964d4ffff -ffffffffffffff9c56565656565656565656569cffd48e6456566480f1ffffffffff6439 -e3ffffffffffffffffd464391d1d489cf1ffff8e6456565672c6ffffe38e645656729cff -b86456565672f1ffffaa565672b8ffffffb8481d5672649cffffffff9c725656566480ff -ffffffff8e562b1d3964aaffffffffffffffffc67256565672b8ffffffffffffffffff64 -56ffffffffc664393980f1ff64566472ffffff9c483956b8e38e6456566480e3ffffe364 -392b646464b8ffffffc68056565672b8ffffff64565664aaffb85639488effff565664c6 -e38e56565672aaffffffffffffffff9c5656565656565656565656d4ffffe364484880e3 -ff805664aafff172b856391d489cf1fffffffffffff18e48396464649cffffffffaa6456 -565664aaffffffff9c563956c6ffb8565672ffffffd45639488efffffff18e4839646464 -9cffffffff9c6456565664c6ffffffffffffffff482bf1ffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffff64c6ffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffff48ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffff728effffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd41de3ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffb8c6e3568effffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffff561d1d80ffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffc68ed4ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffe3d49c56ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -aa1d1d1d1dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6ffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff18e9cffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -e3648e8e8e8e8e8e8e8e8e8e8e8e80c6ffffffffffffffffffffffffffffffffffffffff -ffffb81d1dffffffffffffffffffffffffffffffffffffffffffffffffffffffaa9cf1ff -ffffffffffffffffffffffffffffffffffffffffffffffffe380481d56ffffffffffffff -ffff8e728e8e8e8072c6ffffffffffffffffffffffffffffffffffffffb81d1d1de3ffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb89cffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb872728e -807272727272728eaad4ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ff1d1d565656561d1d39565656391dc6ffffffffffffffffffffffffffffffffffffffff -ffffc61d1dffffffffffffffffffffffffffffffffffffffffffffffffffffd41d1d9cff -ffffffffffffffffffffffffffffffffffffffffffffffffffff641d56ffffffffffffff -ffffffe3561d1d9cffffffffffffffffffffffffffffffffffffffffe348c6c648e3ffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61d1d72ffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3721d -1d568e8e8e80561d1d1d80ffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ff1db8ffffffff391d8effffffff64c6ffffffffffffffffffffffffffffffffffffffff -ffffe31d1dffffffffffffffffffffffffffffffffffffffffffffffffffffe31d1d9cff -ffffffffffffffffffffffffffffffffffffffffffffffffffff8e1d56ffffffffffffff -ffffffff9c1d1dffffffffffffffffffffffffffffffffffffffffff56b8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffff19ce3ffffffffe31d1d80ffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd41d -39ffffffffffffe3aa481d48e3ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe38ee3ffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffb8b8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ff1dc6ffffffff391d8effffffff72c6ffffffffffffffffffffffffffffffffffffffff -ffffe31d1dffffffffffffffffffffffffffffffffffffffffffffffffffffffc6c6ffff -ffffffffffffffffffffffffffffffffffffffffffffffffffff8e1d56ffffffffffffff -ffffffffaa1d1dffffffffffffffffffffffffffffffffffffffff9c1de3ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffe31d1dc6ffffffffffe3c6ffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1d -39ffffffffffffffffe31d1d48ffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61d1dc6ffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffff561d8effffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ff72e3ffffffff391d8effffffffaae3ffffffffffffffffffffffffffffffffffffffff -ffffe31d1dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffff8e1d56ffffffffffffff -ffffffffaa1d1dffffffffffffffffffffffffffffffffffffffff391de3ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffe31d1de3ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1d -48ffffffffffffffffff9c1d1d80ffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61d1dffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffff561d9cffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8efffffffffffffffff1d4c6e3ffffffffffffffffffe3c6c6e3ff -ffffe31d1dffffffe3e3fffffffffffffffff1fffffff1e3e3ffffffffffffffffffe3ff -fffffffffffff1c6c6d4f1fffffffffff1e3e3ffffffffffffffaa1d64ffffffffffffff -ffffffffaa1d1dfffffffffffffff1ffffe3e3f1ffffffffffffff1d1de3ffffffffffff -ffffe3c6e3f1fffffffffffffffffffffff1e3e3fffffffff1ffffe3e3e3ffffffffffe3 -e3ffffffffffffffffffffe3e3e3ffffffffffffe31d1de3ffffffffffffffe3ffffffff -fffffff1c6c6f1ffffffffffffffffe3ffffffe3e3ffffffffffffffffffffffffffff1d -56fffffffffffffffffff1391d1de3fffffffffff1d4d4fffffffffffffffff1ffffffe3 -e3e3ffffffffffffffffffe3e3e3ffffffffffffffffffe3ffffe3e3ffffc61d1dffffff -fffffffff1ffffffe3e3f1fffffffff1e3e3fffffffffffffffffff1d4c6e3ffffffffff -fffff1ffffffe3e3ffffffffffffff561daaffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8effffffffffffff8e1d1d1d1db8fffffffffffff1721d1d1d1d56 -f1ffe31d1dfff1481d1d39d4ffffffffffb82bc6ff801d1d1d80ffffffffffd4801daaff -ffffffffff8e1d1d1d1d2be3ffffffb81d1d1d1d9cffffffffffaa1d72ffffffffffffff -ffffffffaa1d1dfffffffff18e2baaff801d1d1d72ffffffffffff1d1de3ffffffffffff -c6391d1d1d1d8effffffffffe39c39c6f1481d56ffffb86456ff801d1d1d72ffffe3391d -1d48f1fffffffffffff1561d1d1d64f1ffffffffe31d1de3ffffffffe38e398effffffff -ffe3721d1d1d1d56e3ffffffffe3561dfff1391d1d39d4ffffffffffffffffffffffff1d -56ffffffffffffffffffff801d1d9cffffffff8e1d1d1d1db8ffffffffd48039fff1481d -1d1d48f1fffffffffff1561d1d1d64f1ffffffffffb8562bff801d1dffffc61d1dffffff -fffff19c2bffe3391d1d2be3ffff9c1d1d1d80ffffffffffffff8e1d1d1d1d72ffffffff -d48056ffd42b1d1d2bc6ffffffffff561daaffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8effffffffffe36480f1ffff8e1d80fffffff18e568eb8b88e391d -f1ffe31d1db8566472391d1daaffffb8562b1db8806472642b1d56f1ffff80641d1daaff -ffffffd44880b8c6aa641de3ffe35664b8aa721d1dc6ffffffffaa1d72ffffffffffffff -ffffffffaa1d1dffffffaa641d1d8e806472561d1d64ffffffb8561d1d1d1d1db8fff180 -48b8f1ffe3641d56e3ffff8e561d1dc6481d1d56c664391d56646472641d1d72b8488080 -481d39d4ffffffff8e489caa8e391d56fffff18e481d1d1d1d1daaaa641d1d8effffffff -b84880e3fff18e1d39e3ffe372481d1db85672642b1d1db8ffffffffffffffffffffff1d -56ffffffffffffffffffffb81d1d9cffffb83980f1ffe3561d80ffd464391d39c6396472 -561d1d48e3ffffff8e489caa9c391d56ffffffc664391d56b81d1d1dffaa391d1d1d1d1d -e39c562b1dd4567272481d39f180648e641d1d64ffffffffe36480f1ffff8e1d56ffff72 -561d56b8647272391d2bc6ffffb8641d1d1d1d1d39ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8effffffffff2b2bffffffffff2b1dc6ffff801db8ffffffffb82b -ffffe31d1d64ffffffff481d56ffffffff721d1dc6ffffffc61d1db8ffffffff391daaff -fffff1398effffffffff64e3ffc61dffffffff9c1d64ffffffffaa1d72ffffffffffffff -ffffffffaa1d1dffffffffff391d39e3ffffff8e1d1df1ffffffff1d1de3ffffffff8e1d -9cfffffffff12b1d48ffffffff1d1d56aaff6472ffff9c1d1db8ffffff9c1d1d64ffffff -ff1d1d8effffffff56f1ffffffc61d1db8ffffffe31d1dffffffffffff1d1d8effffffc6 -1d64ffffffffff801d64ffffffc61d1d80fffffff1481d64ffffffffffffffffffffff1d -56ffffffffffffffffffffc61d1d8effff1d39ffffffffff2b1dc6ffffc61d2b56ffffff -ffd4391d56ffffff56f1ffffffc61d1db8ffffffff8e1d5656f1c648ffffc61d39ffffff -ffffff641d2be3ffffff641d2b9cffffff9c1d1dc6ffffff2b2bffffffffff391dc6ffff -ff1d1d72ffffffe31d1d48ffffffff561dc6ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8effffffffb81d56ffffffffff561d9cfff12b39f1ffffffffc664 -ffffe31d1de3ffffffff9c1d39ffffffff8e1d8effffffffff481d9cffffffff391daaff -ffff561de3ffffffffff80ffffe3b8ffffffffff2b56ffffffffaa1d72ffffffffffffff -ffffffffaa1d1dffffffffff561d8effffffffe31d1db8ffffffff1d1de3ffffffff391d -e3ffffffffffb81d1db8ffffff1d1d8effffffd4ffffaa1d39ffffffffe31d1db8ffffff -ff641d72ffffffffc6ffffffffff481d8effffffe31d1dffffffffffff1d1d8effffff72 -1d9cffffffffffff391de3ffffe31d1de3ffffffff8e1d56ffffffffffffffffffffff1d -56ffffffffffffffffffffc61d1d9cffaa1d9cffffffffff561d9cffffc61d1de3ffffff -ffff9c1d1de3ffffc6ffffffffff481d8effffffff8e1d1dc6ffffc6ffffc61d39ffffff -ffffff721db8ffffffffaa1d1de3ffffffff391daaffffb81d56ffffffffff801d9cffff -ff3939ffffffffff9c1d1dffffffff561dc6ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8effffffff641d56c6c6c6c6c6561d80ffb81d72ffffffffffffff -ffffe31d1dffffffffffc61d39ffffffff8e1dc6ffffffffff561d8effffffff391daaff -ffd41d2bffffffffffffffffffffffffe3c69c8e2b56ffffffffaa1d72ffffffffffffff -ffffffffaa1d1dffffffffff561daaffffffffff1d1d8effffffff1d1de3ffffffd41d1d -ffffffffffffff391d80ffffff1d1de3ffffffffffffaa1d56ffffffffff1d1dc6ffffff -ff8e1d72ffffffffffffffd4aa8e391d8effffffe31d1dffffffffffff1d1d8effffff1d -1dc6ffffffffffff721d64ffffe31d1dffffffffffaa1d39ffffffffffffffffffffff1d -56ffffffffffffffffffff8e1d1dc6ff641d8ec6c6c6c6c6561d80ffffc61d39ffffffff -ffffff1d1db8ffffffffffe3b88e391d8effffffff8e1d48ffffffffffffc61d39ffffff -ffffff721dffffffffffc61d1dffffffffff561daaffff641d56c6c6c6c6c68e1d80ffff -ff3956ffffffffffc61d1de3ffffff561dc6ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8effffffff561d3956565656565672c6ff8e1d8effffffffffffff -ffffe31d1dffffffffffc61d39ffffffff8e1dc6ffffffffff561d8effffffff391daaff -ffb81d39fffffffffffffffffffff1721d398ed43956ffffffffaa1d72ffffffffffffff -ffffffffaa1d1dffffffffff561daaffffffffff1d1d8effffffff1d1de3ffffffaa1d1d -ffffffffffffff561d72ffffff1d1de3ffffffffffffaa1d56ffffffffff1d1de3ffffff -ff8e1d72ffffffffff9c391d72b8561d8effffffe31d1dffffffffffff1d1d8effffc61d -1dc6ffffffffffff8e1d56ffffe31d1dffffffffffaa1d39ffffffffffffffffffffff1d -56ffffffffffffffffffff481d2bffff561d4856565656565672c6ffffc61d39ffffffff -ffffff391dc6ffffff9c2b1d56b8561d8effffffff8e1d56ffffffffffffc61d39ffffff -ffffff721dffffffffffc61d56ffffffffff561daaffff561d3956565656565664c6ffff -ff3956ffffffffffc61d1de3ffffff561dc6ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8effffffff561d64ffffffffffffffffff8e1d56ffffffffffffff -ffffe31d1dffffffffffc61d39ffffffff8e1dc6ffffffffff561d8effffffff391daaff -ffaa1d1dffffffffffffffffffaa1d56e3ffffff3956ffffffffaa1d72ffffffffffffff -ffffffffaa1d1dffffffffff561daaffffffffff1d1d8effffffff1d1de3ffffffaa1d1d -f1ffffffffffff561d80ffffff1d1de3ffffffffffffaa1d56ffffffffff1d1de3ffffff -ff8e1d72ffffffe3481d9cffffff561d8effffffe31d1dffffffffffff1d1d8effffc61d -1db8ffffffffffff8e1d64ffffe31d1dffffffffffaa1d39ffffffffffffffffffffff1d -56ffffffffffffffffffe31d1daaffff561db8ffffffffffffffffffffc61d39ffffffff -ffffff2b1de3fff1481d9cf1ffff561d8effffffff8e1d56ffffffffffffc61d39ffffff -ffffff721dffffffffffc61d48ffffffffff561daaffff561d64ffffffffffffffffffff -ff3956ffffffffffc61d1de3ffffff561dc6ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8effffffff641d56ffffffffffffffffffaa1d1dffffffffffffff -ffffe31d1dffffffffffc61d39ffffffff8e1dc6ffffffffff561d8effffffff391daaff -ffc61d1de3ffffffffffffffff481db8ffffffff3956ffffffffaa1d56ffffffffffffff -ffffffffaa1d1dffffffffff561daaffffffffff1d1d8effffffff1d1de3ffffffc61d1d -d4ffffffffffff561d8effffff1d1de3ffffffffffffaa1d56ffffffffff1d1dc6ffffff -ff8e1d72ffffff641d80ffffffff561d8effffffe31d1dffffffffffff1d1d8effffff1d -1d9cffffffffffff8e1d9cffffe31d1dffffffffffaa1d39ffffffffffffffffffffd41d -56ffffffffffffffffff8e1d56ffffff641d8effffffffffffffffffffc61d39ffffffff -fffff11d56ffffb81d80ffffffff561d8effffffff8e1d56ffffffffffffc61d39ffffff -ffffff721dffffffffffc61d1dffffffffff561daaffff641d56ffffffffffffffffffff -ff3956ffffffffffc61d1de3ffffff561dc6ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8effffffff8e1d2be3ffffffffffffffffd41d1daaffffffffffff -ffffe31d1dffffffffffc61d39ffffffff8e1dc6ffffffffff561d8effffffff391daaff -ffe31d1d8efffffffffffffff11d1de3ffffffff2b56ffffffff8e1d56ffffffffffffff -ffffffffaa1d1dffffffffff561daaffffffffff1d1d8effffffe31d1de3fffffff11d1d -9cffffffffffff391dd4ffffff1d1de3ffffffffffffaa1d56ffffffffff1d1dc6ffffff -ff8e1d64ffffff1d1dc6ffffffff481d8effffffe31d1dffffffffffff1d1d8effffff48 -1d64ffffffffffff7239e3ffffe31d1dffffffffffaa1d39ffffffffffffffffffffc61d -48ffffffffffffffffe32b39c6ffffff8e1d39e3ffffffffffffffffffc61d39ffffffff -ffffb82be3ffff801dc6ffffffff481d8effffffff8e1d48ffffffffffffc61d39ffffff -ffffff721dffffffffffc61d1dffffffffff561d9cffff8e1d2be3ffffffffffffffffff -ff3956ffffffffffc61d1de3ffffff561dc6ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffff391d8effffffffe3481d64e3ffffffffaae3ffff561d39aaffffffffe3 -ffffc61d1dffffffffffb81d39ffffffff801dc6ffffffffff561d8effffffff391daaff -ffffc61d2b9cf1fffffff1f1f11d1d9cffffb8642b56ffffffff8e1d56ffffffffffffff -ffffffff9c1d1dffffffffff481daaffffffffff1d1d8effffffe31d1de3ffffffff801d -39e3ffffffff802bb8ffffffff1d1dc6ffffffffffff9c1d56ffffffffff1d1dc6ffffff -ff801d56fffff11d1d56f1ffd480391d8effffffe31d1dc6ffffffffff1d1d8effffffb8 -1d1daaffffffffd42bb8ffffffe31d1dffffffffffaa1d39ffffffffffffffffffffc61d -39ffffffffffffd48e2b64ffffffffffe3391d64e3ffffffffaae3ffffc61d1d9cffffff -ffaa48c6ffffff8e1d56f1ffe380391d8effffffff8e1d1dffffffffffffc61d1dc6ffff -ffffff641dffffffffffc61d1dffffffffff481d8effffe3481d64e3ffffffffd4e3ffff -ff3956ffffffffffc61d1de3ffffff641d8effffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffb81d1d56fffffffffff1481d1d64b89c3939ffffffe32b1d1d48aa9c562b -f1ffc61d1de3ffffffffaa1d1dffffffff641d8effffffffff561d80fffffff11d1d8eff -ffffff9c1d1d488eb88e39e3ff561d1d482b80ff3939ffffffff801d39ffffffffffffff -ffffffff641d1db8ffffffff391d8effffffffff1d1d64ffffffc61d1d9cffffffffe339 -1d2bd4ffff8e1daaffffffffe31d1d9cffffffffffff8e1d39ffffffffe31d1daaffffff -ff721d48ffffff8e1d1d393939e3561d56ffffffff391d1d5639d4ffe31d1d48ffffffff -801d1d9cffffc61d72ffffffffb81d1de3ffffffffaa1d2bf1fffffffffffffffff1561d -1d56808e8e642b1d1d8effffffffffffffaa1d1d1d64b88e3939ffffffc61d1d1d2b808e -392bc6ffffffffc61d1d395639e3561d56ffffffff561d1de3fffffffffff11d1d1d4839 -ffffff561db8ffffffffb81d1de3ffffffff391d80fffffff1481d1d64b89c482bffffff -f11d39ffffffffffc61d1dc6ffffffaa1d1d394864ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffe36472808e80728effffffffe38056394864aafffffffffff18e564848568ee3 -e38e7272726480f1ffffc67272649cb88e72727272c6ffffff80726472c68e7272727280 -ffffffff9c6448395664b8ffffe3805664b8ffff807272b8ff8e647272729cffffffffff -ffff8e727272727272c6aa8072727272c6fffff172727272d48e8072727272aafffffff1 -8e563964648ed4fffffff1806472727272aaffffc68e72726472aaff8e8072727272e3ff -ff9c7264729cffff9c56569cffff8e727272ffffffe3805664aaffb88072727272d4ffff -ffb86439646480b8ffffffe38e8064727280f1ffffb87272728effffffffffffffaa7272 -7272727272808eb8e3ffffffffffffffffffc68e56394872aaffffffffc61d3980565664 -9cf1ffffffffffff9c565672e3ff8e727272ff9c72727272648effffffffffd4645656c6 -ffaa8072727280e3e38e7272727280ffffff80726480ffffffe380563948649ce3ffff8e -727272728effffffb8727272b8ffffff9c56568effffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61d39ffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61d39ffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61d39ffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61d39ffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61d1dffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa1d1de3ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffe38e8e8e8e8e80f1ff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -f1c6c6ffffffd4c6ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff19c645656569ce3ff -ffffffffffffffffffffff8ef1ffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffff1ffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffff1e3ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -e38e801d1d1d728efffffffffffffffffff1561d8effffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffe39c4848809caaaa8e802b48 -80ffffffffffffffffffb81d9cffffffffffffffffffffffffffffffff8e4864644872e3 -ffffffffffffffffffaa488effffffffff56395656565639399cffffff39394856565648 -3948ffffffffffffc6641daaffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff801d64ffffffffffffffffffffffe3391d48ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffc63948c6ffffffffffffffe32b -80ffffffffffffffffff561d48ffffffffffffffffffffffffffffc62b72fffffff1562b -b8ffffffffffffffb81d1daaffffffffff39565656565656569cffffff1d485656565656 -5664ffffff9c7248801d1db8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72fffffffffffffffffffffffff1b8ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffff482bf1ffffffffffffffffff80 -9cfffffffffffffffff11d1d1daaffffffffffffffffffffffffff561dd4ffffffffc61d -56ffffffffffffff48801daaffffffffff39ffffffffffffffffffffff1daaffffffffff -ffffffffff1d8effff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffff561d9cffffffffffffffffffff9c -b8ffffffffffffffff9c80481d39ffffffffffffffffffffffffe31d1dfffffffffff11d -1df1ffffffffff808e8e1daaffffffffff48ffffffffffffffffffffff1db8ffffffffff -ffffffffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffb81d1de3ffffffffffffffffffffff -ffffffffffffffffff56c6c61d1db8ffffffffffffffffffffffaa1d56ffffffffffff39 -1dc6ffffffffc62bff8e1daaffffffffff56ffffffffffffffffffffff1dc6ffffffffff -ffffffffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72fffffffffffffffffffffff1c69c8effffaa9caaaaaa8ee3ffff9caaaa9c -b8ffffffffaa7256729ce3ffffffffe3b89cffc68072c6ffffd49cb8ffc672728ee3ffff -c6807272c6ffffffffffffffe39c7256648ec6ffffffffffffc68effe39c7280ffffffe3 -8e645680b8ffffffffffffffffffffffffffffffff801d39ffffffffffffffffffffffff -ffffffffffffffffd439ffff481d72ffffffffffffffffffffff8e1d39ffffffffffff48 -1db8ffffffff64c6ff8e1daaffffffffff56ffffc6c6e3ffffffffffff1dc6ffe3c6d4ff -ffffffffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffb8641d1d56ffffe3b81d1d8ee3ffffffe3721db8 -e3ffff8e1db8ffffb82b39c6ffd464391d569c1d1d1db8c6641d1d80645672481d1daa8e -648e72391d64ffffffffff8e2baaffffe3561d48e3ffff9c561d39ff561d1d1dffe35656 -e3fff19c1d48e3ffffffffffffffffffffffffffff481d56ffffffffffffffffffffffff -fffffffffffffff1398effff9c1d1df1ffffffffffffffffffffaa1d1de3ffffffffe31d -1daaffffffaa9cffff641daaffffffffff48641d1d1d1d48aaffffffff1d72391d1d1d1d -72e3ffffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffff561d56ffffffff641d80ffffffffff6464ff -ffffc61daaffffffffaa1d2bffffffaa1d4856f1c61dc6ffff641d1dd4ffffff641d1d9c -ffffffc61d1dc6ffffffc61daaffffffffff481d64ffffffff5639489cff8056ff561dd4 -ffffffff641d8effffffffffffffffffffffffffff391d64ffffffffffffffffffffffff -ffffffffffffffb81dd4ffffe31d1daaffffffffffffffffffffff1d1d8effffffff9c1d -1db8ffffff48ffffff561daaffffffffff1d489cb8801d1d1daaffffe31d1d80b88e1d1d -1d56ffffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffff561d56ffffffffe31d56ffffffffe31db8ff -ffff801dffffffffffff1d1dd4ffffaa1d1de3ffffc6e3ffff721d64ffffffffaa1d1de3 -ffffffff391daaffffff6439ffffffffffff9c1d2be3ffffff561d9cffffe3c6e31d39ff -ffffffff8e1d64ffffffffffffffffffffffffffff391d56ffffffffffffffffffffffff -ffffffffffffff6464ffffffff801d64ffffffffffffffffffffff801d1d8eb8c68e721d -1dd4ffff808effffff561daaffffffffff72f1ffffffe3391d48ffffe356d4fffffff172 -1d1db8ffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffff561d56ffffffffff641dd4ffffff9c39ffff -ffff3939ffffffffffff1d1db8ffffaa1d48ffffffffffffff721d8effffffffc61d1dff -ffffffff561daaffffff3956ffffffffffffe31d1dc6ffffff561dffffffffffb81d56ff -ffffffff8e1d48ffffffffffffffffffffffffffff391d48ffffffffffffffffffffffff -fffffffffffff11df1ffffffffff1d1df1fffffffffffffffffffff1481d1d1d1d72e31d -1dffffc61de3ffffff561daaffffffffffffffffffffff9c1d1dfffffffffffffffffff1 -1d1d56ffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffff561d56ffffffffff9c1d48ffffff64d4ffff -ffff1d2b6472727272724856c6ffffaa1d56ffffffffffffff721d8effffffffc61d2bff -ffffffff561daaffffe31d56fffffffffffff11d1daaffffff5639ffffffffff8e1d2b64 -72727272563972ffffffffffffffffffffffffffff561d2bf1ffffffffffffffffffffff -ffffffffffff721d5656565656562b1d64ffffffffffffffffffffffffc68e8eb8ffb81d -48ffff6472c6c6c6c6481d80c6c6ffffffffffffffffffd41d1dc6ffffffffffffffffff -721d1dffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffffffffff561d56fffffffffff11d1dd4ffff56ffffff -ffff1d39ffffffffffffffffffffffaa1d56ffffffffffffff721d8effffffffc61d39ff -ffffffff561daaffffc61d56ffffffffffffff1d1daaffffff5639ffffffffff8e1d56ff -ffffffffffffffffffffffffffffffffffffffffff801d1dc6ffffffffffffffffffffff -ffffffffffe31d9cffffffffffffb81d1de3ffffffffffffffffffffffffffffffff801d -8effe31d1d1d1d1d1d1d1d1d1d1dffffffffffffffffffe31d1dffffffffffffffffffff -8e1d56ffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffffc6ffffff561d56ffffffffffff561d8effaaaaffffff -ffff1d2bffffffffffffffffffffffaa1d56ffffffffffffff721d8effffffffc61d1dff -ffffffff561daaffffe31d39ffffffffffffff1d1dc6ffffff5639ffffffffff9c1d39ff -ffffffffffffffffffffffffffffffffffffffffffd41d1d72ffffffffffffffffffffff -ffffffffff8e1de3fffffffffffff12b1d8effffffffffffffffffffffffffffffe3392b -e3ffc6808e8e8e8e8e391d648e80ffffffffffffffffffe31d39ffffffffffffffffffff -801d8effffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffff56ffffff561d56ffffffffffffb81d39f164ffffffff -ffff561d8effffffffffffffffffffaa1d56ffffffffffffff721d8effffffffc61d1dff -ffffffff561d9cffffff481daaffffffffffe31d39f1ffffff5639ffffffffffc61d1dc6 -ffffffffffffffffffffffd4e3ffffffffffffffffffc61d1d64e3ffffffffffffffffff -fffffffff12bb8ffffffffffffffff801d39f1ffffffffffffffffffffffffffc62b48f1 -ffffffffffffffffff561daaffffff8ee3ffffffffffffaa1d9cffd4aaffffffffffffff -3948ffffffffffffff1d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffff8e1d72ffffffffffffffb856ffffff561d56ffffffffffffff1d1d6472ffffffff -ffff9c1d1dc6ffffffffffffffffffaa1d39ffffffffffffff721d8effffffffc61d1dff -ffffffff561d8effffff8e1d2bffffffffffaa1d80ffffffff561dffffffffffff391d56 -ffffffffffffffffffb82b1dd4ffffffffffffffffffff9c1d1d56ffffffffffffffffff -d4ffffff7239ffffffffffffffffffb81d1d8effffffffffffffffffffffffff392be3ff -ffffffffffffffffff561daaffffffb839ffffffffffff5648ffffff48ffffffffffffaa -1db8ffffffffffffe31d1dc6ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffe3481d56b8c6c6c6b8aa9c4864ffffff391d39ffffffffffffffb81d1db8ffffffff -fffff1481d398ec6d4b88064ffffff9c1d39f1ffffffffffff561d80ffffffffb81d1df1 -ffffffff481d80ffffffe3391d72f1ffffc64864f1ffffffff481de3ffffffffffaa1d1d -489ce3c69c64b8ffff8e1d48ffffffffffffffffffffffff8e2b1d2b72b8d4e3e3c69c56 -80ffffb81d48e3ffffffffffffffffc61d1d1dd4fffffffffffffffffff1aa4880f1ffff -ffffffffffffffffe32b1d8effffffe32b72e3ffffe38e64ffffffff6464b8f1ffe3aa48 -b8ffffffffffffffb81d1d8effffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffff561d1d1d1d1d1d1d1d1d1d1d8effaa391d1d1d1d9cffffffffffff392bf1ffffffff -fffffff1641d1d1d1d1d9cffff9c1d1d1d1d1d1dc6ffffaa481d1d1d1d80d4561d1d1d1d -39ffffff391d1d1d9cffffd42b1d1d72561daaffffffff481d1d1d1d1d64ffffffffe348 -1d1d1d1d48d4ffffff641d9cfffffffffffffffffffffffffff1801d1d1d1d1d1d1d489c -ffff721d1d1d1d39ffffffffffff561d1d1d1d1d8effffffffffffe3802b1daaffffffff -ffffffffffff561d1d1d1d1d1d1dffff8e1d1d1d1d1d72ffffffffffaa1d1d1d1d1d56e3 -ffffffffffff391d1d1d1d1d1d1dffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffe3e3e3e3e3e3e3e3e3e3e3e3fffff1e3e3e3e3e3f1ffffffffffffd4d4ffffffffff -ffffffffffe3b8aac6f1fffffff1e3e3e3e3e3e3fffffff1e3e3e3e3e3e3ffe3e3e3e3e3 -e3ffffffe3e3e3e3f1ffffffffc6aaaab8f1ffffffffffe3e3e3e3e3e3e3fffffffffff1 -d4b8b8d4f1ffffffff3939f1fffffffffffffffffffffffffffffff1c6aaaaaab8d4ffff -ffffe3e3e3e3e3e3ffffffffffffe3e3ffffffe3f1ffffffffffffe39cc6ffffffffffff -ffffffffffffe3e3e3e3e3e3e3e3ffffffd4aaaab8e3ffffffffffffffe3aaaab8e3ffff -ffffffffffffe3e3e3e3e3e3e3e3ffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffff5648ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffb81db8ffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffc6c6ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffe3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -fffffff1c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffe3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffd45656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -56565656565656565656565656565656 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffc63939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -393939393939393939393939393939393939393939393939393939393939393939393939 -39393939393939393939393939393939 -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffd45656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -565656565656565656565656565656565656565656565656565656565656565656565656 -56565656565656565656565656565656 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffe38e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffffe3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffe38e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffe36472727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -72727272727272727272727272727272 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffe36472727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -72727272727272727272727272727272 -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -fffffff1c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffe36472727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -727272727272727272727272727272727272727272727272727272727272727272727272 -72727272727272727272727272727272 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff -ffffffffe3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3 -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -ffffffc61d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d - -showpage - -% stop using temporary dictionary -end - -% restore original state -origstate restore - -%%Trailer diff --git a/executable_names/doc/common/acm.cls b/executable_names/doc/common/acm.cls deleted file mode 100644 index 440a28bfec..0000000000 --- a/executable_names/doc/common/acm.cls +++ /dev/null @@ -1,1357 +0,0 @@ -% "WWW2005-submission.CLS" - VERSION 1.4 -% "COMPATIBLE" WITH THE "ACM_PROC_ARTICLE-SP.CLS" V2.6SP -% PRODUCES A 'TIGHTER' PAPER AND DOES INCLUDE A RELEASE STATEMENT -% SPECIFICALLY TAILORED FOR WWW'YY. (As originally requested by Sheridan Printing 1/24/2002) -% Original by Gerald Murray January 24th. 2002 -% Improved on 11/11/2002 - GM -% Modified for "www2004" 1/26/2004 - GM -% ---- Start of 'updates' ---- -% -% Allowance made to switch default fonts between those systems using -% METAFONT and those using 'Type 1' or 'Truetype' fonts. -% See LINE NUMBER 236 for details. -% Also provided for enumerated/annotated Corollaries 'surrounded' by -% enumerated Theorems (line 790). -% Gerry November 11th. 1999 -% -% Georgia fixed bug in sub-sub-section numbering in paragraphs (July 29th. 2002) -% JS/GM fix to vertical spacing before Proofs (July 30th. 2002) -% Superscript fix Oct. 2002 -% -% ---- End of 'updates' ---- -% -\def\fileversion{v1.4} % for ACM's tracking purposes -\def\filedate{January 26, 2004} % Gerry Murray's tracking data -\def\docdate {Monday 26th. January 2004} % Gerry Murray (with deltas to doc} -\usepackage{epsfig} -\usepackage{amssymb} -\usepackage{amsmath} -\usepackage{amsfonts} -% -% WWW-RELEASE DOCUMENT STYLE -% G.K.M. Tobin August-October 1999 -% adapted from ARTICLE document style by Ken Traub, Olin Shivers -% also using elements of esub2acm.cls -% HEAVILY MODIFIED, SUBSEQUENTLY, BY GERRY MURRAY 2000 -% ARTICLE DOCUMENT STYLE -- Released 16 March 1988 -% for LaTeX version 2.09 -% Copyright (C) 1988 by Leslie Lamport -% -% -%%% www-release.cls is an 'ALTERNATE-RELEASE' document style for producing -%%% two-column camera-ready pages specifically for the WWW'02 conference. -%%% THIS FILE DOES NOT STRICTLY ADHERE TO THE SIGS (BOARD-ENDORSED) -%%% PROCEEDINGS STYLE. It has been designed to produce a 'tighter' -%%% paper in response to concerns over page budgets. -%%% The main features of this style are: -%%% -%%% 1) Two columns. -%%% 2) Side and top margins of 4.5pc, bottom margin of 6pc, column gutter of -%%% 2pc, hence columns are 20pc wide and 55.5pc tall. (6pc =3D 1in, approx) -%%% 3) First page has title information, and an extra 6pc of space at the -%%% bottom of the first column for the ACM copyright notice. -%%% 4) Text is 9pt on 10pt baselines; titles (except main) are 9pt bold. -%%% -%%% -%%% There are a few restrictions you must observe: -%%% -%%% 1) You cannot change the font size; ACM wants you to use 9pt. -%%% 3) You must start your paper with the \maketitle command. Prior to the -%%% \maketitle you must have \title and \author commands. If you have a -%%% \date command it will be ignored; no date appears on the paper, since -%%% the proceedings will have a date on the front cover. -%%% 4) Marginal paragraphs, tables of contents, lists of figures and tables, -%%% and page headings are all forbidden. -%%% 5) The `figure' environment will produce a figure one column wide; if you -%%% want one that is two columns wide, use `figure*'. -%%% -% -%%% -%%% WARNING: -%%% Some dvi-ps converters heuristically allow chars to drift from their -%%% true positions a few pixels. This may be noticeable with the 9pt sans-serif -%%% bold font used for section headers. -%%% You may turn this hackery off via the -e option: -%%% dvips -e 0 foo.dvi >foo.ps -%%% -\typeout{Document Class 'www2005-submission' From www-release by Gerry Murray} -\typeout{Based in part upon document Style `acmconf' <22 May 89>. Hacked 4/91 by} -\typeout{shivers@cs.cmu.edu, 4/93 by theobald@cs.mcgill.ca} -\typeout{Excerpts were taken from (Journal Style) 'esub2acm.cls'.} -\typeout{****** Bugs/comments/suggestions/technicalities to Gerry Murray -- murray@hq.acm.org ******} -\typeout{Questions on the style, SIGS policies, etc. to Julie Goetz goetz@acm.org or Adrienne Griscti griscti@acm.org} -\oddsidemargin 4.5pc -\evensidemargin 4.5pc -\advance\oddsidemargin by -1in % Correct for LaTeX gratuitousness -\advance\evensidemargin by -1in % Correct for LaTeX gratuitousness -\marginparwidth 0pt % Margin pars are not allowed. -\marginparsep 11pt % Horizontal space between outer margin and - % marginal note - - % Top of page: -\topmargin 4.5pc % Nominal distance from top of page to top of - % box containing running head. -\advance\topmargin by -1in % Correct for LaTeX gratuitousness -\headheight 0pt % Height of box containing running head. -\headsep 0pt % Space between running head and text. - % Bottom of page: -\footskip 30pt % Distance from baseline of box containing foot - % to baseline of last line of text. -\@ifundefined{footheight}{\newdimen\footheight}{}% this is for LaTeX2e -\footheight 12pt % Height of box containing running foot. - -%% Must redefine the top margin so there's room for headers and -%% page numbers if you are using the preprint option. Footers -%% are OK as is. Olin. -\advance\topmargin by -37pt % Leave 37pt above text for headers -\headheight 12pt % Height of box containing running head. -\headsep 25pt % Space between running head and text. - -\textheight 666pt % 9 1/4 column height -\textwidth 42pc % Width of text line. - % For two-column mode: -\columnsep 2pc % Space between columns -\columnseprule 0pt % Width of rule between columns. -\hfuzz 1pt % Allow some variation in column width, otherwise it's - % too hard to typeset in narrow columns. - -\footnotesep 5.6pt % Height of strut placed at the beginning of every - % footnote =3D height of normal \footnotesize strut, - % so no extra space between footnotes. - -\skip\footins 8.1pt plus 4pt minus 2pt % Space between last line of text and - % top of first footnote. -\floatsep 11pt plus 2pt minus 2pt % Space between adjacent floats moved - % to top or bottom of text page. -\textfloatsep 18pt plus 2pt minus 4pt % Space between main text and floats - % at top or bottom of page. -\intextsep 11pt plus 2pt minus 2pt % Space between in-text figures and - % text. -\@ifundefined{@maxsep}{\newdimen\@maxsep}{}% this is for LaTeX2e -\@maxsep 18pt % The maximum of \floatsep, - % \textfloatsep and \intextsep (minus - % the stretch and shrink). -\dblfloatsep 11pt plus 2pt minus 2pt % Same as \floatsep for double-column - % figures in two-column mode. -\dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column - % floats. -\@ifundefined{@dblmaxsep}{\newdimen\@dblmaxsep}{}% this is for LaTeX2e -\@dblmaxsep 18pt % The maximum of \dblfloatsep and - % \dbltexfloatsep. -\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be - % 0pt plus ...) -\@fpsep 8pt plus 2fil % Space between floats on float page/column. -\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be - % 0pt plus ... ) -\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...) -\@dblfpsep 8pt plus 2fil % Space between floats on float page. -\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be - % 0pt plus ... ) -\marginparpush 5pt % Minimum vertical separation between two marginal - % notes. - -\parskip 0pt plus 1pt % Extra vertical space between paragraphs. -\parindent 9pt % GM July 2000 / was 0pt - width of paragraph indentation. -\partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to - % \parskip and \topsep, added when user - % leaves blank line before environment. - -\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] -\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] -\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] - -\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. -\@endparpenalty -\@lowpenalty % After a list or paragraph environment. -\@itempenalty -\@lowpenalty % Between list items. - -\@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf' - document style.}\@eha} -\@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf' - document style.}\@eha} -\@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf' - document style.}\@eha} - -\@options - -\lineskip 2pt % \lineskip is 1pt for all font sizes. -\normallineskip 2pt -\def\baselinestretch{1} - -\abovedisplayskip 9pt plus2pt minus4.5pt% -\belowdisplayskip \abovedisplayskip -\abovedisplayshortskip \z@ plus3pt% -\belowdisplayshortskip 5.4pt plus3pt minus3pt% -\let\@listi\@listI % Setting of \@listi added 9 Jun 87 - -\def\small{\@setsize\small{9pt}\viiipt\@viiipt -\abovedisplayskip 7.6pt plus 3pt minus 4pt% -\belowdisplayskip \abovedisplayskip -\abovedisplayshortskip \z@ plus2pt% -\belowdisplayshortskip 3.6pt plus2pt minus 2pt -\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 -\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt -\itemsep \parsep}} - -\def\footnotesize{\@setsize\footnotesize{9pt}\ixpt\@ixpt -\abovedisplayskip 6.4pt plus 2pt minus 4pt% -\belowdisplayskip \abovedisplayskip -\abovedisplayshortskip \z@ plus 1pt% -\belowdisplayshortskip 2.7pt plus 1pt minus 2pt -\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 -\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt -\itemsep \parsep}} - -\newcount\aucount -\newcount\originalaucount -\newdimen\auwidth -\auwidth=\textwidth -\newdimen\auskip -\newcount\auskipcount -\newdimen\auskip -\global\auskip=1pc -\newdimen\allauboxes -\allauboxes=\auwidth -\newtoks\addauthors -\newcount\addauflag -\global\addauflag=0 %Haven't shown additional authors yet - -\newtoks\subtitletext -\gdef\subtitle#1{\subtitletext={#1}} - -\gdef\additionalauthors#1{\addauthors={#1}} - -\gdef\numberofauthors#1{\global\aucount=#1 -\ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi %g} -\global\auskipcount=\aucount\global\advance\auskipcount by 1 -\global\multiply\auskipcount by 2 -\global\multiply\auskip by \auskipcount -\global\advance\auwidth by -\auskip -\global\divide\auwidth by \aucount} - -% \and was modified to count the number of authors. GKMT 12 Aug 1999 -\def\alignauthor{% % \begin{tabular} -\end{tabular}% - \begin{tabular}[t]{p{\auwidth}}\centering}% - -% *** NOTE *** NOTE *** NOTE *** NOTE *** -% If you have 'font problems' then you may need -% to change these, e.g. 'arialb' instead of "arialbd". -% Gerry Murray 11/11/1999 -% *** OR ** comment out block A and activate block B or vice versa. -% ********************************************** -% -% -- Start of block A -- (Type 1 or Truetype fonts) -%\newfont{\secfnt}{timesbd at 12pt} % was timenrb originally - now is timesbd -%\newfont{\secit}{timesbi at 12pt} %13 Jan 00 gkmt -%\newfont{\subsecfnt}{timesi at 11pt} % was timenrri originally - now is timesi -%\newfont{\subsecit}{timesbi at 11pt} % 13 Jan 00 gkmt -- was times changed to timesbi gm 2/4/2000 -% % because "normal" is italic, "italic" is Roman -%\newfont{\ttlfnt}{arialbd at 18pt} % was arialb originally - now is arialbd -%\newfont{\ttlit}{arialbi at 18pt} % 13 Jan 00 gkmt -%\newfont{\subttlfnt}{arial at 14pt} % was arialr originally - now is arial -%\newfont{\subttlit}{ariali at 14pt} % 13 Jan 00 gkmt -%\newfont{\subttlbf}{arialbd at 14pt} % 13 Jan 00 gkmt -%\newfont{\aufnt}{arial at 12pt} % was arialr originally - now is arial -%\newfont{\auit}{ariali at 12pt} % 13 Jan 00 gkmt -%\newfont{\affaddr}{arial at 10pt} % was arialr originally - now is arial -%\newfont{\affaddrit}{ariali at 10pt} %13 Jan 00 gkmt -%\newfont{\eaddfnt}{arial at 12pt} % was arialr originally - now is arial -%\newfont{\ixpt}{times at 9pt} % was timenrr originally - now is times -%\newfont{\confname}{timesi at 8pt} % was timenrri - now is timesi -%\newfont{\crnotice}{times at 8pt} % was timenrr originally - now is times -%\newfont{\ninept}{times at 9pt} % was timenrr originally - now is times -% ********************************************* -% -- End of block A -- -% -% -% -- Start of block B -- METAFONT -% +++++++++++++++++++++++++++++++++++++++++++++ -% Next (default) block for those using Metafont -% Gerry Murray 11/11/1999 -% *** THIS BLOCK FOR THOSE USING METAFONT ***** -% ********************************************* -\newfont{\secfnt}{ptmb at 12pt} -\newfont{\secit}{ptmbi at 12pt} %13 Jan 00 gkmt -\newfont{\subsecfnt}{ptmri at 11pt} -\newfont{\subsecit}{ptmbi at 11pt} % 13 Jan 00 gkmt -- was ptmr changed to ptmbi gm 2/4/2000 - % because "normal" is italic, "italic" is Roman -\newfont{\ttlfnt}{phvb at 18pt} -\newfont{\ttlit}{phvbo at 18pt} % GM 2/4/2000 -\newfont{\subttlfnt}{phvr at 14pt} -\newfont{\subttlit}{phvro at 14pt} % GM 2/4/2000 -\newfont{\subttlbf}{phvb at 14pt} % 13 Jan 00 gkmt -\newfont{\aufnt}{phvr at 12pt} -\newfont{\auit}{phvro at 12pt} % GM 2/4/2000 -\newfont{\affaddr}{phvr at 10pt} -\newfont{\affaddrit}{phvro at 10pt} % GM 2/4/2000 -\newfont{\eaddfnt}{phvr at 12pt} -\newfont{\ixpt}{ptmr at 9pt} -\newfont{\confname}{ptmri at 8pt} -\newfont{\crnotice}{ptmr at 8pt} -\newfont{\ninept}{ptmr at 9pt} -% +++++++++++++++++++++++++++++++++++++++++++++ -% -- End of block B -- - -\def\email#1{{{\eaddfnt{\vskip 4pt#1}}}} - -\def\addauthorsection{\ifnum\originalaucount>3 - \section{Additional Authors}\the\addauthors - \fi} - -\newcount\savesection -\newcount\sectioncntr -\global\sectioncntr=1 - -\setcounter{secnumdepth}{3} - -\def\appendix{\par -\section*{APPENDIX} -\setcounter{section}{0} - \setcounter{subsection}{0} - \def\thesection{\Alph{section}} } - -\leftmargini 22.5pt -\leftmarginii 19.8pt % > \labelsep + width of '(m)' -\leftmarginiii 16.8pt % > \labelsep + width of 'vii.' -\leftmarginiv 15.3pt % > \labelsep + width of 'M.' -\leftmarginv 9pt -\leftmarginvi 9pt - -\leftmargin\leftmargini -\labelsep 4.5pt -\labelwidth\leftmargini\advance\labelwidth-\labelsep - -\def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt% -\topsep 7.2pt plus 2pt minus 4pt% -\itemsep 3.6pt plus 2pt minus 1pt} - -\let\@listi\@listI -\@listi - -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii\advance\labelwidth-\labelsep - \topsep 3.6pt plus 2pt minus 1pt - \parsep 1.8pt plus 0.9pt minus 0.9pt - \itemsep \parsep} - -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii\advance\labelwidth-\labelsep - \topsep 1.8pt plus 0.9pt minus 0.9pt - \parsep \z@ \partopsep 1pt plus 0pt minus 1pt - \itemsep \topsep} - -\def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} - -\def\@listv{\leftmargin\leftmarginv - \labelwidth\leftmarginv\advance\labelwidth-\labelsep} - -\def\@listvi{\leftmargin\leftmarginvi - \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} - -\def\labelenumi{\theenumi.} -\def\theenumi{\arabic{enumi}} - -\def\labelenumii{(\theenumii)} -\def\theenumii{\alph{enumii}} -\def\p@enumii{\theenumi} - -\def\labelenumiii{\theenumiii.} -\def\theenumiii{\roman{enumiii}} -\def\p@enumiii{\theenumi(\theenumii)} - -\def\labelenumiv{\theenumiv.} -\def\theenumiv{\Alph{enumiv}} -\def\p@enumiv{\p@enumiii\theenumiii} - -\def\labelitemi{$\bullet$} -\def\labelitemii{\bf --} -\def\labelitemiii{$\ast$} -\def\labelitemiv{$\cdot$} - -\def\verse{\let\\=\@centercr - \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent - \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} -\let\endverse\endlist - -\def\quotation{\list{}{\listparindent 1.5em - \itemindent\listparindent - \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]} -\let\endquotation=\endlist - -\def\quote{\list{}{\rightmargin\leftmargin}\item[]} -\let\endquote=\endlist - -\def\descriptionlabel#1{\hspace\labelsep \bf #1} -\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin - \let\makelabel\descriptionlabel}} - -\let\enddescription\endlist - -\def\theequation{\arabic{equation}} - -\arraycolsep 4.5pt % Half the space between columns in an array environment. -\tabcolsep 5.4pt % Half the space between columns in a tabular environment. -\arrayrulewidth .4pt % Width of rules in array and tabular environment. -\doublerulesep 1.8pt % Space between adjacent rules in array or tabular env. - -\tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.) - -\skip\@mpfootins =\skip\footins - -\fboxsep =2.7pt % Space left between box and text by \fbox and \framebox. -\fboxrule =.4pt % Width of rules in box made by \fbox and \framebox. - -\def\thepart{\Roman{part}} % Roman numeral part numbers. -\def\thesection {\arabic{section}} -\def\thesubsection {\thesection.\arabic{subsection}} -%\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} % GM 7/30/2002 -%\def\theparagraph {\thesubsubsection.\arabic{paragraph}} % GM 7/30/2002 -\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} - -\def\@pnumwidth{1.55em} -\def\@tocrmarg {2.55em} -\def\@dotsep{4.5} -\setcounter{tocdepth}{3} - -\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not - allowed in the `acmconf' document style.}\@eha} - -\def\l@part#1#2{\addpenalty{\@secpenalty} - \addvspace{2.25em plus 1pt} % space above part line - \begingroup - \@tempdima 3em % width of box holding part number, used by - \parindent \z@ \rightskip \@pnumwidth %% \numberline - \parfillskip -\@pnumwidth - {\large \bf % set line in \large boldface - \leavevmode % TeX command to enter horizontal mode. - #1\hfil \hbox to\@pnumwidth{\hss #2}}\par - \nobreak % Never break after part entry - \endgroup} - -\def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break - \addvspace{1.0em plus 1pt} % space above toc entry - \@tempdima 1.5em % width of box holding section number - \begingroup - \parindent \z@ \rightskip \@pnumwidth - \parfillskip -\@pnumwidth - \bf % Boldface. - \leavevmode % TeX command to enter horizontal mode. - \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to - \hskip -\leftskip %% 25 Jan 88 change to \numberline - #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par - \endgroup} - - -\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} -\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} -\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} -\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} - -\def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not - allowed in the `acmconf' document style.}\@eha} - -\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} - -\def\listoftables{\@latexerr{\listoftables: Lists of tables are not - allowed in the `acmconf' document style.}\@eha} -\let\l@table\l@figure - -\def\footnoterule{\kern-3\p@ - \hrule width .4\columnwidth - \kern 2.6\p@} % The \hrule has default height of .4pt . -\long\def\@makefntext#1{\noindent -\hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1} % C. Clifton / GM Oct. 2nd. 2002 -\long\def\@maketntext#1{\noindent -#1} - -\long\def\@maketitlenotetext#1#2{\noindent - \hbox to 1.8em{\hss$^{#1}$}#2} - -\setcounter{topnumber}{2} -\def\topfraction{.7} -\setcounter{bottomnumber}{1} -\def\bottomfraction{.3} -\setcounter{totalnumber}{3} -\def\textfraction{.2} -\def\floatpagefraction{.5} -\setcounter{dbltopnumber}{2} -\def\dbltopfraction{.7} -\def\dblfloatpagefraction{.5} - -% -\long\def\@makecaption#1#2{ - \vskip \baselineskip - \setbox\@tempboxa\hbox{\textbf{#1: #2}} - \ifdim \wd\@tempboxa >\hsize % IF longer than one line: - \textbf{#1: #2}\par % THEN set as ordinary paragraph. - \else % ELSE center. - \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par - \fi} - -% - -\long\def\@makecaption#1#2{ - \vskip 10pt - \setbox\@tempboxa\hbox{\textbf{#1: #2}} - \ifdim \wd\@tempboxa >\hsize % IF longer than one line: - \textbf{#1: #2}\par % THEN set as ordinary paragraph. - \else % ELSE center. - \hbox to\hsize{\hfil\box\@tempboxa\hfil} - \fi} - -\@ifundefined{figure}{\newcounter {figure}} % this is for LaTeX2e - -\def\fps@figure{tbp} -\def\ftype@figure{1} -\def\ext@figure{lof} -\def\fnum@figure{Figure \thefigure} -\def\figure{\@float{figure}} -\let\endfigure\end@float -\@namedef{figure*}{\@dblfloat{figure}} -\@namedef{endfigure*}{\end@dblfloat} - -\@ifundefined{table}{\newcounter {table}} % this is for LaTeX2e - -\def\fps@table{tbp} -\def\ftype@table{2} -\def\ext@table{lot} -\def\fnum@table{Table \thetable} -\def\table{\@float{table}} -\let\endtable\end@float -\@namedef{table*}{\@dblfloat{table}} -\@namedef{endtable*}{\end@dblfloat} - -\newtoks\titleboxnotes -\newcount\titleboxnoteflag - -\def\maketitle{\par - \begingroup - \def\thefootnote{\fnsymbol{footnote}} - \def\@makefnmark{\hbox - to 0pt{$^{\@thefnmark}$\hss}} - \twocolumn[\@maketitle] -\@thanks - \endgroup - \setcounter{footnote}{0} - \let\maketitle\relax - \let\@maketitle\relax - \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax - \@copyrightspace} - -%% CHANGES ON NEXT LINES -\newif\if@ll % to record which version of LaTeX is in use - -\expandafter\ifx\csname LaTeXe\endcsname\relax % LaTeX2.09 is used -\else% LaTeX2e is used, so set ll to true -\global\@lltrue -\fi - -\if@ll - \NeedsTeXFormat{LaTeX2e} - \ProvidesClass{www2005-submission} [2004/1/26 - V1.4 - based on sig-alt-release.cls] - \RequirePackage{latexsym}% QUERY: are these two really needed? - \let\dooptions\ProcessOptions -\else - \let\dooptions\@options -\fi -%% END CHANGES - -\def\@height{height} -\def\@width{width} -\def\@minus{minus} -\def\@plus{plus} -\def\hb@xt@{\hbox to} -\newif\if@faircopy -\@faircopyfalse -\def\ds@faircopy{\@faircopytrue} - -\def\ds@preprint{\@faircopyfalse} - -\@twosidetrue -\@mparswitchtrue -\def\ds@draft{\overfullrule 5\p@} -%% CHANGE ON NEXT LINE -\dooptions - -\lineskip \p@ -\normallineskip \p@ -\def\baselinestretch{1} -\def\@ptsize{0} %needed for amssymbols.sty - -%% CHANGES ON NEXT LINES -\if@ll% allow use of old-style font change commands in LaTeX2e -\@maxdepth\maxdepth -% -\DeclareOldFontCommand{\rm}{\ninept\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} -\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}} -\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}} -\fi -% -\if@ll - \renewcommand{\rmdefault}{cmr} % was 'ttm' -% Note! I have also found 'mvr' to work ESPECIALLY well. -% Gerry - October 1999 -% You may need to change your LV1times.fd file so that sc is -% mapped to cmcsc - -for smallcaps -- that is if you decide -% to change {cmr} to {times} above. (Not recommended) - \renewcommand{\@ptsize}{} - \renewcommand{\normalsize}{% - \@setfontsize\normalsize\@ixpt{10.5\p@}%\ninept% - \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@ - \belowdisplayskip \abovedisplayskip - \abovedisplayshortskip 6\p@ \@minus 3\p@ - \belowdisplayshortskip 6\p@ \@minus 3\p@ - \let\@listi\@listI - } -\else - \def\@normalsize{%changed next to 9 from 10 - \@setsize\normalsize{9\p@}\ixpt\@ixpt - \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@ - \belowdisplayskip \abovedisplayskip - \abovedisplayshortskip 6\p@ \@minus 3\p@ - \belowdisplayshortskip 6\p@ \@minus 3\p@ - \let\@listi\@listI - }% -\fi -\if@ll - \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}} - \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}} - \newcommand\large{\@setfontsize\large\@xiipt{14\p@}} - \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}} - \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}} - \newcommand\huge{\@setfontsize\huge\@xxpt{25\p@}} - \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}} -\else - \def\scriptsize{\@setsize\scriptsize{8\p@}\viipt\@viipt} - \def\tiny{\@setsize\tiny{6\p@}\vpt\@vpt} - \def\large{\@setsize\large{14\p@}\xiipt\@xiipt} - \def\Large{\@setsize\Large{18\p@}\xivpt\@xivpt} - \def\LARGE{\@setsize\LARGE{20\p@}\xviipt\@xviipt} - \def\huge{\@setsize\huge{25\p@}\xxpt\@xxpt} - \def\Huge{\@setsize\Huge{30\p@}\xxvpt\@xxvpt} -\fi -\normalsize - -% make aubox hsize/number of authors up to 3, less gutter -% then showbox gutter showbox gutter showbox -- GKMT Aug 99 -\newbox\@acmtitlebox -\def\@maketitle{\newpage - \null - \setbox\@acmtitlebox\vbox{% -\baselineskip 20pt -\vskip 2em % Vertical space above title. - \begin{center} - {\ttlfnt \@title\par} % Title set in 18pt Helvetica (Arial) bold size. - \vskip 1.5em % Vertical space after title. -%This should be the subtitle. -{\subttlfnt \the\subtitletext\par}\vskip 1.25em%\fi - {\baselineskip 16pt\aufnt % each author set in \12 pt Arial, in a - \lineskip .5em % tabular environment - \begin{tabular}[t]{c}\@author - \end{tabular}\par} - \vskip 1.5em % Vertical space after author. - \end{center}} - \dimen0=\ht\@acmtitlebox - \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT - \unvbox\@acmtitlebox - \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi} - - -\newcount\titlenotecount -\global\titlenotecount=0 -\newtoks\tntoks -\newtoks\tntokstwo -\newtoks\tntoksthree -\newtoks\tntoksfour -\newtoks\tntoksfive - -\def\abstract{ -\ifnum\titlenotecount>0 % was =1 - \insert\footins{% - \reset@font\footnotesize - \interlinepenalty\interfootnotelinepenalty - \splittopskip\footnotesep - \splitmaxdepth \dp\strutbox \floatingpenalty \@MM - \hsize\columnwidth \@parboxrestore - \protected@edef\@currentlabel{% - }% - \color@begingroup -\ifnum\titlenotecount=1 - \@maketntext{% - \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}% -\fi -\ifnum\titlenotecount=2 - \@maketntext{% - \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% -\@maketntext{% - \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}% -\fi -\ifnum\titlenotecount=3 - \@maketntext{% - \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% -\@maketntext{% - \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% -\@maketntext{% - \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}% -\fi -\ifnum\titlenotecount=4 - \@maketntext{% - \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% -\@maketntext{% - \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% -\@maketntext{% - \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}% -\@maketntext{% - \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}% -\fi -\ifnum\titlenotecount=5 - \@maketntext{% - \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% -\@maketntext{% - \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% -\@maketntext{% - \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}% -\@maketntext{% - \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}% -\@maketntext{% - \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}% -\fi - \color@endgroup} %g} -\fi -\setcounter{footnote}{0} -\section*{ABSTRACT}\normalsize%\ninept -} - -\def\endabstract{\if@twocolumn\else\endquotation\fi} - -\def\keywords{\if@twocolumn -\section*{Keywords} -\else \small -\quotation -\fi} - -\def\terms{\if@twocolumn -\section*{General Terms} -\else \small -\quotation -\fi} - -% -- Classification needs to be a bit smart due to optionals - Gerry/Georgia November 2nd. 1999 -\newcount\catcount -\global\catcount=1 - -\def\category#1#2#3{% -\ifnum\catcount=1 -\section*{Categories and Subject Descriptors} -\advance\catcount by 1\else{\unskip; }\fi - \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}% -} - -\def\@category#1#2#3[#4]{% - \begingroup - \let\and\relax - #1 [\textbf{#2}]% - \if!#4!% - \if!#3!\else : #3\fi - \else - :\space - \if!#3!\else #3\kern\z@---\hskip\z@\fi - \textit{#4}% - \fi - \endgroup -} -% - -%%% This section (written by KBT) handles the 1" box in the lower left -%%% corner of the left column of the first page by creating a picture, -%%% and inserting the predefined string at the bottom (with a negative -%%% displacement to offset the space allocated for a non-existent -%%% caption). -%%% -\newtoks\copyrightnotice -\def\ftype@copyrightbox{8} -\def\@copyrightspace{ -\@float{copyrightbox}[b] -\begin{center} -\setlength{\unitlength}{1pc} -\begin{picture}(20,0) %Space for (specific) copyright notice was 20,6 -\put(0,-0.95){\crnotice{\@toappear}} -\end{picture} -\end{center} -\end@float} - -\def\@toappear{} % Default setting blank - commands below change this. -\long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}} -\def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}} - -\newtoks\conf -\newtoks\confinfo -\def\conferenceinfo#1#2{\global\conf={#1}\global\confinfo{#2}} - - -\def\marginpar{\@latexerr{The \marginpar command is not allowed in the - `acmconf' document style.}\@eha} - -\mark{{}{}} % Initializes TeX's marks - -\def\today{\ifcase\month\or - January\or February\or March\or April\or May\or June\or - July\or August\or September\or October\or November\or December\fi - \space\number\day, \number\year} - -\def\@begintheorem#1#2{% - \parskip 0pt % GM July 2000 (for tighter spacing) - \trivlist - \item[% - \hskip 10\p@ - \hskip \labelsep - {{\sc #1}\hskip 5\p@\relax#2.}% - ] - \it -} -\def\@opargbegintheorem#1#2#3{% - \parskip 0pt % GM July 2000 (for tighter spacing) - \trivlist - \item[% - \hskip 10\p@ - \hskip \labelsep - {\sc #1\ #2\ % This mod by Gerry to enumerate corollaries - \setbox\@tempboxa\hbox{(#3)} % and bracket the 'corollary title' - \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems - \hskip 5\p@\relax % if they occur 'around' said corollaries. - \box\@tempboxa % Gerry - Nov. 1999. - \fi.}% - ] - \it -} -\newif\if@qeded - -% -- original -%\def\proof{% -% \vspace{-\parskip} % GM July 2000 (for tighter spacing) -% \global\@qededfalse -% \@ifnextchar[{\@xproof}{\@proof}% -%} -% -- end of original - -% (JSS) Fix for vertical spacing bug - Gerry Murray July 30th. 2002 -\def\proof{% -\vspace{-\lastskip}\vspace{-\parsep}\penalty-51% -\global\@qededfalse -\@ifnextchar[{\@xproof}{\@proof}% -} - -\def\endproof{% - \if@qeded\else\qed\fi - \endtrivlist -} -\def\@proof{% - \trivlist - \item[% - \hskip 10\p@ - \hskip \labelsep - {\sc Proof.}% - ] - \ignorespaces -} -\def\@xproof[#1]{% - \trivlist - \item[\hskip 10\p@\hskip \labelsep{\sc Proof #1.}]% - \ignorespaces -} -\def\qed{% - \unskip - \kern 10\p@ - \begingroup - \unitlength\p@ - \linethickness{.4\p@}% - \framebox(6,6){}% - \endgroup - \global\@qededtrue -} - -\def\newdef#1#2{% - \expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}% - \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% - \global\@namedef{#1}{\@defthm{#1}{#2}}% - \global\@namedef{end#1}{\@endtheorem}% - }% -} -\def\@defthm#1#2{% - \refstepcounter{#1}% - \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}% -} -\def\@xdefthm#1#2{% - \@begindef{#2}{\csname the#1\endcsname}% - \ignorespaces -} -\def\@ydefthm#1#2[#3]{% - \trivlist - \item[% - \hskip 10\p@ - \hskip \labelsep - {\it #2% - \savebox\@tempboxa{#3}% - \ifdim \wd\@tempboxa>\z@ - \ \box\@tempboxa - \fi.% - }]% - \ignorespaces -} -\def\@begindef#1#2{% - \trivlist - \item[% - \hskip 10\p@ - \hskip \labelsep - {\it #1\ \rm #2.}% - ]% -} -\def\theequation{\arabic{equation}} - -\newcounter{part} -\newcounter{section} -\newcounter{subsection}[section] -\newcounter{subsubsection}[subsection] -\newcounter{paragraph}[subsubsection] -\def\thepart{\Roman{part}} -\def\thesection{\arabic{section}} -\def\thesubsection{\thesection.\arabic{subsection}} -\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} %removed \subsecfnt 29 July 2002 gkmt -\def\theparagraph{\thesubsubsection.\arabic{paragraph}} %removed \subsecfnt 29 July 2002 gkmt -\newif\if@uchead -\@ucheadfalse - -%% CHANGES: NEW NOTE -%% NOTE: OK to use old-style font commands below, since they were -%% suitably redefined for LaTeX2e -%% END CHANGES -\setcounter{secnumdepth}{3} -\def\part{% - \@startsection{part}{9}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@} - {4\p@}{\normalsize\@ucheadtrue}% -} -\def\section{% - \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% GM - {4\p@}{\baselineskip 14pt\secfnt\@ucheadtrue}% -} - -\def\subsection{% - \@startsection{subsection}{2}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@} - {4\p@}{\secfnt}% -} -\def\subsubsection{% - \@startsection{subsubsection}{3}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@}% - {4\p@}{\subsecfnt}% -} -\def\paragraph{% - \vskip 12pt\@startsection{paragraph}{3}{\z@}{6\p@ \@plus \p@}% - {-5\p@}{\subsecfnt}% -} -\let\@period=. -\def\@startsection#1#2#3#4#5#6{% - \if@noskipsec %gkmt, 11 aug 99 - \global\let\@period\@empty - \leavevmode - \global\let\@period.% - \fi - \par % - \@tempskipa #4\relax - \@afterindenttrue - \ifdim \@tempskipa <\z@ - \@tempskipa -\@tempskipa - \@afterindentfalse - \fi - \if@nobreak - \everypar{}% - \else - \addpenalty\@secpenalty - \addvspace\@tempskipa - \fi -\parskip=0pt % GM July 2000 (non numbered) section heads - \@ifstar - {\@ssect{#3}{#4}{#5}{#6}} - {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% -} -\def\@sect#1#2#3#4#5#6[#7]#8{% - \ifnum #2>\c@secnumdepth - \let\@svsec\@empty - \else - \refstepcounter{#1}% - \edef\@svsec{% - \begingroup - %\ifnum#2>2 \noexpand\rm \fi % changed to next 29 July 2002 gkmt - \ifnum#2>2 \noexpand#6 \fi - \csname the#1\endcsname - \endgroup - \ifnum #2=1\relax .\fi - \hskip 1em - }% - \fi - \@tempskipa #5\relax - \ifdim \@tempskipa>\z@ - \begingroup - #6\relax - \@hangfrom{\hskip #3\relax\@svsec}% - \begingroup - \interlinepenalty \@M - \if@uchead - \uppercase{#8}% - \else - #8% - \fi - \par - \endgroup - \endgroup - \csname #1mark\endcsname{#7}% - \vskip -12pt %gkmt, 11 aug 99 and GM July 2000 (was -14) - numbered section head spacing -\addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7% - }% - \else - \def\@svsechd{% - #6% - \hskip #3\relax - \@svsec - \if@uchead - \uppercase{#8}% - \else - #8% - \fi - \csname #1mark\endcsname{#7}% - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7% - }% - }% - \fi - \@xsect{#5}\hskip 1pt - \par -} -\def\@xsect#1{% - \@tempskipa #1\relax - \ifdim \@tempskipa>\z@ - \par - \nobreak - \vskip \@tempskipa - \@afterheading - \else - \global\@nobreakfalse - \global\@noskipsectrue - \everypar{% - \if@noskipsec - \global\@noskipsecfalse - \clubpenalty\@M - \hskip -\parindent - \begingroup - \@svsechd - \@period - \endgroup - \unskip - \@tempskipa #1\relax - \hskip -\@tempskipa - \else - \clubpenalty \@clubpenalty - \everypar{}% - \fi - }% - \fi - \ignorespaces -} -\def\@trivlist{% - \@topsepadd\topsep - \if@noskipsec - \global\let\@period\@empty - \leavevmode - \global\let\@period.% - \fi - \ifvmode - \advance\@topsepadd\partopsep - \else - \unskip - \par - \fi - \if@inlabel - \@noparitemtrue - \@noparlisttrue - \else - \@noparlistfalse - \@topsep\@topsepadd - \fi - \advance\@topsep \parskip - \leftskip\z@skip - \rightskip\@rightskip - \parfillskip\@flushglue - \@setpar{\if@newlist\else{\@@par}\fi} - \global\@newlisttrue - \@outerparskip\parskip -} - -%%% Actually, 'abbrev' works just fine as the default -%%% Bibliography style. - -\typeout{Using 'Abbrev' bibliography style} -\newcommand\bibyear[2]{% - \unskip\quad\ignorespaces#1\unskip - \if#2..\quad \else \quad#2 \fi -} -\newcommand{\bibemph}[1]{{\em#1}} -\newcommand{\bibemphic}[1]{{\em#1\/}} -\newcommand{\bibsc}[1]{{\sc#1}} -\def\@normalcite{% - \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}% -} -\def\@citeNB{% - \def\@cite##1##2{##1\if@tempswa , ##2\fi}% -} -\def\@citeRB{% - \def\@cite##1##2{##1\if@tempswa , ##2\fi]}% -} -\def\start@cite#1#2{% - \edef\citeauthoryear##1##2##3{% - ###1% - \ifnum#2=\z@ \else\ ###2\fi - }% - \ifnum#1=\thr@@ - \let\@@cite\@citeyear - \else - \let\@@cite\@citenormal - \fi - \@ifstar{\@citeNB\@@cite}{\@normalcite\@@cite}% -} -\def\cite{\start@cite23} -\def\citeNP{\cite*} -\def\citeA{\start@cite10} -\def\citeANP{\citeA*} -\def\shortcite{\start@cite23} -\def\shortciteNP{\shortcite*} -\def\shortciteA{\start@cite20} -\def\shortciteANP{\shortciteA*} -\def\citeyear{\start@cite30} -\def\citeyearNP{\citeyear*} -\def\citeN{% - \@citeRB - \def\citeauthoryear##1##2##3{##1\ [##3% - \def\reserved@a{##1}% - \def\citeauthoryear####1####2####3{% - \def\reserved@b{####1}% - \ifx\reserved@a\reserved@b - ####3% - \else - \errmessage{Package acmart Error: author mismatch - in \string\citeN^^J^^J% - See the acmart package documentation for explanation}% - \fi - }% - }% - \@ifstar\@citeyear\@citeyear -} -\def\shortciteN{% - \@citeRB - \def\citeauthoryear##1##2##3{##2\ [##3% - \def\reserved@a{##2}% - \def\citeauthoryear####1####2####3{% - \def\reserved@b{####2}% - \ifx\reserved@a\reserved@b - ####3% - \else - \errmessage{Package acmart Error: author mismatch - in \string\shortciteN^^J^^J% - See the acmart package documentation for explanation}% - \fi - }% - }% - \@ifstar\@citeyear\@citeyear % GM July 2000 -} -\def\@citenormal{% - \@ifnextchar [{\@tempswatrue\@citex;} - {\@tempswafalse\@citex,[]}% % GM July 2000 -} -\def\@citeyear{% - \@ifnextchar [{\@tempswatrue\@citex,}% - {\@tempswafalse\@citex,[]}% -} -\def\@citex#1[#2]#3{% - \let\@citea\@empty - \@cite{% - \@for\@citeb:=#3\do{% - \@citea - \def\@citea{#1 }% - \edef\@citeb{\expandafter\@iden\@citeb}% - \if@filesw - \immediate\write\@auxout{\string\citation{\@citeb}}% - \fi - \@ifundefined{b@\@citeb}{% - {\bf ?}% - \@warning{% - Citation `\@citeb' on page \thepage\space undefined% - }% - }% - {\csname b@\@citeb\endcsname}% - }% - }{#2}% -} -\let\@biblabel\@gobble -\newdimen\bibindent -\setcounter{enumi}{1} -\bibindent=0em -\def\thebibliography#1{% -\ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi - \section{% - {REFERENCES} - \vskip -9pt % GM July 2000 (for tighter spacing) - \@mkboth{{\refname}}{{\refname}}% - }% - \list{[\arabic{enumi}]}{% - \settowidth\labelwidth{[#1]}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \advance\leftmargin\bibindent - \parsep=0pt\itemsep=1pt % GM July 2000 - \itemindent -\bibindent - \listparindent \itemindent - \usecounter{enumi} - }% - \let\newblock\@empty - \raggedright % GM July 2000 - \sloppy - \sfcode`\.=1000\relax -} - - -\gdef\balancecolumns -{\vfill\eject -\global\@colht=\textheight -\global\ht\@cclv=\textheight -} - -\newcount\colcntr -\global\colcntr=0 -\newbox\savebox - -\gdef \@makecol {% -\global\advance\colcntr by 1 -\ifnum\colcntr>2 \global\colcntr=1\fi - \ifvoid\footins - \setbox\@outputbox \box\@cclv - \else - \setbox\@outputbox \vbox{% -\boxmaxdepth \@maxdepth - \@tempdima\dp\@cclv - \unvbox \@cclv - \vskip-\@tempdima - \vskip \skip\footins - \color@begingroup - \normalcolor - \footnoterule - \unvbox \footins - \color@endgroup - }% - \fi - \xdef\@freelist{\@freelist\@midlist}% - \global \let \@midlist \@empty - \@combinefloats - \ifvbox\@kludgeins - \@makespecialcolbox - \else - \setbox\@outputbox \vbox to\@colht {% -\@texttop - \dimen@ \dp\@outputbox - \unvbox \@outputbox - \vskip -\dimen@ - \@textbottom - }% - \fi - \global \maxdepth \@maxdepth -} -\def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn -\global\advance\titlenotecount by 1 -\ifnum\titlenotecount=1 - \raisebox{9pt}{$\ast$} -\fi -\ifnum\titlenotecount=2 - \raisebox{9pt}{$\dagger$} -\fi -\ifnum\titlenotecount=3 - \raisebox{9pt}{$\ddagger$} -\fi -\ifnum\titlenotecount=4 -\raisebox{9pt}{$\S$} -\fi -\ifnum\titlenotecount=5 -\raisebox{9pt}{$\P$} -\fi - \@titlenotetext -}} - -\long\def\@titlenotetext#1{\insert\footins{% -\ifnum\titlenotecount=1\global\tntoks={#1}\fi -\ifnum\titlenotecount=2\global\tntokstwo={#1}\fi -\ifnum\titlenotecount=3\global\tntoksthree={#1}\fi -\ifnum\titlenotecount=4\global\tntoksfour={#1}\fi -\ifnum\titlenotecount=5\global\tntoksfive={#1}\fi - \reset@font\footnotesize - \interlinepenalty\interfootnotelinepenalty - \splittopskip\footnotesep - \splitmaxdepth \dp\strutbox \floatingpenalty \@MM - \hsize\columnwidth \@parboxrestore - \protected@edef\@currentlabel{% - }% - \color@begingroup - \color@endgroup}} - -%%%%%%%%%%%%%%%%%%%%%%%%% -\ps@plain -\baselineskip=11pt -\let\thepage\relax % For NO page numbers - GM Nov. 30th. 1999 and July 2000 -\def\setpagenumber#1{\global\setcounter{page}{#1}} -%\pagenumbering{arabic} % Arabic page numbers GM July 2000 -\twocolumn % Double column. -\flushbottom % Even bottom -- alas, does not balance columns at end of document -\pagestyle{plain} - -% Need Copyright Year and Copyright Data to be user definable (in .tex file). -% Gerry Nov. 30th. 1999 -\newtoks\copyrtyr -\newtoks\acmcopyr -\newtoks\boilerplate -%... -%... Lisa needed the following to be an integral part of this particular class file -%... -%Copyright is held by the author/owner(s). -%WWW2005, May 10--14, 2005, Chiba, Japan. -%ACM 1-58113-680-3/04/0005. -% -%... -%... -%... -%\global\acmcopyr={1-58113-449-5/02/0005} % Default -\global\acmcopyr={xxx} % Default -\global\copyrtyr={2003} % Default - 12/4/2000 *** Gerry -\def\CopyrightYear#1{\global\copyrtyr{#1}} -\def\crdata#1{\global\acmcopyr{#1}} -\def\permission#1{\global\boilerplate{#1}} -% -\global\boilerplate={Copyright is held by the author/owner(s).\\ {\it Operating System Reviews}} -\newtoks\copyrightetc -% original \global\copyrightetc{ACM 1-58113-844-X/04/0005.\the\acmcopyr} -% commented out following line---cew -%\global\copyrightetc{ACM 1-58113-844-X/04/0005} % "xxx" not needed after the period. - -\toappear{\the\boilerplate\par -{\confname{\the\conf}} \the\confinfo\par \the\copyrightetc.} -% -%% End of www2005-submission.cls -- V1.4 - 1/26/2004 -- -%% Gerry Murray -- Monday January 26th. 2004 diff --git a/executable_names/doc/common/chngpage.sty b/executable_names/doc/common/chngpage.sty deleted file mode 100644 index 6381292d24..0000000000 --- a/executable_names/doc/common/chngpage.sty +++ /dev/null @@ -1,318 +0,0 @@ -% chngpage.sty -% -% Provides commands to change the page layout in the middle of a document, -% and to robustly check for typesetting on odd or even pages. -% Instructions for use are at the end of this file. -% -% author: Peter Wilson (CUA) -% (now at peter.r.wilson@boeing.com) -% Copyright 2000 -% Released under the Latex Project Public License -% -% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{chngpage}[2001/02/24 v1.1c change page layout] - -%% Note: internal package commands all include the string `cp@' -%% new \if for the strict option -\newif\ifcpstrict - \cpstrictfalse - -%% Declare and process options -\DeclareOption{strict}{\cpstricttrue} -\ProcessOptions\relax - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% new commands for strict checking of odd/even page -%% Works by writing a label and then checking its pageref - -\newif\ifcpoddpage -\newcounter{cp@cnt} -\newcounter{cp@tempcnt} -\newcommand{\cplabelprefix}{^_} - -\newcommand{\cp@setref}[3]{% - \ifx#1\relax - 0% in case no label in the *.aux file (page number made = 0) - \else - \expandafter#2#1% - \fi} - -\newcommand{\cp@pageref}[1]{% - \expandafter\cp@setref\csname r@#1\endcsname\@secondoftwo{#1}} - -\AtBeginDocument{% % special code if hyperrref package is used - \@ifpackageloaded{hyperref}{% - \renewcommand{\cp@pageref}[1]{% - \expandafter\ifx\csname r@#1\endcsname\relax - 0% % zero - \else - \expandafter\expandafter\expandafter\expandafter - \expandafter\expandafter\expandafter\@car - \expandafter\expandafter\expandafter\@gobble - \csname r@#1\endcsname\@nil - \fi}}{}} - -%% User level command to check for odd/even page -\DeclareRobustCommand{\checkoddpage}{% - \stepcounter{cp@cnt}\label{\cplabelprefix\thecp@cnt}% - \cpoddpagefalse% - \c@cp@tempcnt=\cp@pageref{\cplabelprefix\thecp@cnt} % must have a space here - \ifodd\c@cp@tempcnt\cpoddpagetrue\fi} - -%% end newcommands for strict checking of odd/even page -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% copy of some of the code from the ifmtarg package to save requiring ifmtarg -\begingroup -\catcode`\Q=3 -\long\gdef\@ifmtarg#1{\@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil} -\long\gdef\@xifmtarg#1#2Q#3#4#5\@nil{#4} -\endgroup - -%% set the page output parameters -%\newcommand{\ch@ngetext}{% -\DeclareRobustCommand{\ch@ngetext}{% - \setlength{\@colht}{\textheight}\setlength{\@colroom}{\textheight}% - \setlength{\vsize}{\textheight}\setlength{\columnwidth}{\textwidth}% - \if@twocolumn% - \advance\columnwidth-\columnsep \divide\columnwidth\tw@% - \@firstcolumntrue% - \fi% - \setlength{\hsize}{\columnwidth}% - \setlength{\linewidth}{\hsize}% -} - -%\newcommand{\changetext}[5]{% -\DeclareRobustCommand{\changetext}[5]{% - \@ifmtarg{#1}{}{\addtolength{\textheight}{#1}}% - \@ifmtarg{#2}{}{\addtolength{\textwidth}{#2}}% - \@ifmtarg{#3}{}{\addtolength{\evensidemargin}{#3}}% - \@ifmtarg{#4}{}{\addtolength{\oddsidemargin}{#4}}% - \@ifmtarg{#5}{}{\addtolength{\columnsep}{#5}}% - \ch@ngetext% -} - -%\newcommand{\changepage}[9]{% -\DeclareRobustCommand{\changepage}[9]{% - \@ifmtarg{#1}{}{\addtolength{\textheight}{#1}}% - \@ifmtarg{#2}{}{\addtolength{\textwidth}{#2}}% - \@ifmtarg{#3}{}{\addtolength{\evensidemargin}{#3}}% - \@ifmtarg{#4}{}{\addtolength{\oddsidemargin}{#4}}% - \@ifmtarg{#5}{}{\addtolength{\columnsep}{#5}}% - \ch@ngetext% - \@ifmtarg{#6}{}{\addtolength{\topmargin}{#6}}% - \@ifmtarg{#7}{}{\addtolength{\headheight}{#7}}% - \@ifmtarg{#8}{}{\addtolength{\headsep}{#8}}% - \@ifmtarg{#9}{}{\addtolength{\footskip}{#9}}% -} - - -\newenvironment{adjustwidth}[3][\@empty]{% - \begin{list}{}{% - \topsep\z@% - \listparindent\parindent% - \parsep\parskip% - \@ifmtarg{#2}{\setlength{\leftmargin}{\z@}}{\setlength{\leftmargin}{#2}}% - \@ifmtarg{#3}{\setlength{\rightmargin}{\z@}}{\setlength{\rightmargin}{#3}}% - \ifx\@empty #1\relax \else - \cpoddpagefalse - \ifcpstrict\checkoddpage\else - \ifodd\c@page\cpoddpagetrue\fi - \fi - \ifcpoddpage\else % even numbered page - \@ifmtarg{#3}{\setlength{\leftmargin}{\z@}}{\setlength{\leftmargin}{#3}}% - \@ifmtarg{#2}{\setlength{\rightmargin}{\z@}}{\setlength{\rightmargin}{#2}}% - \fi - \fi} - \item[]}{\end{list}} - - - -\endinput - -% Usage: -% ------ -% -%%%%%%%%%%%%% -% \changetext -%%%%%%%%%%%%% -% The \changetext command is for changing the size and horizontal position -% of the text block on a page. The command takes 5 arguments, each of which -% is a length or is empty. i.e., -% -% \changetext{textheight}{textwidth}{evensidemargin}{oddsidemargin}{columnsep} -% -% The given lengths are added to the corresponding current lengths and -% the remainder of the current page is typeset using the changed text block -% layout. The new layout remains in effect until another \change... command -% is issued. -% -%%%%%%%%%%%%% -% \changepage -%%%%%%%%%%%%% -% The \changepage command is for changing the general layout of -% a page. The command takes 9 arguments, each of which is a length or is empty. -% The first 5 arguments are the same as for \changetext and have the same effect. -% The last four arguments are: -% -% \changepage{5 args}{topmargin}{headheight}{headsep}{footskip} -% -% These lengths are added to the corresponding current lengths and -% thus modify the vertical positions of the elements of the page. The -% remainder of the current page is typeset using the changed text block -% and page layout. The new layout remains in effect until another -% \change... command is issued. -% -% NOTE 1: Not supplying a value for a length argument is equivalent -% to giving it a zero length value. -% -% NOTE 2: For any given page, everything is constant except for the textwidth -% and columnsep (for example, what is the meaning of two -% topmargins on a single column page?). -% It is therefore best to change anything else at the -% start of a new page. Further, any changes only apply to whole -% paragraphs. If you want an odd shaped paragraph use either -% the hanging package or the TeX \parshape command. -% -% For example, to change from single column pages to double column -% pages where the text block is both shorter and wider, then to revert -% back to the initial layout: -% ... single column normal page -% \newpage % or \clearpage -% \changetext{-5\baselineskip}{10em}{-5em}{-5em}{} -% \twocolumn -% ... two column pages -% \clearpage -% \changetext{5\baselineskip}{-10em}{5em}{5em}{} -% \onecolumn -% ... normal pages -% -% Note the adjustments to the margins which will keep the vertical centerline -% of the textblock at the same position on the page. -% -% As another example, to increase the width of a single paragraph: -% -% \changetext{0pt}{5em}{}{}{}% -% Start of wider paragraph text ... -% ... end of paragraph. -% -% \changetext{0pt}{-5em}{}{}{} -% Start of a normal paragraph ... -% -% Under some circumstances you can include a \change... command as part of -% the argument to \afterpage (from the afterpage package) and it may work. -% Similarly it may work in a heading style used for \thispagestyle to change -% a single page. -% -%%%%%%%%%%%%% -% adjustwidth -%%%%%%%%%%%%% -% Within an adjustwidth environment the left and right margins can be -% adjusted. The environment takes one optional argument and two required -% length arguments: -% -% \begin{adjustwidth}[]{leftmargin}{rightmargin} -% -% A positive length value will increase the relevant margin (shortening -% the text lines) while a negative length value will decrease the margin -% (lengthening text lines). An empty length argument means no change -% to the margin. At the end of the environment the margins revert to -% their original values. -% -% For example, to extend the text into the right margin: -% \begin{adjustwidth}{}{-8em} -% -% Any appearance of the optional argument (even just []) will cause -% the values of the margins to switch between odd and even pages. -% -% If the document is being set twosided it might be advantageous -% to have any wider text extending into the outside margin. This -% could be done via the optional argument, as: -% \begin{adjustwidth}[]{}{-8em} -% -% To have the adjusted text horizontally centered with respect to -% any surrounding text, the margins should be adjusted equally: -% \begin{adjustwidth}{-4em}{-4em} -% -% For interest, \begin{quotation} is pretty much equivalent -% to \begin{adjustwidth}{2.5em}{2.5em} -% -% The environment may also be used inside a float if the contents are -% a bit too wide for the text block, but can still fit within the physical -% page: -% \begin{figure} -% \begin{adjustwidth}{-2em}{-2em} -% \includegraphics{wide} -% \caption{Wide figure} -% \end{adjustwidth} -% \end{figure} -% -% Sometimes, because of the asynchronous nature of the TeX output -% routine, the margin switching may be incorrect (like \marginpar sometimes) -% near the top of a page. This can be corrected by using the package -% option `strict' (i.e., \usepackage[strict]{chngpage}), which causes -% adjustwidth to use the \checkoddpage command (see below). -% -% A disadvantage of the strict option is that the package generates -% a new label for each adjustwidth environment, and TeX may run out -% of space if there are an excessive number of labels in the document. -% -% Whether or not the strict option is used, `strict adjustwidths' -% can be turned on by putting the command \cpstricttrue before -% the environment, and turned of by using \cpstrictfalse. -% -% NOTE: In a twocolumn document, the adjustwidth environment -% treats both columns equally. For example, if the width is meant -% to be wider at the outer margin, then on odd pages the extra width -% will be at the right of any column, and on even pages the extra -% will be at the left of any column. You can get interesting effects -% by careful hand tuning on two column pages. -% -%%%%%%%%%%%%%%% -% \checkoddpage -%%%%%%%%%%%%%%% -% The \checkoddpage command can be used anywhere in the body of -% a document to determine if TeX is typesetting on an odd or -% even numbered page. If on an odd page then \ifcpoddpage is -% set TRUE, otherwise (on an even page) \ifcpoddpage is set -% FALSE. -% -% This works by the \checkoddpage command generating a label and -% then checking the \pageref for the label (actually, a special version -% of \pageref is required and is used internally by \checkoddpage). -% This mechanism requires at least two LaTeX passes to ensure that -% the labels have settled (on the initial pass there will be no labels -% in the *.aux file to be checked). -% -% The label identifier is composed of the command \cplabelprefix -% and an automatically generated number. \cplabelprefix, initially -% defined as `^_', can be changed in the preamble if it will cause -% a clash with any author-defined labels. The default labels will -% be of the form `^_N' where N is a positive integer. -% -% Changes in version 1.1c (2001/02/24) -% ----------------------- -% o Fixed problem when used with the calc package -% (can't do \setcounter{cp@tempcnt}{\cp@pageref{....}} -% o Fixed problem when used with the hyperef package -% (hyperref adds new arguments to \newlabel in the *.aux file) -% -% Changes in version 1.1b (2001/01/31) -% ----------------------- -% o Added strict option for robust adjustwidth; checks odd/even -% pages via labels instead of by the page counter. -% -% Changes in version 1.1a (2001/01/18) -% ----------------------- -% o Added missing {} in last 4 arguments of \changepage -% -% Changes in version 1.1 (2000/07/22) -% ---------------------- -% o Empty arguments made available -% o Added adjustwidth environment -% -% -% Peter W. -% -% diff --git a/executable_names/doc/common/llncs.cls b/executable_names/doc/common/llncs.cls deleted file mode 100644 index 29e505e60d..0000000000 --- a/executable_names/doc/common/llncs.cls +++ /dev/null @@ -1,1189 +0,0 @@ -% LLNCS DOCUMENT CLASS -- version 2.13 (28-Jan-2002) -% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science -% -%% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -%% -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesClass{llncs}[2002/01/28 v2.13 -^^J LaTeX document class for Lecture Notes in Computer Science] -% Options -\let\if@envcntreset\iffalse -\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue} -\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y} -\DeclareOption{oribibl}{\let\oribibl=Y} -\let\if@custvec\iftrue -\DeclareOption{orivec}{\let\if@custvec\iffalse} -\let\if@envcntsame\iffalse -\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue} -\let\if@envcntsect\iffalse -\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue} -\let\if@runhead\iffalse -\DeclareOption{runningheads}{\let\if@runhead\iftrue} - -\let\if@openbib\iffalse -\DeclareOption{openbib}{\let\if@openbib\iftrue} - -% languages -\let\switcht@@therlang\relax -\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}} -\def\ds@francais{\def\switcht@@therlang{\switcht@francais}} - -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} - -\ProcessOptions - -\LoadClass[twoside]{article} -\RequirePackage{multicol} % needed for the list of participants, index - -\setlength{\textwidth}{12.2cm} -\setlength{\textheight}{19.3cm} -\renewcommand\@pnumwidth{2em} -\renewcommand\@tocrmarg{3.5em} -% -\def\@dottedtocline#1#2#3#4#5{% - \ifnum #1>\c@tocdepth \else - \vskip \z@ \@plus.2\p@ - {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm - \parfillskip -\rightskip \pretolerance=10000 - \parindent #2\relax\@afterindenttrue - \interlinepenalty\@M - \leavevmode - \@tempdima #3\relax - \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip - {#4}\nobreak - \leaders\hbox{$\m@th - \mkern \@dotsep mu\hbox{.}\mkern \@dotsep - mu$}\hfill - \nobreak - \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% - \par}% - \fi} -% -\def\switcht@albion{% -\def\abstractname{Abstract.} -\def\ackname{Acknowledgement.} -\def\andname{and} -\def\lastandname{\unskip, and} -\def\appendixname{Appendix} -\def\chaptername{Chapter} -\def\claimname{Claim} -\def\conjecturename{Conjecture} -\def\contentsname{Table of Contents} -\def\corollaryname{Corollary} -\def\definitionname{Definition} -\def\examplename{Example} -\def\exercisename{Exercise} -\def\figurename{Fig.} -\def\keywordname{{\bf Key words:}} -\def\indexname{Index} -\def\lemmaname{Lemma} -\def\contriblistname{List of Contributors} -\def\listfigurename{List of Figures} -\def\listtablename{List of Tables} -\def\mailname{{\it Correspondence to\/}:} -\def\noteaddname{Note added in proof} -\def\notename{Note} -\def\partname{Part} -\def\problemname{Problem} -\def\proofname{Proof} -\def\propertyname{Property} -\def\propositionname{Proposition} -\def\questionname{Question} -\def\remarkname{Remark} -\def\seename{see} -\def\solutionname{Solution} -\def\subclassname{{\it Subject Classifications\/}:} -\def\tablename{Table} -\def\theoremname{Theorem}} -\switcht@albion -% Names of theorem like environments are already defined -% but must be translated if another language is chosen -% -% French section -\def\switcht@francais{%\typeout{On parle francais.}% - \def\abstractname{R\'esum\'e.}% - \def\ackname{Remerciements.}% - \def\andname{et}% - \def\lastandname{ et}% - \def\appendixname{Appendice} - \def\chaptername{Chapitre}% - \def\claimname{Pr\'etention}% - \def\conjecturename{Hypoth\`ese}% - \def\contentsname{Table des mati\`eres}% - \def\corollaryname{Corollaire}% - \def\definitionname{D\'efinition}% - \def\examplename{Exemple}% - \def\exercisename{Exercice}% - \def\figurename{Fig.}% - \def\keywordname{{\bf Mots-cl\'e:}} - \def\indexname{Index} - \def\lemmaname{Lemme}% - \def\contriblistname{Liste des contributeurs} - \def\listfigurename{Liste des figures}% - \def\listtablename{Liste des tables}% - \def\mailname{{\it Correspondence to\/}:} - \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}% - \def\notename{Remarque}% - \def\partname{Partie}% - \def\problemname{Probl\`eme}% - \def\proofname{Preuve}% - \def\propertyname{Caract\'eristique}% -%\def\propositionname{Proposition}% - \def\questionname{Question}% - \def\remarkname{Remarque}% - \def\seename{voir} - \def\solutionname{Solution}% - \def\subclassname{{\it Subject Classifications\/}:} - \def\tablename{Tableau}% - \def\theoremname{Th\'eor\`eme}% -} -% -% German section -\def\switcht@deutsch{%\typeout{Man spricht deutsch.}% - \def\abstractname{Zusammenfassung.}% - \def\ackname{Danksagung.}% - \def\andname{und}% - \def\lastandname{ und}% - \def\appendixname{Anhang}% - \def\chaptername{Kapitel}% - \def\claimname{Behauptung}% - \def\conjecturename{Hypothese}% - \def\contentsname{Inhaltsverzeichnis}% - \def\corollaryname{Korollar}% -%\def\definitionname{Definition}% - \def\examplename{Beispiel}% - \def\exercisename{\"Ubung}% - \def\figurename{Abb.}% - \def\keywordname{{\bf Schl\"usselw\"orter:}} - \def\indexname{Index} -%\def\lemmaname{Lemma}% - \def\contriblistname{Mitarbeiter} - \def\listfigurename{Abbildungsverzeichnis}% - \def\listtablename{Tabellenverzeichnis}% - \def\mailname{{\it Correspondence to\/}:} - \def\noteaddname{Nachtrag}% - \def\notename{Anmerkung}% - \def\partname{Teil}% -%\def\problemname{Problem}% - \def\proofname{Beweis}% - \def\propertyname{Eigenschaft}% -%\def\propositionname{Proposition}% - \def\questionname{Frage}% - \def\remarkname{Anmerkung}% - \def\seename{siehe} - \def\solutionname{L\"osung}% - \def\subclassname{{\it Subject Classifications\/}:} - \def\tablename{Tabelle}% -%\def\theoremname{Theorem}% -} - -% Ragged bottom for the actual page -\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil -\global\let\@textbottom\relax}} - -\renewcommand\small{% - \@setfontsize\small\@ixpt{11}% - \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus2\p@ - \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \parsep 0\p@ \@plus1\p@ \@minus\p@ - \topsep 8\p@ \@plus2\p@ \@minus4\p@ - \itemsep0\p@}% - \belowdisplayskip \abovedisplayskip -} - -\frenchspacing -\widowpenalty=10000 -\clubpenalty=10000 - -\setlength\oddsidemargin {63\p@} -\setlength\evensidemargin {63\p@} -\setlength\marginparwidth {90\p@} - -\setlength\headsep {16\p@} - -\setlength\footnotesep{7.7\p@} -\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@} -\setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@} - -\setcounter{secnumdepth}{2} - -\newcounter {chapter} -\renewcommand\thechapter {\@arabic\c@chapter} - -\newif\if@mainmatter \@mainmattertrue -\newcommand\frontmatter{\cleardoublepage - \@mainmatterfalse\pagenumbering{Roman}} -\newcommand\mainmatter{\cleardoublepage - \@mainmattertrue\pagenumbering{arabic}} -\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi - \@mainmatterfalse} - -\renewcommand\part{\cleardoublepage - \thispagestyle{empty}% - \if@twocolumn - \onecolumn - \@tempswatrue - \else - \@tempswafalse - \fi - \null\vfil - \secdef\@part\@spart} - -\def\@part[#1]#2{% - \ifnum \c@secnumdepth >-2\relax - \refstepcounter{part}% - \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% - \else - \addcontentsline{toc}{part}{#1}% - \fi - \markboth{}{}% - {\centering - \interlinepenalty \@M - \normalfont - \ifnum \c@secnumdepth >-2\relax - \huge\bfseries \partname~\thepart - \par - \vskip 20\p@ - \fi - \Huge \bfseries #2\par}% - \@endpart} -\def\@spart#1{% - {\centering - \interlinepenalty \@M - \normalfont - \Huge \bfseries #1\par}% - \@endpart} -\def\@endpart{\vfil\newpage - \if@twoside - \null - \thispagestyle{empty}% - \newpage - \fi - \if@tempswa - \twocolumn - \fi} - -\newcommand\chapter{\clearpage - \thispagestyle{empty}% - \global\@topnum\z@ - \@afterindentfalse - \secdef\@chapter\@schapter} -\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne - \if@mainmatter - \refstepcounter{chapter}% - \typeout{\@chapapp\space\thechapter.}% - \addcontentsline{toc}{chapter}% - {\protect\numberline{\thechapter}#1}% - \else - \addcontentsline{toc}{chapter}{#1}% - \fi - \else - \addcontentsline{toc}{chapter}{#1}% - \fi - \chaptermark{#1}% - \addtocontents{lof}{\protect\addvspace{10\p@}}% - \addtocontents{lot}{\protect\addvspace{10\p@}}% - \if@twocolumn - \@topnewpage[\@makechapterhead{#2}]% - \else - \@makechapterhead{#2}% - \@afterheading - \fi} -\def\@makechapterhead#1{% -% \vspace*{50\p@}% - {\centering - \ifnum \c@secnumdepth >\m@ne - \if@mainmatter - \large\bfseries \@chapapp{} \thechapter - \par\nobreak - \vskip 20\p@ - \fi - \fi - \interlinepenalty\@M - \Large \bfseries #1\par\nobreak - \vskip 40\p@ - }} -\def\@schapter#1{\if@twocolumn - \@topnewpage[\@makeschapterhead{#1}]% - \else - \@makeschapterhead{#1}% - \@afterheading - \fi} -\def\@makeschapterhead#1{% -% \vspace*{50\p@}% - {\centering - \normalfont - \interlinepenalty\@M - \Large \bfseries #1\par\nobreak - \vskip 40\p@ - }} - -\renewcommand\section{\@startsection{section}{1}{\z@}% - {-18\p@ \@plus -4\p@ \@minus -4\p@}% - {12\p@ \@plus 4\p@ \@minus 4\p@}% - {\normalfont\large\bfseries\boldmath - \rightskip=\z@ \@plus 8em\pretolerance=10000 }} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-18\p@ \@plus -4\p@ \@minus -4\p@}% - {8\p@ \@plus 4\p@ \@minus 4\p@}% - {\normalfont\normalsize\bfseries\boldmath - \rightskip=\z@ \@plus 8em\pretolerance=10000 }} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% - {-18\p@ \@plus -4\p@ \@minus -4\p@}% - {-0.5em \@plus -0.22em \@minus -0.1em}% - {\normalfont\normalsize\bfseries\boldmath}} -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% - {-12\p@ \@plus -4\p@ \@minus -4\p@}% - {-0.5em \@plus -0.22em \@minus -0.1em}% - {\normalfont\normalsize\itshape}} -\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use - \string\subparagraph\space with this class}\vskip0.5cm -You should not use \verb|\subparagraph| with this class.\vskip0.5cm} - -\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00} -\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01} -\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02} -\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03} -\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04} -\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05} -\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06} -\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07} -\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08} -\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09} -\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A} - -\let\footnotesize\small - -\if@custvec -\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}} -{\mbox{\boldmath$\textstyle#1$}} -{\mbox{\boldmath$\scriptstyle#1$}} -{\mbox{\boldmath$\scriptscriptstyle#1$}}} -\fi - -\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}} -\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil -\penalty50\hskip1em\null\nobreak\hfil\squareforqed -\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} - -\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip -\halign{\hfil -$\displaystyle##$\hfil\cr\gets\cr\to\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets -\cr\to\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets -\cr\to\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -\gets\cr\to\cr}}}}} -\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr -\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr -\noalign{\vskip1pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -<\cr -\noalign{\vskip0.9pt}=\cr}}}}} -\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr -\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr -\noalign{\vskip1pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr ->\cr -\noalign{\vskip0.9pt}=\cr}}}}} -\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip -\halign{\hfil -$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr ->\cr\noalign{\vskip-1pt}<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr ->\cr\noalign{\vskip-0.8pt}<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr ->\cr\noalign{\vskip-0.3pt}<\cr}}}}} -\def\bbbr{{\rm I\!R}} %reelle Zahlen -\def\bbbm{{\rm I\!M}} -\def\bbbn{{\rm I\!N}} %natuerliche Zahlen -\def\bbbf{{\rm I\!F}} -\def\bbbh{{\rm I\!H}} -\def\bbbk{{\rm I\!K}} -\def\bbbp{{\rm I\!P}} -\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} -{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} -\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}} -\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm -Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}} -\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm -T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}} -\def\bbbs{{\mathchoice -{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox -to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox -to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox -to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox -to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} -\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} -{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} -{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}} -{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}} - -\let\ts\, - -\setlength\leftmargini {17\p@} -\setlength\leftmargin {\leftmargini} -\setlength\leftmarginii {\leftmargini} -\setlength\leftmarginiii {\leftmargini} -\setlength\leftmarginiv {\leftmargini} -\setlength \labelsep {.5em} -\setlength \labelwidth{\leftmargini} -\addtolength\labelwidth{-\labelsep} - -\def\@listI{\leftmargin\leftmargini - \parsep 0\p@ \@plus1\p@ \@minus\p@ - \topsep 8\p@ \@plus2\p@ \@minus4\p@ - \itemsep0\p@} -\let\@listi\@listI -\@listi -\def\@listii {\leftmargin\leftmarginii - \labelwidth\leftmarginii - \advance\labelwidth-\labelsep - \topsep 0\p@ \@plus2\p@ \@minus\p@} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii - \advance\labelwidth-\labelsep - \topsep 0\p@ \@plus\p@\@minus\p@ - \parsep \z@ - \partopsep \p@ \@plus\z@ \@minus\p@} - -\renewcommand\labelitemi{\normalfont\bfseries --} -\renewcommand\labelitemii{$\m@th\bullet$} - -\setlength\arraycolsep{1.4\p@} -\setlength\tabcolsep{1.4\p@} - -\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}% - {{\contentsname}}} - \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}} - \def\lastand{\ifnum\value{auco}=2\relax - \unskip{} \andname\ - \else - \unskip \lastandname\ - \fi}% - \def\and{\stepcounter{@auth}\relax - \ifnum\value{@auth}=\value{auco}% - \lastand - \else - \unskip, - \fi}% - \@starttoc{toc}\if@restonecol\twocolumn\fi} - -\def\l@part#1#2{\addpenalty{\@secpenalty}% - \addvspace{2em plus\p@}% % space above part line - \begingroup - \parindent \z@ - \rightskip \z@ plus 5em - \hrule\vskip5pt - \large % same size as for a contribution heading - \bfseries\boldmath % set line in boldface - \leavevmode % TeX command to enter horizontal mode. - #1\par - \vskip5pt - \hrule - \vskip1pt - \nobreak % Never break after part entry - \endgroup} - -\def\@dotsep{2} - -\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else -{chapter.\thechapter}\fi} - -\def\addnumcontentsmark#1#2#3{% -\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline - {\thechapter}#3}{\thepage}\hyperhrefextend}} -\def\addcontentsmark#1#2#3{% -\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}} -\def\addcontentsmarkwop#1#2#3{% -\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}} - -\def\@adcmk[#1]{\ifcase #1 \or -\def\@gtempa{\addnumcontentsmark}% - \or \def\@gtempa{\addcontentsmark}% - \or \def\@gtempa{\addcontentsmarkwop}% - \fi\@gtempa{toc}{chapter}} -\def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}} - -\def\l@chapter#1#2{\addpenalty{-\@highpenalty} - \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup - \parindent \z@ \rightskip \@tocrmarg - \advance\rightskip by 0pt plus 2cm - \parfillskip -\rightskip \pretolerance=10000 - \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip - {\large\bfseries\boldmath#1}\ifx0#2\hfil\null - \else - \nobreak - \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern - \@dotsep mu$}\hfill - \nobreak\hbox to\@pnumwidth{\hss #2}% - \fi\par - \penalty\@highpenalty \endgroup} - -\def\l@title#1#2{\addpenalty{-\@highpenalty} - \addvspace{8pt plus 1pt} - \@tempdima \z@ - \begingroup - \parindent \z@ \rightskip \@tocrmarg - \advance\rightskip by 0pt plus 2cm - \parfillskip -\rightskip \pretolerance=10000 - \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip - #1\nobreak - \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern - \@dotsep mu$}\hfill - \nobreak\hbox to\@pnumwidth{\hss #2}\par - \penalty\@highpenalty \endgroup} - -\def\l@author#1#2{\addpenalty{\@highpenalty} - \@tempdima=\z@ %15\p@ - \begingroup - \parindent \z@ \rightskip \@tocrmarg - \advance\rightskip by 0pt plus 2cm - \pretolerance=10000 - \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip - \textit{#1}\par - \penalty\@highpenalty \endgroup} - -\setcounter{tocdepth}{0} -\newdimen\tocchpnum -\newdimen\tocsecnum -\newdimen\tocsectotal -\newdimen\tocsubsecnum -\newdimen\tocsubsectotal -\newdimen\tocsubsubsecnum -\newdimen\tocsubsubsectotal -\newdimen\tocparanum -\newdimen\tocparatotal -\newdimen\tocsubparanum -\tocchpnum=\z@ % no chapter numbers -\tocsecnum=15\p@ % section 88. plus 2.222pt -\tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt -\tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt -\tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt -\tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt -\def\calctocindent{% -\tocsectotal=\tocchpnum -\advance\tocsectotal by\tocsecnum -\tocsubsectotal=\tocsectotal -\advance\tocsubsectotal by\tocsubsecnum -\tocsubsubsectotal=\tocsubsectotal -\advance\tocsubsubsectotal by\tocsubsubsecnum -\tocparatotal=\tocsubsubsectotal -\advance\tocparatotal by\tocparanum} -\calctocindent - -\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}} -\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}} -\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}} -\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}} -\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}} - -\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn - \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}} - \@starttoc{lof}\if@restonecol\twocolumn\fi} -\def\l@figure{\@dottedtocline{1}{0em}{1.5em}} - -\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn - \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}} - \@starttoc{lot}\if@restonecol\twocolumn\fi} -\let\l@table\l@figure - -\renewcommand\listoffigures{% - \section*{\listfigurename - \@mkboth{\listfigurename}{\listfigurename}}% - \@starttoc{lof}% - } - -\renewcommand\listoftables{% - \section*{\listtablename - \@mkboth{\listtablename}{\listtablename}}% - \@starttoc{lot}% - } - -\ifx\oribibl\undefined -\ifx\citeauthoryear\undefined -\renewenvironment{thebibliography}[1] - {\section*{\refname} - \def\@biblabel##1{##1.} - \small - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \if@openbib - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ - \fi - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \if@openbib - \renewcommand\newblock{\par}% - \else - \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% - \fi - \sloppy\clubpenalty4000\widowpenalty4000% - \sfcode`\.=\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} -\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw - {\let\protect\noexpand\immediate - \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} -\newcount\@tempcntc -\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi - \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do - {\@ifundefined - {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries - ?}\@warning - {Citation `\@citeb' on page \thepage \space undefined}}% - {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}% - \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne - \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}% - \else - \advance\@tempcntb\@ne - \ifnum\@tempcntb=\@tempcntc - \else\advance\@tempcntb\m@ne\@citeo - \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}} -\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else - \@citea\def\@citea{,\,\hskip\z@skip}% - \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else - {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else - \def\@citea{--}\fi - \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi} -\else -\renewenvironment{thebibliography}[1] - {\section*{\refname} - \small - \list{}% - {\settowidth\labelwidth{}% - \leftmargin\parindent - \itemindent=-\parindent - \labelsep=\z@ - \if@openbib - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ - \fi - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{}}% - \if@openbib - \renewcommand\newblock{\par}% - \else - \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% - \fi - \sloppy\clubpenalty4000\widowpenalty4000% - \sfcode`\.=\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} - \def\@cite#1{#1}% - \def\@lbibitem[#1]#2{\item[]\if@filesw - {\def\protect##1{\string ##1\space}\immediate - \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} - \fi -\else -\@cons\@openbib@code{\noexpand\small} -\fi - -\def\idxquad{\hskip 10\p@}% space that divides entry from number - -\def\@idxitem{\par\hangindent 10\p@} - -\def\subitem{\par\setbox0=\hbox{--\enspace}% second order - \noindent\hangindent\wd0\box0}% index entry - -\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third - \noindent\hangindent\wd0\box0}% order index entry - -\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} - -\renewenvironment{theindex} - {\@mkboth{\indexname}{\indexname}% - \thispagestyle{empty}\parindent\z@ - \parskip\z@ \@plus .3\p@\relax - \let\item\par - \def\,{\relax\ifmmode\mskip\thinmuskip - \else\hskip0.2em\ignorespaces\fi}% - \normalfont\small - \begin{multicols}{2}[\@makeschapterhead{\indexname}]% - } - {\end{multicols}} - -\renewcommand\footnoterule{% - \kern-3\p@ - \hrule\@width 2truecm - \kern2.6\p@} - \newdimen\fnindent - \fnindent1em -\long\def\@makefntext#1{% - \parindent \fnindent% - \leftskip \fnindent% - \noindent - \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1} - -\long\def\@makecaption#1#2{% - \vskip\abovecaptionskip - \sbox\@tempboxa{{\bfseries #1.} #2}% - \ifdim \wd\@tempboxa >\hsize - {\bfseries #1.} #2\par - \else - \global \@minipagefalse - \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% - \fi - \vskip\belowcaptionskip} - -\def\fps@figure{htbp} -\def\fnum@figure{\figurename\thinspace\thefigure} -\def \@floatboxreset {% - \reset@font - \small - \@setnobreak - \@setminipage -} -\def\fps@table{htbp} -\def\fnum@table{\tablename~\thetable} -\renewenvironment{table} - {\setlength\abovecaptionskip{0\p@}% - \setlength\belowcaptionskip{10\p@}% - \@float{table}} - {\end@float} -\renewenvironment{table*} - {\setlength\abovecaptionskip{0\p@}% - \setlength\belowcaptionskip{10\p@}% - \@dblfloat{table}} - {\end@dblfloat} - -\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname - ext@#1\endcsname}{#1}{\protect\numberline{\csname - the#1\endcsname}{\ignorespaces #2}}\begingroup - \@parboxrestore - \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par - \endgroup} - -% LaTeX does not provide a command to enter the authors institute -% addresses. The \institute command is defined here. - -\newcounter{@inst} -\newcounter{@auth} -\newcounter{auco} -\newdimen\instindent -\newbox\authrun -\newtoks\authorrunning -\newtoks\tocauthor -\newbox\titrun -\newtoks\titlerunning -\newtoks\toctitle - -\def\clearheadinfo{\gdef\@author{No Author Given}% - \gdef\@title{No Title Given}% - \gdef\@subtitle{}% - \gdef\@institute{No Institute Given}% - \gdef\@thanks{}% - \global\titlerunning={}\global\authorrunning={}% - \global\toctitle={}\global\tocauthor={}} - -\def\institute#1{\gdef\@institute{#1}} - -\def\institutename{\par - \begingroup - \parskip=\z@ - \parindent=\z@ - \setcounter{@inst}{1}% - \def\and{\par\stepcounter{@inst}% - \noindent$^{\the@inst}$\enspace\ignorespaces}% - \setbox0=\vbox{\def\thanks##1{}\@institute}% - \ifnum\c@@inst=1\relax - \gdef\fnnstart{0}% - \else - \xdef\fnnstart{\c@@inst}% - \setcounter{@inst}{1}% - \noindent$^{\the@inst}$\enspace - \fi - \ignorespaces - \@institute\par - \endgroup} - -\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or - {\star\star\star}\or \dagger\or \ddagger\or - \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger - \or \ddagger\ddagger \else\@ctrerr\fi}} - -\def\inst#1{\unskip$^{#1}$} -\def\fnmsep{\unskip$^,$} -\def\email#1{{\tt#1}} -\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}% -\@ifpackageloaded{babel}{% -\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}% -\@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}% -\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}% -}{\switcht@@therlang}% -} -\def\homedir{\~{ }} - -\def\subtitle#1{\gdef\@subtitle{#1}} -\clearheadinfo - -\renewcommand\maketitle{\newpage - \refstepcounter{chapter}% - \stepcounter{section}% - \setcounter{section}{0}% - \setcounter{subsection}{0}% - \setcounter{figure}{0} - \setcounter{table}{0} - \setcounter{equation}{0} - \setcounter{footnote}{0}% - \begingroup - \parindent=\z@ - \renewcommand\thefootnote{\@fnsymbol\c@footnote}% - \if@twocolumn - \ifnum \col@number=\@ne - \@maketitle - \else - \twocolumn[\@maketitle]% - \fi - \else - \newpage - \global\@topnum\z@ % Prevents figures from going at top of page. - \@maketitle - \fi - \thispagestyle{empty}\@thanks -% - \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% - \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% - \instindent=\hsize - \advance\instindent by-\headlineindent - \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else - \addcontentsline{toc}{title}{\the\toctitle}\fi - \if@runhead - \if!\the\titlerunning!\else - \edef\@title{\the\titlerunning}% - \fi - \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}% - \ifdim\wd\titrun>\instindent - \typeout{Title too long for running head. Please supply}% - \typeout{a shorter form with \string\titlerunning\space prior to - \string\maketitle}% - \global\setbox\titrun=\hbox{\small\rm - Title Suppressed Due to Excessive Length}% - \fi - \xdef\@title{\copy\titrun}% - \fi -% - \if!\the\tocauthor!\relax - {\def\and{\noexpand\protect\noexpand\and}% - \protected@xdef\toc@uthor{\@author}}% - \else - \def\\{\noexpand\protect\noexpand\newline}% - \protected@xdef\scratch{\the\tocauthor}% - \protected@xdef\toc@uthor{\scratch}% - \fi - \addcontentsline{toc}{author}{\toc@uthor}% - \if@runhead - \if!\the\authorrunning! - \value{@inst}=\value{@auth}% - \setcounter{@auth}{1}% - \else - \edef\@author{\the\authorrunning}% - \fi - \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}% - \ifdim\wd\authrun>\instindent - \typeout{Names of authors too long for running head. Please supply}% - \typeout{a shorter form with \string\authorrunning\space prior to - \string\maketitle}% - \global\setbox\authrun=\hbox{\small\rm - Authors Suppressed Due to Excessive Length}% - \fi - \xdef\@author{\copy\authrun}% - \markboth{\@author}{\@title}% - \fi - \endgroup - \setcounter{footnote}{\fnnstart}% - \clearheadinfo} -% -\def\@maketitle{\newpage - \markboth{}{}% - \def\lastand{\ifnum\value{@inst}=2\relax - \unskip{} \andname\ - \else - \unskip \lastandname\ - \fi}% - \def\and{\stepcounter{@auth}\relax - \ifnum\value{@auth}=\value{@inst}% - \lastand - \else - \unskip, - \fi}% - \begin{center}% - \let\newline\\ - {\Large \bfseries\boldmath - \pretolerance=10000 - \@title \par}\vskip .8cm -\if!\@subtitle!\else {\large \bfseries\boldmath - \vskip -.65cm - \pretolerance=10000 - \@subtitle \par}\vskip .8cm\fi - \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}% - \def\thanks##1{}\@author}% - \global\value{@inst}=\value{@auth}% - \global\value{auco}=\value{@auth}% - \setcounter{@auth}{1}% -{\lineskip .5em -\noindent\ignorespaces -\@author\vskip.35cm} - {\small\institutename} - \end{center}% - } - -% definition of the "\spnewtheorem" command. -% -% Usage: -% -% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font} -% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font} -% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font} -% -% New is "cap_font" and "body_font". It stands for -% fontdefinition of the caption and the text itself. -% -% "\spnewtheorem*" gives a theorem without number. -% -% A defined spnewthoerem environment is used as described -% by Lamport. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\@thmcountersep{} -\def\@thmcounterend{.} - -\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}} - -% definition of \spnewtheorem with number - -\def\@spnthm#1#2{% - \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}} -\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}} - -\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}\@addtoreset{#1}{#3}% - \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand - \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}% - \expandafter\xdef\csname #1name\endcsname{#2}% - \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% - \global\@namedef{end#1}{\@endtheorem}}} - -\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}% - \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% - \expandafter\xdef\csname #1name\endcsname{#2}% - \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}% - \global\@namedef{end#1}{\@endtheorem}}} - -\def\@spothm#1[#2]#3#4#5{% - \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% - {\expandafter\@ifdefinable\csname #1\endcsname - {\global\@namedef{the#1}{\@nameuse{the#2}}% - \expandafter\xdef\csname #1name\endcsname{#3}% - \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}% - \global\@namedef{end#1}{\@endtheorem}}}} - -\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ -\refstepcounter{#1}% -\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} - -\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}% - \ignorespaces} - -\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname - the#1\endcsname}{#5}{#3}{#4}\ignorespaces} - -\def\@spbegintheorem#1#2#3#4{\trivlist - \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4} - -\def\@spopargbegintheorem#1#2#3#4#5{\trivlist - \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5} - -% definition of \spnewtheorem* without number - -\def\@sthm#1#2{\@Ynthm{#1}{#2}} - -\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname - {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}% - \expandafter\xdef\csname #1name\endcsname{#2}% - \global\@namedef{end#1}{\@endtheorem}}} - -\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@ -\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}} - -\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces} - -\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1} - {#4}{#2}{#3}\ignorespaces} - -\def\@Begintheorem#1#2#3{#3\trivlist - \item[\hskip\labelsep{#2#1\@thmcounterend}]} - -\def\@Opargbegintheorem#1#2#3#4{#4\trivlist - \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }} - -\if@envcntsect - \def\@thmcountersep{.} - \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape} -\else - \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape} - \if@envcntreset - \@addtoreset{theorem}{section} - \else - \@addtoreset{theorem}{chapter} - \fi -\fi - -%definition of divers theorem environments -\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily} -\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily} -\if@envcntsame % alle Umgebungen wie Theorem. - \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}} -\else % alle Umgebungen mit eigenem Zaehler - \if@envcntsect % mit section numeriert - \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}} - \else % nicht mit section numeriert - \if@envcntreset - \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} - \@addtoreset{#1}{section}} - \else - \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} - \@addtoreset{#1}{chapter}}% - \fi - \fi -\fi -\spn@wtheorem{case}{Case}{\itshape}{\rmfamily} -\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily} -\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape} -\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape} -\spn@wtheorem{example}{Example}{\itshape}{\rmfamily} -\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily} -\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape} -\spn@wtheorem{note}{Note}{\itshape}{\rmfamily} -\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily} -\spn@wtheorem{property}{Property}{\itshape}{\rmfamily} -\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape} -\spn@wtheorem{question}{Question}{\itshape}{\rmfamily} -\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily} -\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily} - -\def\@takefromreset#1#2{% - \def\@tempa{#1}% - \let\@tempd\@elt - \def\@elt##1{% - \def\@tempb{##1}% - \ifx\@tempa\@tempb\else - \@addtoreset{##1}{#2}% - \fi}% - \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname - \expandafter\def\csname cl@#2\endcsname{}% - \@tempc - \let\@elt\@tempd} - -\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist - \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5} - \def\@Opargbegintheorem##1##2##3##4{##4\trivlist - \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }} - } - -\renewenvironment{abstract}{% - \list{}{\advance\topsep by0.35cm\relax\small - \leftmargin=1cm - \labelwidth=\z@ - \listparindent=\z@ - \itemindent\listparindent - \rightmargin\leftmargin}\item[\hskip\labelsep - \bfseries\abstractname]} - {\endlist} - -\newdimen\headlineindent % dimension for space between -\headlineindent=1.166cm % number and text of headings. - -\def\ps@headings{\let\@mkboth\@gobbletwo - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% - \leftmark\hfil} - \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}% - \llap{\thepage}} - \def\chaptermark##1{}% - \def\sectionmark##1{}% - \def\subsectionmark##1{}} - -\def\ps@titlepage{\let\@mkboth\@gobbletwo - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% - \hfil} - \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}% - \llap{\thepage}} - \def\chaptermark##1{}% - \def\sectionmark##1{}% - \def\subsectionmark##1{}} - -\if@runhead\ps@headings\else -\ps@empty\fi - -\setlength\arraycolsep{1.4\p@} -\setlength\tabcolsep{1.4\p@} - -\endinput -%end of file llncs.cls diff --git a/executable_names/doc/common/llncs.dem b/executable_names/doc/common/llncs.dem deleted file mode 100644 index 74209f0303..0000000000 --- a/executable_names/doc/common/llncs.dem +++ /dev/null @@ -1,1093 +0,0 @@ -% This is LLNCS.DEM the demonstration file of -% the LaTeX macro package from Springer-Verlag -% for Lecture Notes in Computer Science, -% version 2.2 for LaTeX2e -% -\documentclass{llncs} -% -\usepackage{makeidx} % allows for indexgeneration -% -\begin{document} -% -\frontmatter % for the preliminaries -% -\pagestyle{headings} % switches on printing of running heads -\addtocmark{Hamiltonian Mechanics} % additional mark in the TOC -% -\chapter*{Preface} -% -This textbook is intended for use by students of physics, physical -chemistry, and theoretical chemistry. The reader is presumed to have a -basic knowledge of atomic and quantum physics at the level provided, for -example, by the first few chapters in our book {\it The Physics of Atoms -and Quanta}. The student of physics will find here material which should -be included in the basic education of every physicist. This book should -furthermore allow students to acquire an appreciation of the breadth and -variety within the field of molecular physics and its future as a -fascinating area of research. - -For the student of chemistry, the concepts introduced in this book will -provide a theoretical framework for that entire field of study. With the -help of these concepts, it is at least in principle possible to reduce -the enormous body of empirical chemical knowledge to a few basic -principles: those of quantum mechanics. In addition, modern physical -methods whose fundamentals are introduced here are becoming increasingly -important in chemistry and now represent indispensable tools for the -chemist. As examples, we might mention the structural analysis of -complex organic compounds, spectroscopic investigation of very rapid -reaction processes or, as a practical application, the remote detection -of pollutants in the air. - -\vspace{1cm} -\begin{flushright}\noindent -April 1995\hfill Walter Olthoff\\ -Program Chair\\ -ECOOP'95 -\end{flushright} -% -\chapter*{Organization} -ECOOP'95 is organized by the department of Computer Science, Univeristy -of \AA rhus and AITO (association Internationa pour les Technologie -Object) in cooperation with ACM/SIGPLAN. -% -\section*{Executive Commitee} -\begin{tabular}{@{}p{5cm}@{}p{7.2cm}@{}} -Conference Chair:&Ole Lehrmann Madsen (\AA rhus University, DK)\\ -Program Chair: &Walter Olthoff (DFKI GmbH, Germany)\\ -Organizing Chair:&J\o rgen Lindskov Knudsen (\AA rhus University, DK)\\ -Tutorials:&Birger M\o ller-Pedersen\hfil\break -(Norwegian Computing Center, Norway)\\ -Workshops:&Eric Jul (University of Kopenhagen, Denmark)\\ -Panels:&Boris Magnusson (Lund University, Sweden)\\ -Exhibition:&Elmer Sandvad (\AA rhus University, DK)\\ -Demonstrations:&Kurt N\o rdmark (\AA rhus University, DK) -\end{tabular} -% -\section*{Program Commitee} -\begin{tabular}{@{}p{5cm}@{}p{7.2cm}@{}} -Conference Chair:&Ole Lehrmann Madsen (\AA rhus University, DK)\\ -Program Chair: &Walter Olthoff (DFKI GmbH, Germany)\\ -Organizing Chair:&J\o rgen Lindskov Knudsen (\AA rhus University, DK)\\ -Tutorials:&Birger M\o ller-Pedersen\hfil\break -(Norwegian Computing Center, Norway)\\ -Workshops:&Eric Jul (University of Kopenhagen, Denmark)\\ -Panels:&Boris Magnusson (Lund University, Sweden)\\ -Exhibition:&Elmer Sandvad (\AA rhus University, DK)\\ -Demonstrations:&Kurt N\o rdmark (\AA rhus University, DK) -\end{tabular} -% -\begin{multicols}{3}[\section*{Referees}] -V.~Andreev\\ -B\"arwolff\\ -E.~Barrelet\\ -H.P.~Beck\\ -G.~Bernardi\\ -E.~Binder\\ -P.C.~Bosetti\\ -Braunschweig\\ -F.W.~B\"usser\\ -T.~Carli\\ -A.B.~Clegg\\ -G.~Cozzika\\ -S.~Dagoret\\ -Del~Buono\\ -P.~Dingus\\ -H.~Duhm\\ -J.~Ebert\\ -S.~Eichenberger\\ -R.J.~Ellison\\ -Feltesse\\ -W.~Flauger\\ -A.~Fomenko\\ -G.~Franke\\ -J.~Garvey\\ -M.~Gennis\\ -L.~Goerlich\\ -P.~Goritchev\\ -H.~Greif\\ -E.M.~Hanlon\\ -R.~Haydar\\ -R.C.W.~Henderso\\ -P.~Hill\\ -H.~Hufnagel\\ -A.~Jacholkowska\\ -Johannsen\\ -S.~Kasarian\\ -I.R.~Kenyon\\ -C.~Kleinwort\\ -T.~K\"ohler\\ -S.D.~Kolya\\ -P.~Kostka\\ -U.~Kr\"uger\\ -J.~Kurzh\"ofer\\ -M.P.J.~Landon\\ -A.~Lebedev\\ -Ch.~Ley\\ -F.~Linsel\\ -H.~Lohmand\\ -Martin\\ -S.~Masson\\ -K.~Meier\\ -C.A.~Meyer\\ -S.~Mikocki\\ -J.V.~Morris\\ -B.~Naroska\\ -Nguyen\\ -U.~Obrock\\ -G.D.~Patel\\ -Ch.~Pichler\\ -S.~Prell\\ -F.~Raupach\\ -V.~Riech\\ -P.~Robmann\\ -N.~Sahlmann\\ -P.~Schleper\\ -Sch\"oning\\ -B.~Schwab\\ -A.~Semenov\\ -G.~Siegmon\\ -J.R.~Smith\\ -M.~Steenbock\\ -U.~Straumann\\ -C.~Thiebaux\\ -P.~Van~Esch\\ -from Yerevan Ph\\ -L.R.~West\\ -G.-G.~Winter\\ -T.P.~Yiou\\ -M.~Zimmer\end{multicols} -% -\section*{Sponsoring Institutions} -% -Bernauer-Budiman Inc., Reading, Mass.\\ -The Hofmann-International Company, San Louis Obispo, Cal.\\ -Kramer Industries, Heidelberg, Germany -% -\tableofcontents -% -\mainmatter % start of the contributions -% -\title{Hamiltonian Mechanics unter besonderer Ber\"ucksichtigung der -h\"ohreren Lehranstalten} -% -\titlerunning{Hamiltonian Mechanics} % abbreviated title (for running head) -% also used for the TOC unless -% \toctitle is used -% -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2} -Jeffrey Dean \and David Grove \and Craig Chambers \and Kim~B.~Bruce \and -Elsa Bertino} -% -\authorrunning{Ivar Ekeland et al.} % abbreviated author list (for running head) -% -%%%% modified list of authors for the TOC (add the affiliations) -\tocauthor{Ivar Ekeland (Princeton University), -Roger Temam (Universit\'{e} de Paris-Sud), -Jeffrey Dean, David Grove, Craig Chambers (Universit\`a di Geova), -Kim B. Bruce (Stanford University), -Elisa Bertino (Digita Research Center)} -% -\institute{Princeton University, Princeton NJ 08544, USA,\\ -\email{I.Ekeland@princeton.edu},\\ WWW home page: -\texttt{http://users/\homedir iekeland/web/welcome.html} -\and -Universit\'{e} de Paris-Sud, -Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\ -F-91405 Orsay Cedex, France} - -\maketitle % typeset the title of the contribution - -\begin{abstract} -The abstract should summarize the contents of the paper -using at least 70 and at most 150 words. It will be set in 9-point -font size and be inset 1.0 cm from the right and left margins. -There will be two blank lines before and after the Abstract. \dots -\end{abstract} -% -\section{Fixed-Period Problems: The Sublinear Case} -% -With this chapter, the preliminaries are over, and we begin the search -for periodic solutions to Hamiltonian systems. All this will be done in -the convex case; that is, we shall study the boundary-value problem -\begin{eqnarray*} - \dot{x}&=&JH' (t,x)\\ - x(0) &=& x(T) -\end{eqnarray*} -with $H(t,\cdot)$ a convex function of $x$, going to $+\infty$ when -$\left\|x\right\| \to \infty$. - -% -\subsection{Autonomous Systems} -% -In this section, we will consider the case when the Hamiltonian $H(x)$ -is autonomous. For the sake of simplicity, we shall also assume that it -is $C^{1}$. - -We shall first consider the question of nontriviality, within the -general framework of -$\left(A_{\infty},B_{\infty}\right)$-subquadratic Hamiltonians. In -the second subsection, we shall look into the special case when $H$ is -$\left(0,b_{\infty}\right)$-subquadratic, -and we shall try to derive additional information. -% -\subsubsection{The General Case: Nontriviality.} -% -We assume that $H$ is -$\left(A_{\infty},B_{\infty}\right)$-sub\-qua\-dra\-tic at infinity, -for some constant symmetric matrices $A_{\infty}$ and $B_{\infty}$, -with $B_{\infty}-A_{\infty}$ positive definite. Set: -\begin{eqnarray} -\gamma :&=&{\rm smallest\ eigenvalue\ of}\ \ B_{\infty} - A_{\infty} \\ - \lambda : &=& {\rm largest\ negative\ eigenvalue\ of}\ \ - J \frac{d}{dt} +A_{\infty}\ . -\end{eqnarray} - -Theorem~\ref{ghou:pre} tells us that if $\lambda +\gamma < 0$, the -boundary-value problem: -\begin{equation} -\begin{array}{rcl} - \dot{x}&=&JH' (x)\\ - x(0)&=&x (T) -\end{array} -\end{equation} -has at least one solution -$\overline{x}$, which is found by minimizing the dual -action functional: -\begin{equation} - \psi (u) = \int_{o}^{T} \left[\frac{1}{2} - \left(\Lambda_{o}^{-1} u,u\right) + N^{\ast} (-u)\right] dt -\end{equation} -on the range of $\Lambda$, which is a subspace $R (\Lambda)_{L}^{2}$ -with finite codimension. Here -\begin{equation} - N(x) := H(x) - \frac{1}{2} \left(A_{\infty} x,x\right) -\end{equation} -is a convex function, and -\begin{equation} - N(x) \le \frac{1}{2} - \left(\left(B_{\infty} - A_{\infty}\right) x,x\right) - + c\ \ \ \forall x\ . -\end{equation} - -% -\begin{proposition} -Assume $H'(0)=0$ and $ H(0)=0$. Set: -\begin{equation} - \delta := \liminf_{x\to 0} 2 N (x) \left\|x\right\|^{-2}\ . - \label{eq:one} -\end{equation} - -If $\gamma < - \lambda < \delta$, -the solution $\overline{u}$ is non-zero: -\begin{equation} - \overline{x} (t) \ne 0\ \ \ \forall t\ . -\end{equation} -\end{proposition} -% -\begin{proof} -Condition (\ref{eq:one}) means that, for every -$\delta ' > \delta$, there is some $\varepsilon > 0$ such that -\begin{equation} - \left\|x\right\| \le \varepsilon \Rightarrow N (x) \le - \frac{\delta '}{2} \left\|x\right\|^{2}\ . -\end{equation} - -It is an exercise in convex analysis, into which we shall not go, to -show that this implies that there is an $\eta > 0$ such that -\begin{equation} - f\left\|x\right\| \le \eta - \Rightarrow N^{\ast} (y) \le \frac{1}{2\delta '} - \left\|y\right\|^{2}\ . - \label{eq:two} -\end{equation} - -\begin{figure} -\vspace{2.5cm} -\caption{This is the caption of the figure displaying a white eagle and -a white horse on a snow field} -\end{figure} - -Since $u_{1}$ is a smooth function, we will have -$\left\|hu_{1}\right\|_\infty \le \eta$ -for $h$ small enough, and inequality (\ref{eq:two}) will hold, -yielding thereby: -\begin{equation} - \psi (hu_{1}) \le \frac{h^{2}}{2} - \frac{1}{\lambda} \left\|u_{1} \right\|_{2}^{2} + \frac{h^{2}}{2} - \frac{1}{\delta '} \left\|u_{1}\right\|^{2}\ . -\end{equation} - -If we choose $\delta '$ close enough to $\delta$, the quantity -$\left(\frac{1}{\lambda} + \frac{1}{\delta '}\right)$ -will be negative, and we end up with -\begin{equation} - \psi (hu_{1}) < 0\ \ \ \ \ {\rm for}\ \ h\ne 0\ \ {\rm small}\ . -\end{equation} - -On the other hand, we check directly that $\psi (0) = 0$. This shows -that 0 cannot be a minimizer of $\psi$, not even a local one. -So $\overline{u} \ne 0$ and -$\overline{u} \ne \Lambda_{o}^{-1} (0) = 0$. \qed -\end{proof} -% -\begin{corollary} -Assume $H$ is $C^{2}$ and -$\left(a_{\infty},b_{\infty}\right)$-subquadratic at infinity. Let -$\xi_{1},\allowbreak\dots,\allowbreak\xi_{N}$ be the -equilibria, that is, the solutions of $H' (\xi ) = 0$. -Denote by $\omega_{k}$ -the smallest eigenvalue of $H'' \left(\xi_{k}\right)$, and set: -\begin{equation} - \omega : = {\rm Min\,} \left\{\omega_{1},\dots,\omega_{k}\right\}\ . -\end{equation} -If: -\begin{equation} - \frac{T}{2\pi} b_{\infty} < - - E \left[- \frac{T}{2\pi}a_{\infty}\right] < - \frac{T}{2\pi}\omega - \label{eq:three} -\end{equation} -then minimization of $\psi$ yields a non-constant $T$-periodic solution -$\overline{x}$. -\end{corollary} -% - -We recall once more that by the integer part $E [\alpha ]$ of -$\alpha \in \bbbr$, we mean the $a\in \bbbz$ -such that $a< \alpha \le a+1$. For instance, -if we take $a_{\infty} = 0$, Corollary 2 tells -us that $\overline{x}$ exists and is -non-constant provided that: - -\begin{equation} - \frac{T}{2\pi} b_{\infty} < 1 < \frac{T}{2\pi} -\end{equation} -or -\begin{equation} - T\in \left(\frac{2\pi}{\omega},\frac{2\pi}{b_{\infty}}\right)\ . - \label{eq:four} -\end{equation} - -% -\begin{proof} -The spectrum of $\Lambda$ is $\frac{2\pi}{T} \bbbz +a_{\infty}$. The -largest negative eigenvalue $\lambda$ is given by -$\frac{2\pi}{T}k_{o} +a_{\infty}$, -where -\begin{equation} - \frac{2\pi}{T}k_{o} + a_{\infty} < 0 - \le \frac{2\pi}{T} (k_{o} +1) + a_{\infty}\ . -\end{equation} -Hence: -\begin{equation} - k_{o} = E \left[- \frac{T}{2\pi} a_{\infty}\right] \ . -\end{equation} - -The condition $\gamma < -\lambda < \delta$ now becomes: -\begin{equation} - b_{\infty} - a_{\infty} < - - \frac{2\pi}{T} k_{o} -a_{\infty} < \omega -a_{\infty} -\end{equation} -which is precisely condition (\ref{eq:three}).\qed -\end{proof} -% - -\begin{lemma} -Assume that $H$ is $C^{2}$ on $\bbbr^{2n} \setminus \{ 0\}$ and -that $H'' (x)$ is non-de\-gen\-er\-ate for any $x\ne 0$. Then any local -minimizer $\widetilde{x}$ of $\psi$ has minimal period $T$. -\end{lemma} -% -\begin{proof} -We know that $\widetilde{x}$, or -$\widetilde{x} + \xi$ for some constant $\xi -\in \bbbr^{2n}$, is a $T$-periodic solution of the Hamiltonian system: -\begin{equation} - \dot{x} = JH' (x)\ . -\end{equation} - -There is no loss of generality in taking $\xi = 0$. So -$\psi (x) \ge \psi (\widetilde{x} )$ -for all $\widetilde{x}$ in some neighbourhood of $x$ in -$W^{1,2} \left(\bbbr / T\bbbz ; \bbbr^{2n}\right)$. - -But this index is precisely the index -$i_{T} (\widetilde{x} )$ of the $T$-periodic -solution $\widetilde{x}$ over the interval -$(0,T)$, as defined in Sect.~2.6. So -\begin{equation} - i_{T} (\widetilde{x} ) = 0\ . - \label{eq:five} -\end{equation} - -Now if $\widetilde{x}$ has a lower period, $T/k$ say, -we would have, by Corollary 31: -\begin{equation} - i_{T} (\widetilde{x} ) = - i_{kT/k}(\widetilde{x} ) \ge - ki_{T/k} (\widetilde{x} ) + k-1 \ge k-1 \ge 1\ . -\end{equation} - -This would contradict (\ref{eq:five}), and thus cannot happen.\qed -\end{proof} -% -\paragraph{Notes and Comments.} -The results in this section are a -refined version of \cite{clar:eke}; -the minimality result of Proposition -14 was the first of its kind. - -To understand the nontriviality conditions, such as the one in formula -(\ref{eq:four}), one may think of a one-parameter family -$x_{T}$, $T\in \left(2\pi\omega^{-1}, 2\pi b_{\infty}^{-1}\right)$ -of periodic solutions, $x_{T} (0) = x_{T} (T)$, -with $x_{T}$ going away to infinity when $T\to 2\pi \omega^{-1}$, -which is the period of the linearized system at 0. - -\begin{table} -\caption{This is the example table taken out of {\it The -\TeX{}book,} p.\,246} -\begin{center} -\begin{tabular}{r@{\quad}rl} -\hline -\multicolumn{1}{l}{\rule{0pt}{12pt} - Year}&\multicolumn{2}{l}{World population}\\[2pt] -\hline\rule{0pt}{12pt} -8000 B.C. & 5,000,000& \\ - 50 A.D. & 200,000,000& \\ -1650 A.D. & 500,000,000& \\ -1945 A.D. & 2,300,000,000& \\ -1980 A.D. & 4,400,000,000& \\[2pt] -\hline -\end{tabular} -\end{center} -\end{table} -% -\begin{theorem} [Ghoussoub-Preiss]\label{ghou:pre} -Assume $H(t,x)$ is -$(0,\varepsilon )$-subquadratic at -infinity for all $\varepsilon > 0$, and $T$-periodic in $t$ -\begin{equation} - H (t,\cdot )\ \ \ \ \ {\rm is\ convex}\ \ \forall t -\end{equation} -\begin{equation} - H (\cdot ,x)\ \ \ \ \ {\rm is}\ \ T{\rm -periodic}\ \ \forall x -\end{equation} -\begin{equation} - H (t,x)\ge n\left(\left\|x\right\|\right)\ \ \ \ \ - {\rm with}\ \ n (s)s^{-1}\to \infty\ \ {\rm as}\ \ s\to \infty -\end{equation} -\begin{equation} - \forall \varepsilon > 0\ ,\ \ \ \exists c\ :\ - H(t,x) \le \frac{\varepsilon}{2}\left\|x\right\|^{2} + c\ . -\end{equation} - -Assume also that $H$ is $C^{2}$, and $H'' (t,x)$ is positive definite -everywhere. Then there is a sequence $x_{k}$, $k\in \bbbn$, of -$kT$-periodic solutions of the system -\begin{equation} - \dot{x} = JH' (t,x) -\end{equation} -such that, for every $k\in \bbbn$, there is some $p_{o}\in\bbbn$ with: -\begin{equation} - p\ge p_{o}\Rightarrow x_{pk} \ne x_{k}\ . -\end{equation} -\qed -\end{theorem} -% -\begin{example} [{{\rm External forcing}}] -Consider the system: -\begin{equation} - \dot{x} = JH' (x) + f(t) -\end{equation} -where the Hamiltonian $H$ is -$\left(0,b_{\infty}\right)$-subquadratic, and the -forcing term is a distribution on the circle: -\begin{equation} - f = \frac{d}{dt} F + f_{o}\ \ \ \ \ - {\rm with}\ \ F\in L^{2} \left(\bbbr / T\bbbz; \bbbr^{2n}\right)\ , -\end{equation} -where $f_{o} : = T^{-1}\int_{o}^{T} f (t) dt$. For instance, -\begin{equation} - f (t) = \sum_{k\in \bbbn} \delta_{k} \xi\ , -\end{equation} -where $\delta_{k}$ is the Dirac mass at $t= k$ and -$\xi \in \bbbr^{2n}$ is a -constant, fits the prescription. This means that the system -$\dot{x} = JH' (x)$ is being excited by a -series of identical shocks at interval $T$. -\end{example} -% -\begin{definition} -Let $A_{\infty} (t)$ and $B_{\infty} (t)$ be symmetric -operators in $\bbbr^{2n}$, depending continuously on -$t\in [0,T]$, such that -$A_{\infty} (t) \le B_{\infty} (t)$ for all $t$. - -A Borelian function -$H: [0,T]\times \bbbr^{2n} \to \bbbr$ -is called -$\left(A_{\infty} ,B_{\infty}\right)$-{\it subquadratic at infinity} -if there exists a function $N(t,x)$ such that: -\begin{equation} - H (t,x) = \frac{1}{2} \left(A_{\infty} (t) x,x\right) + N(t,x) -\end{equation} -\begin{equation} - \forall t\ ,\ \ \ N(t,x)\ \ \ \ \ - {\rm is\ convex\ with\ respect\ to}\ \ x -\end{equation} -\begin{equation} - N(t,x) \ge n\left(\left\|x\right\|\right)\ \ \ \ \ - {\rm with}\ \ n(s)s^{-1}\to +\infty\ \ {\rm as}\ \ s\to +\infty -\end{equation} -\begin{equation} - \exists c\in \bbbr\ :\ \ \ H (t,x) \le - \frac{1}{2} \left(B_{\infty} (t) x,x\right) + c\ \ \ \forall x\ . -\end{equation} - -If $A_{\infty} (t) = a_{\infty} I$ and -$B_{\infty} (t) = b_{\infty} I$, with -$a_{\infty} \le b_{\infty} \in \bbbr$, -we shall say that $H$ is -$\left(a_{\infty},b_{\infty}\right)$-subquadratic -at infinity. As an example, the function -$\left\|x\right\|^{\alpha}$, with -$1\le \alpha < 2$, is $(0,\varepsilon )$-subquadratic at infinity -for every $\varepsilon > 0$. Similarly, the Hamiltonian -\begin{equation} -H (t,x) = \frac{1}{2} k \left\|k\right\|^{2} +\left\|x\right\|^{\alpha} -\end{equation} -is $(k,k+\varepsilon )$-subquadratic for every $\varepsilon > 0$. -Note that, if $k<0$, it is not convex. -\end{definition} -% - -\paragraph{Notes and Comments.} -The first results on subharmonics were -obtained by Rabinowitz in \cite{rab}, who showed the existence of -infinitely many subharmonics both in the subquadratic and superquadratic -case, with suitable growth conditions on $H'$. Again the duality -approach enabled Clarke and Ekeland in \cite{clar:eke:2} to treat the -same problem in the convex-subquadratic case, with growth conditions on -$H$ only. - -Recently, Michalek and Tarantello (see \cite{mich:tar} and \cite{tar}) -have obtained lower bound on the number of subharmonics of period $kT$, -based on symmetry considerations and on pinching estimates, as in -Sect.~5.2 of this article. - -% -% ---- Bibliography ---- -% -\begin{thebibliography}{5} -% -\bibitem {clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and -boundary-value problems for Hamiltonian systems. -Arch. Rat. Mech. Anal. {\bf 78} (1982) 315--333 - -\bibitem {clar:eke:2} -Clarke, F., Ekeland, I.: -Solutions p\'{e}riodiques, du -p\'{e}riode donn\'{e}e, des \'{e}quations hamiltoniennes. -Note CRAS Paris {\bf 287} (1978) 1013--1015 - -\bibitem {mich:tar} -Michalek, R., Tarantello, G.: -Subharmonic solutions with prescribed minimal -period for nonautonomous Hamiltonian systems. -J. Diff. Eq. {\bf 72} (1988) 28--55 - -\bibitem {tar} -Tarantello, G.: -Subharmonic solutions for Hamiltonian -systems via a $\bbbz_{p}$ pseudoindex theory. -Annali di Matematica Pura (to appear) - -\bibitem {rab} -Rabinowitz, P.: -On subharmonic solutions of a Hamiltonian system. -Comm. Pure Appl. Math. {\bf 33} (1980) 609--633 - -\end{thebibliography} - -% -% second contribution with nearly identical text, -% slightly changed contribution head (all entries -% appear as defaults), and modified bibliography -% -\title{Hamiltonian Mechanics2} - -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}} - -\institute{Princeton University, Princeton NJ 08544, USA -\and -Universit\'{e} de Paris-Sud, -Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\ -F-91405 Orsay Cedex, France} - -\maketitle -% -% Modify the bibliography environment to call for the author-year -% system. This is done normally with the citeauthoryear option -% for a particular contribution. -\makeatletter -\renewenvironment{thebibliography}[1] - {\section*{\refname} - \small - \list{}% - {\settowidth\labelwidth{}% - \leftmargin\parindent - \itemindent=-\parindent - \labelsep=\z@ - \if@openbib - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ - \fi - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{}}% - \if@openbib - \renewcommand\newblock{\par}% - \else - \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% - \fi - \sloppy\clubpenalty4000\widowpenalty4000% - \sfcode`\.=\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} - \def\@cite#1{#1}% - \def\@lbibitem[#1]#2{\item[]\if@filesw - {\def\protect##1{\string ##1\space}\immediate - \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} -\makeatother -% -\begin{abstract} -The abstract should summarize the contents of the paper -using at least 70 and at most 150 words. It will be set in 9-point -font size and be inset 1.0 cm from the right and left margins. -There will be two blank lines before and after the Abstract. \dots -\end{abstract} -% -\section{Fixed-Period Problems: The Sublinear Case} -% -With this chapter, the preliminaries are over, and we begin the search -for periodic solutions to Hamiltonian systems. All this will be done in -the convex case; that is, we shall study the boundary-value problem -\begin{eqnarray*} - \dot{x}&=&JH' (t,x)\\ - x(0) &=& x(T) -\end{eqnarray*} -with $H(t,\cdot)$ a convex function of $x$, going to $+\infty$ when -$\left\|x\right\| \to \infty$. - -% -\subsection{Autonomous Systems} -% -In this section, we will consider the case when the Hamiltonian $H(x)$ -is autonomous. For the sake of simplicity, we shall also assume that it -is $C^{1}$. - -We shall first consider the question of nontriviality, within the -general framework of -$\left(A_{\infty},B_{\infty}\right)$-subquadratic Hamiltonians. In -the second subsection, we shall look into the special case when $H$ is -$\left(0,b_{\infty}\right)$-subquadratic, -and we shall try to derive additional information. -% -\subsubsection{The General Case: Nontriviality.} -% -We assume that $H$ is -$\left(A_{\infty},B_{\infty}\right)$-sub\-qua\-dra\-tic at infinity, -for some constant symmetric matrices $A_{\infty}$ and $B_{\infty}$, -with $B_{\infty}-A_{\infty}$ positive definite. Set: -\begin{eqnarray} -\gamma :&=&{\rm smallest\ eigenvalue\ of}\ \ B_{\infty} - A_{\infty} \\ - \lambda : &=& {\rm largest\ negative\ eigenvalue\ of}\ \ - J \frac{d}{dt} +A_{\infty}\ . -\end{eqnarray} - -Theorem 21 tells us that if $\lambda +\gamma < 0$, the boundary-value -problem: -\begin{equation} -\begin{array}{rcl} - \dot{x}&=&JH' (x)\\ - x(0)&=&x (T) -\end{array} -\end{equation} -has at least one solution -$\overline{x}$, which is found by minimizing the dual -action functional: -\begin{equation} - \psi (u) = \int_{o}^{T} \left[\frac{1}{2} - \left(\Lambda_{o}^{-1} u,u\right) + N^{\ast} (-u)\right] dt -\end{equation} -on the range of $\Lambda$, which is a subspace $R (\Lambda)_{L}^{2}$ -with finite codimension. Here -\begin{equation} - N(x) := H(x) - \frac{1}{2} \left(A_{\infty} x,x\right) -\end{equation} -is a convex function, and -\begin{equation} - N(x) \le \frac{1}{2} - \left(\left(B_{\infty} - A_{\infty}\right) x,x\right) - + c\ \ \ \forall x\ . -\end{equation} - -% -\begin{proposition} -Assume $H'(0)=0$ and $ H(0)=0$. Set: -\begin{equation} - \delta := \liminf_{x\to 0} 2 N (x) \left\|x\right\|^{-2}\ . - \label{2eq:one} -\end{equation} - -If $\gamma < - \lambda < \delta$, -the solution $\overline{u}$ is non-zero: -\begin{equation} - \overline{x} (t) \ne 0\ \ \ \forall t\ . -\end{equation} -\end{proposition} -% -\begin{proof} -Condition (\ref{2eq:one}) means that, for every -$\delta ' > \delta$, there is some $\varepsilon > 0$ such that -\begin{equation} - \left\|x\right\| \le \varepsilon \Rightarrow N (x) \le - \frac{\delta '}{2} \left\|x\right\|^{2}\ . -\end{equation} - -It is an exercise in convex analysis, into which we shall not go, to -show that this implies that there is an $\eta > 0$ such that -\begin{equation} - f\left\|x\right\| \le \eta - \Rightarrow N^{\ast} (y) \le \frac{1}{2\delta '} - \left\|y\right\|^{2}\ . - \label{2eq:two} -\end{equation} - -\begin{figure} -\vspace{2.5cm} -\caption{This is the caption of the figure displaying a white eagle and -a white horse on a snow field} -\end{figure} - -Since $u_{1}$ is a smooth function, we will have -$\left\|hu_{1}\right\|_\infty \le \eta$ -for $h$ small enough, and inequality (\ref{2eq:two}) will hold, -yielding thereby: -\begin{equation} - \psi (hu_{1}) \le \frac{h^{2}}{2} - \frac{1}{\lambda} \left\|u_{1} \right\|_{2}^{2} + \frac{h^{2}}{2} - \frac{1}{\delta '} \left\|u_{1}\right\|^{2}\ . -\end{equation} - -If we choose $\delta '$ close enough to $\delta$, the quantity -$\left(\frac{1}{\lambda} + \frac{1}{\delta '}\right)$ -will be negative, and we end up with -\begin{equation} - \psi (hu_{1}) < 0\ \ \ \ \ {\rm for}\ \ h\ne 0\ \ {\rm small}\ . -\end{equation} - -On the other hand, we check directly that $\psi (0) = 0$. This shows -that 0 cannot be a minimizer of $\psi$, not even a local one. -So $\overline{u} \ne 0$ and -$\overline{u} \ne \Lambda_{o}^{-1} (0) = 0$. \qed -\end{proof} -% -\begin{corollary} -Assume $H$ is $C^{2}$ and -$\left(a_{\infty},b_{\infty}\right)$-subquadratic at infinity. Let -$\xi_{1},\allowbreak\dots,\allowbreak\xi_{N}$ be the -equilibria, that is, the solutions of $H' (\xi ) = 0$. -Denote by $\omega_{k}$ -the smallest eigenvalue of $H'' \left(\xi_{k}\right)$, and set: -\begin{equation} - \omega : = {\rm Min\,} \left\{\omega_{1},\dots,\omega_{k}\right\}\ . -\end{equation} -If: -\begin{equation} - \frac{T}{2\pi} b_{\infty} < - - E \left[- \frac{T}{2\pi}a_{\infty}\right] < - \frac{T}{2\pi}\omega - \label{2eq:three} -\end{equation} -then minimization of $\psi$ yields a non-constant $T$-periodic solution -$\overline{x}$. -\end{corollary} -% - -We recall once more that by the integer part $E [\alpha ]$ of -$\alpha \in \bbbr$, we mean the $a\in \bbbz$ -such that $a< \alpha \le a+1$. For instance, -if we take $a_{\infty} = 0$, Corollary 2 tells -us that $\overline{x}$ exists and is -non-constant provided that: - -\begin{equation} - \frac{T}{2\pi} b_{\infty} < 1 < \frac{T}{2\pi} -\end{equation} -or -\begin{equation} - T\in \left(\frac{2\pi}{\omega},\frac{2\pi}{b_{\infty}}\right)\ . - \label{2eq:four} -\end{equation} - -% -\begin{proof} -The spectrum of $\Lambda$ is $\frac{2\pi}{T} \bbbz +a_{\infty}$. The -largest negative eigenvalue $\lambda$ is given by -$\frac{2\pi}{T}k_{o} +a_{\infty}$, -where -\begin{equation} - \frac{2\pi}{T}k_{o} + a_{\infty} < 0 - \le \frac{2\pi}{T} (k_{o} +1) + a_{\infty}\ . -\end{equation} -Hence: -\begin{equation} - k_{o} = E \left[- \frac{T}{2\pi} a_{\infty}\right] \ . -\end{equation} - -The condition $\gamma < -\lambda < \delta$ now becomes: -\begin{equation} - b_{\infty} - a_{\infty} < - - \frac{2\pi}{T} k_{o} -a_{\infty} < \omega -a_{\infty} -\end{equation} -which is precisely condition (\ref{2eq:three}).\qed -\end{proof} -% - -\begin{lemma} -Assume that $H$ is $C^{2}$ on $\bbbr^{2n} \setminus \{ 0\}$ and -that $H'' (x)$ is non-de\-gen\-er\-ate for any $x\ne 0$. Then any local -minimizer $\widetilde{x}$ of $\psi$ has minimal period $T$. -\end{lemma} -% -\begin{proof} -We know that $\widetilde{x}$, or -$\widetilde{x} + \xi$ for some constant $\xi -\in \bbbr^{2n}$, is a $T$-periodic solution of the Hamiltonian system: -\begin{equation} - \dot{x} = JH' (x)\ . -\end{equation} - -There is no loss of generality in taking $\xi = 0$. So -$\psi (x) \ge \psi (\widetilde{x} )$ -for all $\widetilde{x}$ in some neighbourhood of $x$ in -$W^{1,2} \left(\bbbr / T\bbbz ; \bbbr^{2n}\right)$. - -But this index is precisely the index -$i_{T} (\widetilde{x} )$ of the $T$-periodic -solution $\widetilde{x}$ over the interval -$(0,T)$, as defined in Sect.~2.6. So -\begin{equation} - i_{T} (\widetilde{x} ) = 0\ . - \label{2eq:five} -\end{equation} - -Now if $\widetilde{x}$ has a lower period, $T/k$ say, -we would have, by Corollary 31: -\begin{equation} - i_{T} (\widetilde{x} ) = - i_{kT/k}(\widetilde{x} ) \ge - ki_{T/k} (\widetilde{x} ) + k-1 \ge k-1 \ge 1\ . -\end{equation} - -This would contradict (\ref{2eq:five}), and thus cannot happen.\qed -\end{proof} -% -\paragraph{Notes and Comments.} -The results in this section are a -refined version of \cite{2clar:eke}; -the minimality result of Proposition -14 was the first of its kind. - -To understand the nontriviality conditions, such as the one in formula -(\ref{2eq:four}), one may think of a one-parameter family -$x_{T}$, $T\in \left(2\pi\omega^{-1}, 2\pi b_{\infty}^{-1}\right)$ -of periodic solutions, $x_{T} (0) = x_{T} (T)$, -with $x_{T}$ going away to infinity when $T\to 2\pi \omega^{-1}$, -which is the period of the linearized system at 0. - -\begin{table} -\caption{This is the example table taken out of {\it The -\TeX{}book,} p.\,246} -\begin{center} -\begin{tabular}{r@{\quad}rl} -\hline -\multicolumn{1}{l}{\rule{0pt}{12pt} - Year}&\multicolumn{2}{l}{World population}\\[2pt] -\hline\rule{0pt}{12pt} -8000 B.C. & 5,000,000& \\ - 50 A.D. & 200,000,000& \\ -1650 A.D. & 500,000,000& \\ -1945 A.D. & 2,300,000,000& \\ -1980 A.D. & 4,400,000,000& \\[2pt] -\hline -\end{tabular} -\end{center} -\end{table} -% -\begin{theorem} [Ghoussoub-Preiss] -Assume $H(t,x)$ is -$(0,\varepsilon )$-subquadratic at -infinity for all $\varepsilon > 0$, and $T$-periodic in $t$ -\begin{equation} - H (t,\cdot )\ \ \ \ \ {\rm is\ convex}\ \ \forall t -\end{equation} -\begin{equation} - H (\cdot ,x)\ \ \ \ \ {\rm is}\ \ T{\rm -periodic}\ \ \forall x -\end{equation} -\begin{equation} - H (t,x)\ge n\left(\left\|x\right\|\right)\ \ \ \ \ - {\rm with}\ \ n (s)s^{-1}\to \infty\ \ {\rm as}\ \ s\to \infty -\end{equation} -\begin{equation} - \forall \varepsilon > 0\ ,\ \ \ \exists c\ :\ - H(t,x) \le \frac{\varepsilon}{2}\left\|x\right\|^{2} + c\ . -\end{equation} - -Assume also that $H$ is $C^{2}$, and $H'' (t,x)$ is positive definite -everywhere. Then there is a sequence $x_{k}$, $k\in \bbbn$, of -$kT$-periodic solutions of the system -\begin{equation} - \dot{x} = JH' (t,x) -\end{equation} -such that, for every $k\in \bbbn$, there is some $p_{o}\in\bbbn$ with: -\begin{equation} - p\ge p_{o}\Rightarrow x_{pk} \ne x_{k}\ . -\end{equation} -\qed -\end{theorem} -% -\begin{example} [{{\rm External forcing}}] -Consider the system: -\begin{equation} - \dot{x} = JH' (x) + f(t) -\end{equation} -where the Hamiltonian $H$ is -$\left(0,b_{\infty}\right)$-subquadratic, and the -forcing term is a distribution on the circle: -\begin{equation} - f = \frac{d}{dt} F + f_{o}\ \ \ \ \ - {\rm with}\ \ F\in L^{2} \left(\bbbr / T\bbbz; \bbbr^{2n}\right)\ , -\end{equation} -where $f_{o} : = T^{-1}\int_{o}^{T} f (t) dt$. For instance, -\begin{equation} - f (t) = \sum_{k\in \bbbn} \delta_{k} \xi\ , -\end{equation} -where $\delta_{k}$ is the Dirac mass at $t= k$ and -$\xi \in \bbbr^{2n}$ is a -constant, fits the prescription. This means that the system -$\dot{x} = JH' (x)$ is being excited by a -series of identical shocks at interval $T$. -\end{example} -% -\begin{definition} -Let $A_{\infty} (t)$ and $B_{\infty} (t)$ be symmetric -operators in $\bbbr^{2n}$, depending continuously on -$t\in [0,T]$, such that -$A_{\infty} (t) \le B_{\infty} (t)$ for all $t$. - -A Borelian function -$H: [0,T]\times \bbbr^{2n} \to \bbbr$ -is called -$\left(A_{\infty} ,B_{\infty}\right)$-{\it subquadratic at infinity} -if there exists a function $N(t,x)$ such that: -\begin{equation} - H (t,x) = \frac{1}{2} \left(A_{\infty} (t) x,x\right) + N(t,x) -\end{equation} -\begin{equation} - \forall t\ ,\ \ \ N(t,x)\ \ \ \ \ - {\rm is\ convex\ with\ respect\ to}\ \ x -\end{equation} -\begin{equation} - N(t,x) \ge n\left(\left\|x\right\|\right)\ \ \ \ \ - {\rm with}\ \ n(s)s^{-1}\to +\infty\ \ {\rm as}\ \ s\to +\infty -\end{equation} -\begin{equation} - \exists c\in \bbbr\ :\ \ \ H (t,x) \le - \frac{1}{2} \left(B_{\infty} (t) x,x\right) + c\ \ \ \forall x\ . -\end{equation} - -If $A_{\infty} (t) = a_{\infty} I$ and -$B_{\infty} (t) = b_{\infty} I$, with -$a_{\infty} \le b_{\infty} \in \bbbr$, -we shall say that $H$ is -$\left(a_{\infty},b_{\infty}\right)$-subquadratic -at infinity. As an example, the function -$\left\|x\right\|^{\alpha}$, with -$1\le \alpha < 2$, is $(0,\varepsilon )$-subquadratic at infinity -for every $\varepsilon > 0$. Similarly, the Hamiltonian -\begin{equation} -H (t,x) = \frac{1}{2} k \left\|k\right\|^{2} +\left\|x\right\|^{\alpha} -\end{equation} -is $(k,k+\varepsilon )$-subquadratic for every $\varepsilon > 0$. -Note that, if $k<0$, it is not convex. -\end{definition} -% - -\paragraph{Notes and Comments.} -The first results on subharmonics were -obtained by Rabinowitz in \cite{2rab}, who showed the existence of -infinitely many subharmonics both in the subquadratic and superquadratic -case, with suitable growth conditions on $H'$. Again the duality -approach enabled Clarke and Ekeland in \cite{2clar:eke:2} to treat the -same problem in the convex-subquadratic case, with growth conditions on -$H$ only. - -Recently, Michalek and Tarantello (see Michalek, R., Tarantello, G. -\cite{2mich:tar} and Tarantello, G. \cite{2tar}) have obtained lower -bound on the number of subharmonics of period $kT$, based on symmetry -considerations and on pinching estimates, as in Sect.~5.2 of this -article. - -% -% ---- Bibliography ---- -% -\begin{thebibliography}{} -% -\bibitem[1980]{2clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and -boundary-value problems for Hamiltonian systems. -Arch. Rat. Mech. Anal. {\bf 78} (1982) 315--333 - -\bibitem[1981]{2clar:eke:2} -Clarke, F., Ekeland, I.: -Solutions p\'{e}riodiques, du -p\'{e}riode donn\'{e}e, des \'{e}quations hamiltoniennes. -Note CRAS Paris {\bf 287} (1978) 1013--1015 - -\bibitem[1982]{2mich:tar} -Michalek, R., Tarantello, G.: -Subharmonic solutions with prescribed minimal -period for nonautonomous Hamiltonian systems. -J. Diff. Eq. {\bf 72} (1988) 28--55 - -\bibitem[1983]{2tar} -Tarantello, G.: -Subharmonic solutions for Hamiltonian -systems via a $\bbbz_{p}$ pseudoindex theory. -Annali di Matematica Pura (to appear) - -\bibitem[1985]{2rab} -Rabinowitz, P.: -On subharmonic solutions of a Hamiltonian system. -Comm. Pure Appl. Math. {\bf 33} (1980) 609--633 - -\end{thebibliography} -\clearpage -\addtocmark[2]{Author Index} % additional numbered TOC entry -\renewcommand{\indexname}{Author Index} -\printindex -\clearpage -\addtocmark[2]{Subject Index} % additional numbered TOC entry -\markboth{Subject Index}{Subject Index} -\renewcommand{\indexname}{Subject Index} -\input{subjidx.ind} -\end{document} diff --git a/executable_names/doc/common/llncs.doc b/executable_names/doc/common/llncs.doc deleted file mode 100644 index 08e1f97c35..0000000000 --- a/executable_names/doc/common/llncs.doc +++ /dev/null @@ -1,1277 +0,0 @@ -% This is LLNCS.DOC the documentation file of -% the LaTeX2e class from Springer-Verlag -% for Lecture Notes in Computer Science, version 2.4 -\documentclass{llncs} -\usepackage{llncsdoc} -% -\begin{document} -\markboth{\LaTeXe{} Class for Lecture Notes in Computer -Science}{\LaTeXe{} Class for Lecture Notes in Computer Science} -\thispagestyle{empty} -\begin{flushleft} -\LARGE\bfseries Instructions for Authors\\ -Coding with \LaTeX\\[2cm] -\end{flushleft} -\rule{\textwidth}{1pt} -\vspace{2pt} -\begin{flushright} -\Huge -\begin{tabular}{@{}l} -\LaTeXe{} Class\\ -for Lecture Notes\\ -in Computer Science\\[6pt] -{\Large Version 2.4} -\end{tabular} -\end{flushright} -\rule{\textwidth}{1pt} -\vfill -\begin{flushleft} -\large\itshape -\begin{tabular}{@{}l} -{\Large\upshape\bfseries Springer}\\[8pt] -Berlin\enspace Heidelberg\enspace New\kern0.1em York\\[5pt] -Barcelona\enspace Budapest\enspace Hong\kern0.2em Kong\\[5pt] -London\enspace Milan\enspace Paris\enspace\\[5pt] -Santa\kern0.2em Clara\enspace Singapore\enspace Tokyo -\end{tabular} -\end{flushleft} -\newpage -% -\section*{For further information please contact us:} -% -\begin{flushleft} -\begin{tabular}{l@{\quad}l@{\hspace{3mm}}l@{\quad}l} -$\bullet$&\multicolumn{3}{@{}l}{\bfseries Springer-\kern-2pt Verlag -Heidelberg}\\[1mm] -&\multicolumn{3}{@{}l}{Department New Technologies/Product -Development}\\ -&\multicolumn{3}{@{}l}{Springer-Verlag, Postfach 105280, D-69042 -Heidelberg -1, FRG}\\[0.5mm] - & Telefax: & (0\,62\,21)487688\\ - & & (0\,62\,21)487366\\ - & Internet: & \tt lncs@springer.de & for editorial questions\\ - & & \tt texhelp@springer.de & for \TeX{} problems -\end{tabular} -\end{flushleft} -\rule{\textwidth}{1pt} -% -\section*{Acceptable formats of your disk/magnetic tape and output:} -% -The following formats are acceptable: 5.25$^{\prime\prime}$ diskette -MS-DOS, 5.25$^{\prime\prime}$ CP/M, 3.5$^{\prime\prime}$ diskette -MS-DOS, 3.5$^{\prime\prime}$ diskette Apple MacIntosh, 9-track 1600 -bpi magnetic tape VAX/VMS, 9-track 1600 bpi magnetic tape ANSI with -label, SUN-Streamer Tape. - -Once you have completed your work using this macro package, -please submit your own printout of the {\em final -version together with the disk or magnetic tape}, containing your -\LaTeX{} input (source) file und the final DVI-file and make sure -that the text is {\em identical in both cases.} - -\bigskip -This macro package, as well as all other macro packages, style -files, and document classes that Springer distributes, are also -available through our mailserver (for people with only e-mail access). - -{\tt svserv@vax.ntp.springer.de}\hfil first try the \verb|help| -command. - -\noindent We are also reachable through the world wide web: -\begin{flushleft} -\tt -\begin{tabular}{@{}l@{\quad}r@{\tt:}l} -\rmfamily URLs are & http&//www.springer.de \\ - & gopher&//ftp.springer.de \\ - & ftp&//ftp.springer.de -\end{tabular} -\end{flushleft} - - - - -% -\newpage -\tableofcontents -\newpage -% -\section{Introduction} -% -Authors wishing to code their contribution -with \LaTeX{}, as well as those who have already coded with \LaTeX{}, -will be provided with a document class that will give the text the -desired layout. Authors are requested to -adhere strictly to these instructions; {\em the class -file must not be changed}. - -The text output area is automatically set within an area of -12.2\,cm horizontally and 19.3\,cm vertically. - -If you are already familiar with \LaTeX{}, then the -LLNCS class should not give you any major difficulties. -It will change the layout to the required LLNCS style -(it will for instance define the layout of \verb|\section|). -We had to invent some extra commands, -which are not provided by \LaTeX{} (e.g.\ -\verb|\institute|, see also Sect.\,\ref{contbegin}) - -For the main body of the paper (the text) you -should use the commands of the standard \LaTeX{} ``article'' class. -Even if you are familiar with those commands, we urge you to read -this entire documentation thoroughly. It contains many suggestions on -how to use our commands properly; thus your paper -will be formatted exactly to LLNCS standard. -For the input of the references at the end of your contribution, -please follow our instructions given in Sect.\,\ref{refer} References. - -The majority of these hints are not specific for LLNCS; they may improve -your use of \LaTeX{} in general. -Furthermore, the documentation provides suggestions about the proper -editing and use -of the input files (capitalization, abbreviation etc.) (see -Sect.\,\ref{refedit} How to Edit Your Input File). -% -\section{How to Proceed} -% -The package consists of the following files: -\begin{flushleft} -\begin{tabular}{@{}p{2.5cm}l} -{\tt history.txt}& the version history of the package\\[2pt] -{\tt llncs.cls} & class file for \LaTeX{}\\[2pt] -{\tt llncs.dem} & an example showing how to code the text\\[2pt] -{\tt llncs.doc} & general instructions (source of this document),\\ - & {\tt llncs.doc} means {\itshape l\/}atex {\itshape doc\/}umentation for\\ - & {\itshape L\/}ecture {\itshape N}otes in {\itshape C\/}omputer {\itshape S\/}cience\\ -{\tt llncsdoc.sty} & class modifications to help for the instructions\\ -{\tt llncs.ind} & an external (faked) author index file\\ -{\tt subjidx.ind} & subject index demo from the Springer book package\\ -{\tt llncs.dvi} & the resultig DVI file (remember to use binary transfer!)\\[2pt] -{\tt sprmindx.sty} & supplementary style file for MakeIndex\\ - & (usage: {\tt makeindex -s sprmindx.sty }) -\end{tabular} -\end{flushleft} -% -\subsection{How to Invoke the LLNCS Document Class} -% -The LLNCS class is an extension of the standard \LaTeX{} ``article'' -document class. Therefore you may use all ``article'' commands for the -body of your contribution to prepare your manuscript. -LLNCS class is invoked by replacing ``article'' by ``llncs'' in the -first line of your document: -\begin{verbatim} -\documentclass{llncs} -% -\begin{document} - -\end{document} -\end{verbatim} -% -\subsection{Contributions Already Coded with \protect\LaTeX{} without -the LLNCS document class} -% -If your file is already coded with \LaTeX{} you can easily -adapt it a posteriori to the LLNCS document class. - -Please refrain from using any \LaTeX{} or \TeX{} commands -that affect the layout or formatting of your document (i.e. commands -like \verb|\textheight|, \verb|\vspace|, \verb|\headsep| etc.). -There may nevertheless be exceptional occasions on which to -use some of them. - -The LLNCS document class has been carefully designed to produce the -right layout from your \LaTeX{} input. If there is anything specific you -would like to do and for which the style file does not provide a -command, {\em please contact us}. Same holds for any error and bug you -discover (there is however no reward for this -- sorry). -% -\section{General Rules for Coding Formulas} -% -With mathematical formulas you may proceed as described -in Sect.\,3.3 of the {\em \LaTeX{} User's Guide \& Reference -Manual\/} by Leslie Lamport (2nd~ed. 1994), Addison-Wesley Publishing -Company, Inc. - -Equations are automatically numbered sequentially throughout your -contribution using arabic numerals in parentheses on the right-hand -side. - -When you are working in math mode everything is typeset in italics. -Sometimes you need to insert non-mathematical elements (e.g.\ -words or phrases). Such insertions should be coded in roman -(with \verb|\mbox|) as illustrated in the following example: -\begin{flushleft} -{\itshape Sample Input} -\end{flushleft} -\begin{verbatim} -\begin{equation} - \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad - \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr \enspace . -\end{equation} -\end{verbatim} -{\itshape Sample Output} -\begin{equation} - \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad - \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr \enspace . -\end{equation} - -If you wish to start a new paragraph immediately after a displayed -equation, insert a blank line so as to produce the required -indentation. If there is no new paragraph either do not insert -a blank line or code \verb|\noindent| immediately before -continuing the text. - -Please punctuate a displayed equation in the same way as other -ordinary text but with an \verb|\enspace| before end punctuation. - -Note that the sizes of the parentheses or other delimiter -symbols used in equations should ideally match the height of the -formulas being enclosed. This is automatically taken care of by -the following \LaTeX{} commands:\\[2mm] -\verb|\left(| or \verb|\left[| and -\verb|\right)| or \verb|\right]|. -% -\subsection{Italic and Roman Type in Math Mode} -% -\begin{alpherate} -\item -In math mode \LaTeX{} treats all letters as though they -were mathematical or physical variables, hence they are typeset as -characters of their own in -italics. However, for certain components of formulas, like short texts, -this would be incorrect and therefore coding in roman is required. -Roman should also be used for -subscripts and superscripts {\em in formulas\/} where these are -merely labels and not in themselves variables, -e.g. $T_{\mathrm{eff}}$ \emph{not} $T_{eff}$, -$T_{\mathrm K}$ \emph{not} $T_K$ (K = Kelvin), -$m_{\mathrm e}$ \emph{not} $m_e$ (e = electron). -However, do not code for roman -if the sub/superscripts represent variables, -e.g.\ $\sum_{i=1}^{n} a_{i}$. -\item -Please ensure that {\em physical units\/} (e.g.\ pc, erg s$^{-1}$ -K, cm$^{-3}$, W m$^{-2}$ Hz$^{-1}$, m kg s$^{-2}$ A$^{-2}$) and -{\em abbreviations\/} such as Ord, Var, GL, SL, sgn, const.\ -are always set in roman type. To ensure -this use the \verb|\mathrm| command: \verb|\mathrm{Hz}|. -On p.\ 44 of the {\em \LaTeX{} User's Guide \& Reference -Manual\/} by Leslie Lamport you will find the names of -common mathe\-matical functions, such as log, sin, exp, max and sup. -These should be coded as \verb|\log|, -\verb|\sin|, \verb|\exp|, \verb|\max|, \verb|\sup| -and will appear in roman automatically. -\item -Chemical symbols and formulas should be coded for roman, -e.g.\ Fe not $Fe$, H$_2$O not {\em H$_2$O}. -\item -Familiar foreign words and phrases, e.g.\ et al., -a priori, in situ, brems\-strah\-lung, eigenvalues should not be -italicized. -\end{alpherate} -% -\section{How to Edit Your Input (Source) File} -\label{refedit} -% -\subsection{Headings}\label{headings} -% -All words in headings should be capitalized except for conjunctions, -prepositions (e.g.\ on, of, by, and, or, but, from, with, without, -under) and definite and indefinite articles (the, a, an) unless they -appear at the beginning. Formula letters must be typeset as in the text. -% -\subsection{Capitalization and Non-capitalization} -% -\begin{alpherate} -\item -The following should always be capitalized: -\begin{itemize} -\item -Headings (see preceding Sect.\,\ref{headings}) -\item -Abbreviations and expressions -in the text such as Fig(s)., Table(s), Sect(s)., Chap(s)., -Theorem, Corollary, Definition etc. when used with numbers, e.g.\ -Fig.\,3, Table\,1, Theorem 2. -\end{itemize} -Please follow the special rules in Sect.\,\ref{abbrev} for referring to -equations. -\item -The following should {\em not\/} be capitalized: -\begin{itemize} -\item -The words figure(s), table(s), equation(s), theorem(s) in the text when -used without an accompanying number. -\item -Figure legends and table captions except for names and abbreviations. -\end{itemize} -\end{alpherate} -% -\subsection{Abbreviation of Words}\label{abbrev} -% -\begin{alpherate} -\item -The following {\em should} be abbreviated when they appear in running -text {\em unless\/} they come at the beginning of a sentence: Chap., -Sect., Fig.; e.g.\ The results are depicted in Fig.\,5. Figure 9 reveals -that \dots .\\ -{\em Please note\/}: Equations should usually be referred to solely by -their number in parentheses: e.g.\ (14). However, when the reference -comes at the beginning of a sentence, the unabbreviated word -``Equation'' should be used: e.g.\ Equation (14) is very important. -However, (15) makes it clear that \dots . -\item -If abbreviations of names or concepts are used -throughout the text, they should be defined at first occurrence, -e.g.\ Plurisubharmonic (PSH) Functions, Strong Optimization (SOPT) -Problem. -\end{alpherate} -% -\section{How to Code the Beginning of Your Contribution} -\label{contbegin} -% -The title of a single contribution (it is mandatory) should be coded as -follows: -\begin{verbatim} -\title{} -\end{verbatim} -All words in titles should be capitalized except for conjunctions, -prepositions (e.g.\ on, of, by, and, or, but, from, with, without, -under) and definite and indefinite articles (the, a, an) unless they -appear at the beginning. Formula letters must be typeset as in the text. -Titles have no end punctuation. - -If a long \verb|\title| must be divided please use the code \verb|\\| -(for new line). - -If you are to produce running heads for a specific volume the standard -(of no such running heads) is overwritten with the \verb|[runningheads]| -option in the \verb|\documentclass| line. For long titles that do not -fit in the single line of the running head a warning is generated. -You can specify an abbreviated title for the running head on odd pages -with the command -\begin{verbatim} -\titlerunning{} -\end{verbatim} - -There is also a possibility to change the text of the title that goes -into the table of contents (that's for volume editors only -- there is -no table of contents for a single contribution). For this use the -command -\begin{verbatim} -\toctitle{} -\end{verbatim} - -An optional subtitle may follow then: -\begin{verbatim} -\subtitle{} -\end{verbatim} - -Now the name(s) of the author(s) must be given: -\begin{verbatim} -\author{} -\end{verbatim} -Numbers referring to different addresses or affiliations are -to be attached to each author with the \verb|\inst{}| command. -If there is more than one author, the order is up to you; -the \verb|\and| command provides for the separation. - -If you have done this correctly, this entry now reads, for example: -\begin{verbatim} -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}} -\end{verbatim} -The first name\footnote{Other initials are optional -and may be inserted if this is the usual -way of writing your name, e.g.\ Alfred J.~Holmes, E.~Henry Green.} -is followed by the surname. - -As for the title there exist two additional commands (again for volume -editors only) for a different author list. One for the running head -(on odd pages) -- if there is any: -\begin{verbatim} -\authorrunning{} -\end{verbatim} -And one for the table of contents where the -affiliation of each author is simply added in braces. -\begin{verbatim} -\tocauthor{} -\end{verbatim} - -Next the address(es) of institute(s), company etc. is (are) required. -If there is more than one address, the entries are numbered -automatically with \verb|\and|, in the order in which you type them. -Please make sure that the numbers match those placed next to -to the authors' names to reflect the affiliation. -\begin{verbatim} -\institute{ -\and -\and } -\end{verbatim} - -In addition, you can use -\begin{verbatim} -\email{} -\end{verbatim} -to provide your email address within \verb|\institute|. If you need to -typeset the tilde character -- e.g. for your web page in your unix -system's home directory -- the \verb|\homedir| command will happily do -this. - -\medskip -If footnote like things are needed anywhere in the contribution heading -please code -(immediately after the word where the footnote indicator should be -placed): -\begin{verbatim} -\thanks{} -\end{verbatim} -\verb|\thanks| may only appear in \verb|\title|, \verb|\author| -and \verb|\institute| to footnote anything. If there are two or more -footnotes or affiliation marks to a specific item separate them with -\verb|\fnmsep| (i.e. {\itshape f}oot\emph note \emph mark -\emph{sep}arator). - -\medskip\noindent -The command -\begin{verbatim} -\maketitle -\end{verbatim} -then formats the complete heading of your article. If you leave -it out the work done so far will produce \emph{no} text. - -Then the abstract should follow. Simply code -\begin{verbatim} -\begin{abstract} - -\end{abstract} -\end{verbatim} -or refer to the demonstration file {\tt llncs.dem} for an example or -to the {\em Sample Input\/} on p.~\pageref{samppage}. - -\subsubsection{Remark to Running Heads and the Table of Contents} -\leavevmode\\[\medskipamount] -If you are the author of a single contribution you normally have no -running heads and no table of contents. Both are done only by the editor -of the volume or at the printers. -% -\section{Special Commands for the Volume Editor} -The volume editor can produce a complete camera ready output including -running heads, a table of contents, preliminary text (frontmatter), and -index or glossary. For activating the running heads there is the class -option \verb|[runningheads]|. - -The table of contents of the volume is printed wherever -\verb|\tableofcontents| is placed. A simple compilation of all -contributions (fields \verb|\title| and \verb|\author|) is done. If you -wish to change this automatically produced list use the commands -\begin{verbatim} -\titlerunning \toctitle -\authorrunning \tocauthor -\end{verbatim} -to enhance the information in the specific contributions. See the -demonstration file \verb|llncs.dem| for examples. - -An additional structure can be added to the table of contents with the -\verb|\addtocmark{}| command. It has an optional numerical -argument, a digit from 1 through 3. 3 (the default) makes an unnumbered -chapter like entry in the table of contents. If you code -\verb|\addtocmark[2]{text}| the corresponding page number is listed -also, \verb|\addtocmark[1]{text}| even introduces a chapter number -beyond it. -% -\section{How to Code Your Text} -% -The contribution title and all headings should be capitalized -except for conjunctions, prepositions (e.g.\ on, of, by, and, or, but, -from, with, without, under) and definite and indefinite articles (the, -a, an) unless they appear at the beginning. Formula letters must be -typeset as in the text. - -Headings will be automatically numbered by the following codes.\\[2mm] -{\itshape Sample Input} -\begin{verbatim} -\section{This is a First-Order Title} -\subsection{This is a Second-Order Title} -\subsubsection{This is a Third-Order Title.} -\paragraph{This is a Fourth-Order Title.} -\end{verbatim} -\verb|\section| and \verb|\subsection| have no end punctuation.\\ -\verb|\subsubsection| and \verb|\paragraph| -need to be punctuated at the end. - -In addition to the above-mentioned headings your text may be structured -by subsections indicated by run-in headings (theorem-like environments). -All the theorem-like environments are numbered automatically -throughout the sections of your document -- each with its own counter. -If you want the theorem-like environments to use the same counter -just specify the documentclass option \verb|envcountsame|: -\begin{verbatim} -\documentclass[envcountsame]{llncs} -\end{verbatim} -If your first call for a theorem-like environment then is e.g. -\verb|\begin{lemma}|, it will be numbered 1; if corollary follows, -this will be numbered 2; if you then call lemma again, this will be -numbered 3. - -But in case you want to reset such counters to 1 in each section, -please specify the documentclass option \verb|envcountreset|: -\begin{verbatim} -\documentclass[envcountreset]{llncs} -\end{verbatim} - -Even a numbering on section level (including the section counter) is -possible with the documentclass option \verb|envcountsect|. - -\section{Predefined Theorem like Environments}\label{builtintheo} -The following variety of run-in headings are at your disposal: -\begin{alpherate} -\item -{\bfseries Bold} run-in headings with italicized text -as built-in environments: -\begin{verbatim} -\begin{corollary} \end{corollary} -\begin{lemma} \end{lemma} -\begin{proposition} \end{proposition} -\begin{theorem} \end{theorem} -\end{verbatim} -\item -The following generally appears as {\itshape italic} run-in heading: -\begin{verbatim} -\begin{proof} \qed \end{proof} -\end{verbatim} -It is unnumbered and may contain an eye catching square (call for that -with \verb|\qed|) before the environment ends. -\item -Further {\itshape italic} or {\bfseries bold} run-in headings with roman -environment body may also occur: -\begin{verbatim} -\begin{definition} \end{definition} -\begin{example} \end{example} -\begin{exercise} \end{exercise} -\begin{note} \end{note} -\begin{problem} \end{problem} -\begin{question} \end{question} -\begin{remark} \end{remark} -\begin{solution} \end{solution} -\end{verbatim} -\end{alpherate} - -\section{Defining your Own Theorem like Environments} -We have enhanced the standard \verb|\newtheorem| command and slightly -changed its syntax to get two new commands \verb|\spnewtheorem| and -\verb|\spnewtheorem*| that now can be used to define additional -environments. They require two additional arguments namely the type -style in which the keyword of the environment appears and second the -style for the text of your new environment. - -\verb|\spnewtheorem| can be used in two ways. -\subsection{Method 1 {\itshape (preferred)}} -You may want to create an environment that shares its counter -with another environment, say {\em main theorem\/} to be numbered like -the predefined {\em theorem\/}. In this case, use the syntax -\begin{verbatim} -\spnewtheorem{}[]{} -{}{} -\end{verbatim} - -\noindent -Here the environment with which the new environment should share its -counter is specified with the optional argument \verb|[]|. - -\paragraph{Sample Input} -\begin{verbatim} -\spnewtheorem{mainth}[theorem]{Main Theorem}{\bfseries}{\itshape} -\begin{theorem} The early bird gets the worm. \end{theorem} -\begin{mainth} The early worm gets eaten. \end{mainth} -\end{verbatim} -\medskip\noindent -{\em Sample Output} - -\medskip\noindent -{\bfseries Theorem 3.}\enspace {\em The early bird gets the worm.} - -\medskip\noindent -{\bfseries Main Theorem 4.} The early worm gets eaten. - -\bigskip -The sharing of the default counter (\verb|[theorem]|) is desired. If you -omit the optional second argument of \verb|\spnewtheorem| a separate -counter for your new environment is used throughout your document. - -\subsection[Method 2]{Method 2 {\itshape (assumes {\tt[envcountsect]} -documentstyle option)}} -\begin{verbatim} -\spnewtheorem{}{}[] -{}{} -\end{verbatim} - -\noindent -This defines a new environment \verb|| which prints the caption -\verb|| in the font \verb|| and the text itself in -the font \verb||. The environment is numbered beginning anew -with every new sectioning element you specify with the optional -parameter \verb||. - -\medskip\noindent -\paragraph{Example} \leavevmode - -\medskip\noindent -\verb|\spnewtheorem{joke}{Joke}[subsection]{\bfseries}{\rmfamily}| - -\medskip -\noindent defines a new environment called \verb|joke| which prints the -caption {\bfseries Joke} in boldface and the text in roman. The jokes are -numbered starting from 1 at the beginning of every subsection with the -number of the subsection preceding the number of the joke e.g. 7.2.1 for -the first joke in subsection 7.2. - -\subsection{Unnumbered Environments} -If you wish to have an unnumbered environment, please -use the syntax -\begin{verbatim} -\spnewtheorem*{}{}{}{} -\end{verbatim} - -\section{Program Codes} -In case you want to show pieces of program code, just use the -\verb|verbatim| environment or the \verb|verbatim| package of \LaTeX. -(There also exist various pretty printers for some programming -languages.) -% -\noindent -\subsection*{Sample Input {\rmfamily(of a simple -contribution)}}\label{samppage} -\begin{verbatim} -\title{Hamiltonian Mechanics} - -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}} - -\institute{Princeton University, Princeton NJ 08544, USA -\and -Universit\'{e} de Paris-Sud, -Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\ -F-91405 Orsay Cedex, France} - -\maketitle -% -\begin{abstract} -This paragraph shall summarize the contents of the paper -in short terms. -\end{abstract} -% -\section{Fixed-Period Problems: The Sublinear Case} -% -With this chapter, the preliminaries are over, and we begin the -search for periodic solutions \dots -% -\subsection{Autonomous Systems} -% -In this section we will consider the case when the Hamiltonian -$H(x)$ \dots -% -\subsubsection*{The General Case: Nontriviality.} -% -We assume that $H$ is -$\left(A_{\infty}, B_{\infty}\right)$-subqua\-dra\-tic -at infinity, for some constant \dots -% -\paragraph{Notes and Comments.} -The first results on subharmonics were \dots -% -\begin{proposition} -Assume $H'(0)=0$ and $ H(0)=0$. Set \dots -\end{proposition} -\begin{proof}[of proposition] -Condition (8) means that, for every $\delta'>\delta$, there is -some $\varepsilon>0$ such that \dots \qed -\end{proof} -% -\begin{example}[\rmfamily (External forcing)] -Consider the system \dots -\end{example} -\begin{corollary} -Assume $H$ is $C^{2}$ and -$\left(a_{\infty}, b_{\infty}\right)$-subquadratic -at infinity. Let \dots -\end{corollary} -\begin{lemma} -Assume that $H$ is $C^{2}$ on $\bbbr^{2n}\backslash \{0\}$ -and that $H''(x)$ is \dots -\end{lemma} -\begin{theorem}[(Ghoussoub-Preiss)] -Let $X$ be a Banach Space and $\Phi:X\to\bbbr$ \dots -\end{theorem} -\begin{definition} -We shall say that a $C^{1}$ function $\Phi:X\to\bbbr$ -satisfies \dots -\end{definition} -\end{verbatim} -{\itshape Sample Output\/} (follows on the next page together with -examples of the above run-in headings) -\newcounter{save}\setcounter{save}{\value{section}} -{\def\addtocontents#1#2{}% -\def\addcontentsline#1#2#3{}% -\def\markboth#1#2{}% -% -\title{Hamiltonian Mechanics} - -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}} - -\institute{Princeton University, Princeton NJ 08544, USA -\and -Universit\'{e} de Paris-Sud, -Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\ -F-91405 Orsay Cedex, France} - -\maketitle -% -\begin{abstract} -This paragraph shall summarize the contents of the paper -in short terms. -\end{abstract} -% -\section{Fixed-Period Problems: The Sublinear Case} -% -With this chapter, the preliminaries are over, and we begin the search -for periodic solutions \dots -% -\subsection{Autonomous Systems} -% -In this section we will consider the case when the Hamiltonian -$H(x)$ \dots -% -\subsubsection{The General Case: Nontriviality.} -% -We assume that $H$ is -$\left(A_{\infty}, B_{\infty}\right)$-subqua\-dra\-tic at -infinity, for some constant \dots -% -\paragraph{Notes and Comments.} -The first results on subharmonics were \dots -% -\begin{proposition} -Assume $H'(0)=0$ and $ H(0)=0$. Set \dots -\end{proposition} -\begin{proof}[of proposition] -Condition (8) means that, for every $\delta'>\delta$, there is -some $\varepsilon>0$ such that \dots \qed -\end{proof} -% -\begin{example}[{{\rmfamily External forcing}}] -Consider the system \dots -\end{example} -\begin{corollary} -Assume $H$ is $C^{2}$ and -$\left(a_{\infty}, b_{\infty}\right)$-subquadratic -at infinity. Let \dots -\end{corollary} -\begin{lemma} -Assume that $H$ is $C^{2}$ on $\bbbr^{2n}\backslash \{0\}$ -and that $H''(x)$ is \dots -\end{lemma} -\begin{theorem}[Ghoussoub-Preiss] -Let $X$ be a Banach Space and $\Phi:X\to\bbbr$ \dots -\end{theorem} -\begin{definition} -We shall say that a $C^{1}$ function $\Phi:X\to\bbbr$ satisfies \dots -\end{definition} -% -}\setcounter{section}{\value{save}} -\section{Fine Tuning of the Text} -% -The following should be used to improve the readability of the text: -\begin{flushleft} -\begin{tabular}{@{}p{.19\textwidth}p{.79\textwidth}} -\verb|\,| & a thin space, e.g.\ between numbers or between units - and num\-bers; a line division will not be made - following this space\\ -\verb|--| & en dash; two strokes, without a space at either end\\ -\verb*| -- |& en dash; two strokes, with a space at either end\\ -\verb|-| & hyphen; one stroke, no space at either end\\ -\verb|$-$| & minus, in the text {\em only} \\[8mm] -{\em Input} & \verb|21\,$^{\circ}$C etc.,|\\ - & \verb|Dr h.\,c.\,Rockefellar-Smith \dots|\\ - & \verb|20,000\,km and Prof.\,Dr Mallory \dots|\\ - & \verb|1950--1985 \dots|\\ - & \verb|this -- written on a computer -- is now printed|\\ - & \verb|$-30$\,K \dots|\\[3mm] -{\em Output}& 21\,$^{\circ}$C etc., Dr h.\,c.\,Rockefellar-Smith \dots\\ - & 20,000\,km and Prof.\,Dr Mallory \dots\\ - & 1950--1985 \dots\\ - & this -- written on a computer -- is now printed\\ - & $-30$\,K \dots -\end{tabular} -\end{flushleft} -% -\section {Special Typefaces} -% -Normal type (roman text) need not be coded. {\itshape Italic} -(\verb|{\em }| better still \verb|\emph{}|) or, if -necessary, {\bfseries boldface} should be used for emphasis.\\[6pt] -\begin{minipage}[t]{\textwidth} -\begin{flushleft} -\begin{tabular}{@{}p{.25\textwidth}@{\hskip6pt}p{.73\textwidth}@{}} -\verb|{\itshape Text}| & {\itshape Italicized Text}\\[2pt] -\verb|{\em Text}| & {\em Emphasized Text -- - if you would like to emphasize a {\em definition} within an - italicized text (e.g.\ of a {\em theorem)} you should code the - expression to be emphasized by} \verb|\em|.\\[2pt] -\verb|{\bfseries Text}|& {\bfseries Important Text}\\[2pt] -\verb|\vec{Symbol}| & Vectors may only appear in math mode. The default - \LaTeX{} vector symbol has been adapted\footnotemark\ - to LLNCS conventions.\\[2pt] - & \verb|$\vec{A \times B\cdot C}| yields $\vec{A\times B\cdot C}$\\ - & \verb|$\vec{A}^{T} \otimes \vec{B} \otimes|\\ - & \verb|\vec{\hat{D}}$|yields $\vec{A}^{T} \otimes \vec{B} \otimes -\vec{\hat{D}}$ -\end{tabular} -\end{flushleft} -\end{minipage} - -\footnotetext{If you absolutely must revive the original \LaTeX{} -design of the vector symbol (as an arrow accent), please specify the -option \texttt{[orivec]} in the \texttt{documentclass} line.} -\newpage -% -\section {Footnotes} -% -Footnotes within the text should be coded: -\begin{verbatim} -\footnote{Text} -\end{verbatim} -{\itshape Sample Input} -\begin{flushleft} -Text with a footnote\verb|\footnote{The |{\tt footnote is automatically -numbered.}\verb|}| and text continues \dots -\end{flushleft} -{\itshape Sample Output} -\begin{flushleft} -Text with a footnote\footnote{The footnote is automatically numbered.} -and text continues \dots -\end{flushleft} -% -\section {Lists} -% -Please code lists as described below:\\[2mm] -{\itshape Sample Input} -\begin{verbatim} -\begin{enumerate} - \item First item - \item Second item - \begin{enumerate} - \item First nested item - \item Second nested item - \end{enumerate} - \item Third item -\end{enumerate} -\end{verbatim} -{\itshape Sample Output} - \begin{enumerate} -\item First item -\item Second item - \begin{enumerate} - \item First nested item - \item Second nested item - \end{enumerate} -\item Third item -\end{enumerate} -% -\section {Figures} -% -Figure environments should be inserted after (not in) -the paragraph in which the figure is first mentioned. -They will be numbered automatically. - -Preferably the images should be enclosed as PostScript files -- best as -EPS data using the epsfig package. - -If you cannot include them into your output this way and use other -techniques for a separate production, -the figures (line drawings and those containing halftone inserts -as well as halftone figures) {\em should not be pasted into your -laserprinter output}. They should be enclosed separately in camera-ready -form (original artwork, glossy prints, photographs and/or slides). The -lettering should be suitable for reproduction, and after a -probably necessary reduction the height of capital letters should be at -least 1.8\,mm and not more than 2.5\,mm. -Check that lines and other details are uniformly black and -that the lettering on figures is clearly legible. - -To leave the desired amount of space for the height of -your figures, please use the coding described below. -As can be seen in the output, we will automatically -provide 1\,cm space above and below the figure, -so that you should only leave the space equivalent to the size of the -figure itself. Please note that ``\verb|x|'' in the following -coding stands for the actual height of the figure: -\begin{verbatim} -\begin{figure} -\vspace{x cm} -\caption[ ]{...text of caption...} (Do type [ ]) -\end{figure} -\end{verbatim} -\begin{flushleft} -{\itshape Sample Input} -\end{flushleft} -\begin{verbatim} -\begin{figure} -\vspace{2.5cm} -\caption{This is the caption of the figure displaying a white -eagle and a white horse on a snow field} -\end{figure} -\end{verbatim} -\begin{flushleft} -{\itshape Sample Output} -\end{flushleft} -\begin{figure} -\vspace{2.5cm} -\caption{This is the caption of the figure displaying a white eagle and -a white horse on a snow field} -\end{figure} -% -\section{Tables} -% -Table captions should be treated -in the same way as figure legends, except that -the table captions appear {\itshape above} the tables. The tables -will be numbered automatically. -% -\subsection{Tables Coded with \protect\LaTeX{}} -% -Please use the following coding:\\[2mm] -{\itshape Sample Input} -\begin{verbatim} -\begin{table} -\caption{Critical $N$ values} -\begin{tabular}{llllll} -\hline\noalign{\smallskip} -${\mathrm M}_\odot$ & $\beta_{0}$ & $T_{\mathrm c6}$ & $\gamma$ - & $N_{\mathrm{crit}}^{\mathrm L}$ - & $N_{\mathrm{crit}}^{\mathrm{Te}}$\\ -\noalign{\smallskip} -\hline -\noalign{\smallskip} - 30 & 0.82 & 38.4 & 35.7 & 154 & 320 \\ - 60 & 0.67 & 42.1 & 34.7 & 138 & 340 \\ -120 & 0.52 & 45.1 & 34.0 & 124 & 370 \\ -\hline -\end{tabular} -\end{table} -\end{verbatim} - -\medskip\noindent{\itshape Sample Output} -\begin{table} -\caption{Critical $N$ values} -\begin{center} -\renewcommand{\arraystretch}{1.4} -\setlength\tabcolsep{3pt} -\begin{tabular}{llllll} -\hline\noalign{\smallskip} -${\mathrm M}_\odot$ & $\beta_{0}$ & $T_{\mathrm c6}$ & $\gamma$ - & $N_{\mathrm{crit}}^{\mathrm L}$ - & $N_{\mathrm{crit}}^{\mathrm{Te}}$\\ -\noalign{\smallskip} -\hline -\noalign{\smallskip} - 30 & 0.82 & 38.4 & 35.7 & 154 & 320 \\ - 60 & 0.67 & 42.1 & 34.7 & 138 & 340 \\ -120 & 0.52 & 45.1 & 34.0 & 124 & 370 \\ -\hline -\end{tabular} -\end{center} -\end{table} - -Before continuing your text you need an empty line. \dots - -\vspace{3mm} -For further information you will find a complete description of -the tabular environment -on p.~62~ff. and p.~204 of the {\em \LaTeX{} User's Guide \& Reference -Manual\/} by Leslie Lamport. -% -\subsection{Tables Not Coded with \protect\LaTeX{}} -% -If you do not wish to code your table using \LaTeX{} -but prefer to have it reproduced separately, -proceed as for figures and use the following coding:\\[2mm] -{\itshape Sample Input} -\begin{verbatim} -\begin{table} -\caption{text of your caption} -\vspace{x cm} % the actual height needed for your table -\end{table} -\end{verbatim} -% -\subsection{Signs and Characters} -% -\subsubsection*{Special Signs.} -% -You may need to use special signs. The available ones are listed in the -{\em \LaTeX{} User's Guide \& Reference Manual\/} by Leslie Lamport, -pp.~41\,ff. -We have created further symbols for math mode (enclosed in \$): -\begin{center} -\begin{tabular}{l@{\hspace{1em}yields\hspace{1em}} -c@{\hspace{3em}}l@{\hspace{1em}yields\hspace{1em}}c} -\verb|\grole| & $\grole$ & \verb|\getsto| & $\getsto$\\ -\verb|\lid| & $\lid$ & \verb|\gid| & $\gid$ -\end{tabular} -\end{center} -% -\subsubsection*{Gothic (Fraktur).} -% -If gothic letters are {\itshape necessary}, please use those of the -relevant \AmSTeX{} alphabet which are available using the amstex -package of the American Mathematical Society. - -In \LaTeX{} only the following gothic letters are available: -\verb|$\Re$| yields $\Re$ and \verb|$\Im$| yields $\Im$. These should -{\itshape not\/} be used when you need gothic letters for your contribution. -Use \AmSTeX{} gothic as explained above. For the real and the imaginary -parts of a complex number within math mode you should use instead: -\verb|$\mathrm{Re}$| (which yields Re) or \verb|$\mathrm{Im}$| (which -yields Im). -% -\subsubsection*{Script.} -% -For script capitals use the coding -\begin{center} -\begin{tabular}{l@{\hspace{1em}which yields\hspace{1em}}c} -\verb|$\mathcal{AB}$| & $\mathcal{AB}$ -\end{tabular} -\end{center} -(see p.~42 of the \LaTeX{} book). -% -\subsubsection*{Special Roman.} -% -If you need other symbols than those below, you could use -the blackboard bold characters of \AmSTeX{}, but there might arise -capacity problems -in loading additional \AmSTeX{} fonts. Therefore we created -the blackboard bold characters listed below. -Some of them are not esthetically -satisfactory. This need not deter you from using them: -in the final printed form they will be -replaced by the well-designed MT (monotype) characters of -the phototypesetting machine. -\begin{flushleft} -\begin{tabular}{@{}ll@{ yields } -c@{\hspace{1.em}}ll@{ yields }c} -\verb|\bbbc| & (complex numbers) & $\bbbc$ - & \verb|\bbbf| & (blackboard bold F) & $\bbbf$\\ -\verb|\bbbh| & (blackboard bold H) & $\bbbh$ - & \verb|\bbbk| & (blackboard bold K) & $\bbbk$\\ -\verb|\bbbm| & (blackboard bold M) & $\bbbm$ - & \verb|\bbbn| & (natural numbers N) & $\bbbn$\\ -\verb|\bbbp| & (blackboard bold P) & $\bbbp$ - & \verb|\bbbq| & (rational numbers) & $\bbbq$\\ -\verb|\bbbr| & (real numbers) & $\bbbr$ - & \verb|\bbbs| & (blackboard bold S) & $\bbbs$\\ -\verb|\bbbt| & (blackboard bold T) & $\bbbt$ - & \verb|\bbbz| & (whole numbers) & $\bbbz$\\ -\verb|\bbbone| & (symbol one) & $\bbbone$ -\end{tabular} -\end{flushleft} -\begin{displaymath} -\begin{array}{c} -\bbbc^{\bbbc^{\bbbc}} \otimes -\bbbf_{\bbbf_{\bbbf}} \otimes -\bbbh_{\bbbh_{\bbbh}} \otimes -\bbbk_{\bbbk_{\bbbk}} \otimes -\bbbm^{\bbbm^{\bbbm}} \otimes -\bbbn_{\bbbn_{\bbbn}} \otimes -\bbbp^{\bbbp^{\bbbp}}\\[2mm] -\otimes -\bbbq_{\bbbq_{\bbbq}} \otimes -\bbbr^{\bbbr^{\bbbr}} \otimes -\bbbs^{\bbbs_{\bbbs}} \otimes -\bbbt^{\bbbt^{\bbbt}} \otimes -\bbbz \otimes -\bbbone^{\bbbone_{\bbbone}} -\end{array} -\end{displaymath} -% -\section{References} -\label{refer} -% -There are three reference systems available; only one, of course, -should be used for your contribution. With each system (by -number only, by letter-number or by author-year) a reference list -containing all citations in the -text, should be included at the end of your contribution placing the -\LaTeX{} environment \verb|thebibliography| there. -For an overall information on that environment -see the {\em \LaTeX{} User's Guide \& Reference -Manual\/} by Leslie Lamport, p.~71. - -There is a special {\sc Bib}\TeX{} style for LLNCS that works along -with the class: \verb|splncs.bst| --- call for it with a line \verb|\bibliographystyle{splncs}|. -If you plan to use another {\sc Bib}\TeX{} style you are customed to, -please specify the option \verb|[oribibl]| in the -\verb|documentclass| line, like: -\begin{verbatim} -\documentclass[oribibl]{llncs} -\end{verbatim} -This will retain the original \LaTeX{} code for the bibliographic -environment and the \verb|\cite| mechanism that many {\sc Bib}\TeX{} -applications rely on. -% -\subsection{References by Letter-Number or by Number Only} -% -References are cited in the text -- using the \verb|\cite| -command of \LaTeX{} -- by number or by letter-number in square -brackets, e.g.\ [1] or [E1, S2], [P1], according to your use of the -\verb|\bibitem| command in the \verb|thebibliography| environment. The -coding is as follows: if you choose your own label for the sources by -giving an optional argument to the \verb|\bibitem| command the citations -in the text are marked with the label you supplied. Otherwise a simple -numbering is done, which is preferred. -\begin{verbatim} -The results in this section are a refined version -of \cite{clar:eke}; the minimality result of Proposition~14 -was the first of its kind. -\end{verbatim} -The above input produces the citation: ``\dots\ refined version of -[CE1]; the min\-i\-mality\dots''. Then the \verb|\bibitem| entry of -the \verb|thebibliography| environment should read: -\begin{verbatim} -\begin{thebibliography}{[MT1]} -. -. -\bibitem[CE1]{clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and boundary-value problems for -Hamiltonian systems. -Arch. Rat. Mech. Anal. {\bfseries 78} (1982) 315--333 -. -. -\end{thebibliography} -\end{verbatim} -The complete bibliography looks like this: -% -\begin{thebibliography}{[MT1]} -% -\bibitem[CE1]{clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and -boundary-value problems for Hamiltonian systems. -Arch. Rat. Mech. Anal. {\bfseries 78} (1982) 315--333 -% -\bibitem[CE2]{clar:eke:2} -Clarke, F., Ekeland, I.: -Solutions p\'{e}riodiques, du -p\'{e}riode donn\'{e}e, des \'{e}quations hamiltoniennes. -Note CRAS Paris {\bfseries 287} (1978) 1013--1015 -% -\bibitem[MT1]{mich:tar} -Michalek, R., Tarantello, G.: -Subharmonic solutions with prescribed minimal -period for nonautonomous Hamiltonian systems. -J. Diff. Eq. {\bfseries 72} (1988) 28--55 -% -\bibitem[Ta1]{tar} -Tarantello, G.: -Subharmonic solutions for Hamiltonian -systems via a $\bbbz_{p}$ pseudoindex theory. -Annali di Matematica Pura (to appear) -% -\bibitem[Ra1]{rab} -Rabinowitz, P.: -On subharmonic solutions of a Hamiltonian system. -Comm. Pure Appl. Math. {\bfseries 33} (1980) 609--633 -\end{thebibliography} -% -\subsubsection*{Number-Only System.} -% -For this preferred system do not use the optional argument -in the \verb|\bibitem| command: then, only numbers will -appear for the citations in the text (enclosed in square brackets) -as well as for the marks in your -bibliography (here the number is only end-punctuated without -square brackets). - -Subsequent citation numbers in the text are collapsed to ranges. -Non-numeric and undefined labels are handled correctly but no sorting is -done. - -E.g., \verb|\cite{n1,n3,n2,n3,n4,n5,foo,n1,n2,n3,?,n4,n5}| -- where -\verb|n|$x$ is the key of the $x^{\mathrm{th}}$ \verb|\bibitem| -command in sequence, \verb|foo| is the key of a \verb|\bibitem| with an -optional argument, and \verb|?| is an undefined reference -- gives -1,3,2-5,foo,1-3,?,4,5 as the citation reference. - -\begin{verbatim} -\begin{thebibliography}{1} -\bibitem {clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and boundary-value problems for -Hamiltonian systems. -Arch. Rat. Mech. Anal. {\bfseries 78} (1982) 315--333 -\end{thebibliography} -\end{verbatim} -% -\subsection{Author-Year System} -% -References are cited in the text by name and year in parentheses -and should look as follows: -(Smith 1970, 1980), (Ekeland et al. 1985, Theorem 2), (Jones and Jaffe -1986; Farrow 1988, Chap.\,2). If the name is part of the sentence -only the year may appear in parentheses, -e.g.\ Ekeland et al. (1985, Sect.\,2.1) -The reference list should contain all citations occurring in the text, -ordered alphabetically by surname (with initials following). If there -are several works by the same author(s) the references should be listed -in the appropriate order indicated below: -\begin{alpherate} -\setlength{\hfuzz}{5pt} -\item -One author: list works chronologically; -\item -Author and same co-author(s): list works chronologically; -\item -Author and different co-authors: list works alphabetically -according to co-authors. -\end{alpherate} -If there are several works by the same author(s) and in the same year, -but which are cited separately, they should be distinguished by the use -of ``a'', ``b'' etc., e.g.\ (Smith 1982a), (Ekeland et al. 1982b). -% -\subsubsection*{How to Code Author-Year System.} -% -If you want to use this system you have to specify the option -\verb|[citeauthoryear]| in the \verb|documentclass|, like: -\begin{verbatim} -\documentclass[citeauthoryear]{llncs} -\end{verbatim} -Write your citations in the text explicitly except for the year, leaving -that up to \LaTeX{} with the \verb|\cite| command. Then give only the -appropriate year as the optional argument (i.e. the label in square -brackets) with the \verb|\bibitem| command(s).\\[2mm] -{\itshape Sample Input} -\begin{verbatim} -The results in this section are a refined version -of Clarke and Ekeland (\cite{clar:eke}); the minimality result of -Proposition~14 was the first of its kind. -\end{verbatim} -The above input produces the citation: ``\dots\ refined version of -Clarke and Ekeland (1982); the minimality\dots''. Then the -\verb|\bibitem| entry of \verb|clar:eke| in the \verb|thebibliography| -environment should read: -\begin{verbatim} -\begin{thebibliography}{} % (do not forget {}) -. -. -\bibitem[1982]{clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and boundary-value problems for -Hamiltonian systems. -Arch. Rat. Mech. Anal. {\bfseries 78} (1982) 315--333 -. -. -\end{thebibliography} -\end{verbatim} -{\itshape Sample Output} -\bibauthoryear -% -\end{document} diff --git a/executable_names/doc/common/llnlCoverPage.tex b/executable_names/doc/common/llnlCoverPage.tex deleted file mode 100644 index 8e0a24cfbc..0000000000 --- a/executable_names/doc/common/llnlCoverPage.tex +++ /dev/null @@ -1,191 +0,0 @@ -% ***************** llnlCoverPage.tex ******************************************************************************** -% This file defines the following commands for generating the -% front and back cover pages: -% -% \makeLLNLCover{UCRL}{Title}{Authors}{Journal}{Date}{hShift}{vShift} -% and -% \makeLLNLBackCover -% -% where -% -% UCRL: The UCRL (6 digit) number (which you probably won't know before the document -% is released so just make up a number) -% Title: title of the article -% Authors: Authors separated by \\ -% Journal: The journal name -% Date : the date -% hShift,vShift : horizontal and vertical shifts to apply to the title page to position it correctly (since -% the automatic positioning may not work) -% -% Here is an example: -% \makeLLNLCover{123456}{An adaptive numerical method for high-speed reactive flows}{William D. Henshaw\\% -% Donald W. Schwendeman}{Journal of Computational Physics}{January 1, 2003}{0in}{0in} -% -% ***************************************************************************************************************** -% -\newcommand{\setPageForLLNLCover}[2]{% -\newlength{\textwidthOld}% -\setlength{\textwidthOld}{\textwidth}% -\newlength{\textheightOld}% -\setlength{\textheightOld}{\textheight}% -\newlength{\topmarginOld}% -\setlength{\topmarginOld}{\topmargin}% -\newlength{\textwidthNew}% -\setlength{\textwidthNew}{6.5in}% -\newlength{\textheightNew}% -\setlength{\textheightNew}{9.5in}% -\newlength{\oddsidemarginNew}% -\newlength{\topmarginNew}% -\setlength{\oddsidemarginNew}{(\paperwidth-\textwidthNew)/2 - 1in + #1}% -\setlength{\topmarginNew}{(\paperheight-\textheightNew -\headheight-\headsep-\footskip)/2 - 1in +1.cm + #2}% -\newlength{\oddsidemarginOld}% -\setlength{\oddsidemarginOld}{\oddsidemargin}% -\changepage{\textheightNew-\textheightOld}{\textwidthNew-\textwidthOld}{\oddsidemarginNew-\oddsidemarginOld}{\oddsidemarginNew-\oddsidemarginOld}{}{\topmarginNew-\topmarginOld}{}{}{}% -}% -\newcommand{\setPageForLLNLBackCover}{% -\changepage{\textheightNew-\textheightOld}{\textwidthNew-\textwidthOld}{\oddsidemarginNew-\oddsidemarginOld}{\oddsidemarginNew-\oddsidemarginOld}{}{\topmarginNew-\topmarginOld}{}{}{}% -}% -\newcommand{\resetPageFromLLNLCover}{% -\changepage{-\textheightNew+\textheightOld}{-\textwidthNew+\textwidthOld}{-\oddsidemarginNew+\oddsidemarginOld}{-\oddsidemarginNew+\oddsidemarginOld}{}{-\topmarginNew+\topmarginOld}{}{}{}% -}% -% ************************************************************************************* - - -% ************************************************************************************* -\newcommand{\makeLLNLCover}[7]{% -\setPageForLLNLCover{#6}{#7}% -\thispagestyle{empty}% no number of this page -\newcommand{\logoWidth}{1.65in}% -\psset{xunit=1.cm,yunit=1.cm,runit=1.cm}% -\begin{pspicture}(0,0)(17,24.) -% turn on the grid for placement -% \psgrid[subgriddiv=2] -\rput(2.3,12.5){\epsfig{file=../common/Logo_for_papers.ps,width=\logoWidth}} -\rput(11.2,23.){\parbox{12.0cm}{\large\bf% -\begin{flushright} -% jg - just pass in full UCRL string -%Preprint \\ -%UCRL-JC-#1 -#1 -\end{flushright} -}} -\rput(10.5,18){\parbox{12.0cm}{%\sffamily\bfseries\Huge\noindent% -\fontsize{24.88}{30pt}\usefont{OT1}{cmss}{bx}{n} -\begin{flushleft} -#2 -\end{flushleft} -}} -\rput(10.5,13.){\parbox{12.0cm}{%\sffamily\LARGE\noindent% -\fontsize{17.28}{18pt}\usefont{OT1}{cmss}{m}{sl} -\begin{flushleft} -#3 -\end{flushleft} -}} -\rput(10.5,9.5){\parbox{12.0cm}{% \sffamily\large\noindent% -\fontsize{14}{16pt}\usefont{OT1}{cmss}{m}{n} -This article was submitted to #4 -}} -\rput(10.5,7.5){\parbox{12.0cm}{% \sffamily\bfseries\LARGE\noindent% -\fontsize{20.74}{22pt}\usefont{OT1}{cmss}{bx}{n} -\begin{flushleft} -#5 -\end{flushleft} -}} -% \rput[l](4,6.375){\psframebox{\parbox{2.5cm}{\bf% -% \begin{flushleft} -% Lawrence\\ -% Livermore\\ -% National\\ -% Laboratory -% \end{flushleft} -% }}} -\rput(10.5,-1.){\parbox{12.0cm}{% -Approved for public release; further dissemination unlimited}} -\end{pspicture} -% } -% -\clearpage -% -------------- back of front cover ------------------------- -\changetext{.625in}{}{}{}{} -\thispagestyle{empty}% no number of this page -\vglue5\baselineskip -\begin{center} -{\bf DISCLAIMER} -\end{center} -\noindent -% jg - updated disclaimer for report format -This document was prepared as an account of work sponsored by an -agency of the United States Government. Neither the United States -Government nor the University of California nor any of their -employees, makes any warranty, express or implied, or assumes any -legal liability or responsibility for the accuracy, completeness, or -usefulness of any information, apparatus, product, or process -disclosed, or represents that its use would not infringe privately -owned rights. Reference herein to any specific commercial product, -process, or service by trade name, trademark, manufacturer, or -otherwise, does not necessarily constitute or imply its endorsement, -recommendation, or favoring by the United States Government or the -University of California. The views and opinions of authors expressed -herein do not necessarily state or reflect those of the United States -Government or the University of California, and shall not be used for -advertising or product endorsement purposes. -\vskip2\baselineskip -\noindent -This work was performed under the auspices of the U. S. Department of -Energy by the University of California, Lawrence Livermore National -Laboratory under Contract No. W-7405-Eng-48. -\vskip1\baselineskip -\vfill -\clearpage -\changetext{-.625in}{}{}{}{} -\resetPageFromLLNLCover -\setcounter{page}{1} -% ----------------------------------------------------------------------------------- -} -% ************************************************************************************* - - -% ************************************************************************************* -\newcommand{\makeLLNLBackCover}{% -\clearpage -\setPageForLLNLBackCover -% jg - suppress printing of essentially blank page here -%\changetext{.625in}{}{}{}{} -%\thispagestyle{empty}% no number of this page -\ \ -%\vfill -%\begin{center} -%Approved for public release; further dissemination unlimited -%\end{center} -%\clearpage -%\clearpage -%\changetext{-.625in}{}{}{}{} -% --------------------------------------------------------------------------- -\thispagestyle{empty}% no number of this page -\renewcommand{\logoWidth}{10.in} -% \vglue\vShift -% \hglue\hShift -\begin{pspicture}(0,0)(17,24.) -% turn on the grid for placement -% \psgrid[subgriddiv=2] -\rput{90}(2.3,12.5){\epsfig{file=../common/Rule_and_address.ps,width=\logoWidth}} -% \rput*[l]{90}(5.5,0){\psframebox{\parbox{8.0cm}{\large% -% \begin{flushleft} -% University of California\\ -% Lawrence Livermore National Laboratory\\ -% Technical Information Department\\ -% Livermore, CA 94551 -% \end{flushleft} -% }}} -\end{pspicture} -% \setlength{\textwidth}{4.in} % page width -% \setlength{\textheight}{8.in} % page height -\clearpage -\resetPageFromLLNLCover -% ----------------------------------------------------------------------------------- -} -% ************************************************************************************* - - - - diff --git a/executable_names/doc/common/project.bib b/executable_names/doc/common/project.bib deleted file mode 100644 index f64a99aa9c..0000000000 --- a/executable_names/doc/common/project.bib +++ /dev/null @@ -1,219 +0,0 @@ -@MISC -{ - Authd2002, - AUTHOR = {Brad Chun}, - TITLE = {{Authd}}, - HOWPUBLISHED= {http://www.theether.org/authd/}, - YEAR = {2002}, -} - -@CONFERENCE -{ - BlueGeneL2002, - AUTHOR = {N. R. Adiga and others}, - TITLE = {{An Overview of the BlueGene/L Supercomputer}}, - BOOKTITLE = {Proceedings of Supercomputing 2002}, - ADDRESS = {Baltimore, MD}, - YEAR = {2002}, - NOTE = {Available from http://sc-2002.org/paperpdfs/pap.pap207.pdf}, -} - -@MISC -{ - BlueGene2002, - AUTHOR = {{{Lawrence Livermore National Laboratory}}}, - TITLE = {{Blue/GeneL}}, - HOWPUBLISHED= {http://www.llnl.gov/asci/platforms/bluegenel}, - YEAR = {2003}, -} - - -@MISC -{ - BlueGeneWeb, - AUTHOR = {{{IBM}}}, - TITLE = {{Blue Gene Home Page}}, - HOWPUBLISHED= {http://www.research.ibm.com/bluegene}, - YEAR = {2004}, -} - -@MISC -{ - DPCS2002, - AUTHOR = {{Lawrence Livermore National Laboratory}}, - TITLE = {{Distributed Production Control System (DPCS).}}, - HOWPUBLISHED= {http://www.llnl.gov/icc/lc/dpcs/dpcs\_overview.html}, - YEAR = {2002}, -} - -@MISC -{ - Etnus2002, - AUTHOR = {{Etnus, LLC.}}, - TITLE = {{Etnus Home Page}}, - HOWPUBLISHED= {http://www.etnus.com}, - YEAR = {2003}, -} - -@MISC -{ - Globus2002, - AUTHOR = {{The Globus Project}}, - TITLE = {{The Globus Project}}, - HOWPUBLISHED= {http://www.globus.org}, - YEAR = {2003}, -} - -@MISC -{ - GPL2002, - AUTHOR = {{The GNU Project}}, - TITLE = {{The GNU Public License}}, - HOWPUBLISHED= {http://www.gnu.org/licenses/licenses.html}, -} - -@CONFERENCE -{ - Jackson2001, - AUTHOR = {D. Jackson and Q. Snell and M. Clement}, - TITLE = {{Core Algorithms of the Maui Scheduler}}, - BOOKTITLE = {Job Scheduling Stategies for Parallel Processing}, - PUBLISHER = {Springer-Verlag}, - VOLUME = {2221}, - PAGES = {87-102}, - ADDRESS = {{7th International Workshop, JSSP 2001, Cambridge, MA}}, - YEAR = {2001}, -} - - -@MISC -{ - Jette2002, - AUTHOR = {M. Jette and others}, - TITLE = {{Survey of Batch/Resource Management Related System Software}}, - HOWPUBLISHED= {{Lawrence Livermore National Laboratory}}, - YEAR = {2002}, - NOTE = {(unpublished)}, -} - -@CONFERENCE -{ - Jones2003, - AUTHOR = {T. Jones and S. Dawson and R. Neely and W. Tuel and L. Brenner and J. Fier and R. Blackmore and P. Caffrey and B. Maskell and P. Tomlinson and M. Roberts}, - TITLE = {{Improving scalability of parallel jobs by adding parallel awareness to the operating system}}, - BOOKTITLE = {Proceedings of Supercomputing 2003}, - ADDRESS = {{Phoenix, AZ}}, - YEAR = {2003}, -} - -@CONFERENCE -{ - Kerbyson2001, - AUTHOR = {D. J. Kerbyson and J. J. Alme and A. Hoisie and F. Petrini and H. J. Wasserman and M. Gittings}, - TITLE = {{Predictive performance and scalability modeling of a large-scale application}}, - BOOKTITLE = {Proceedings of Supercomputing 2001}, - ADDRESS = {{Denver, CO}}, - YEAR = {2001}, - PAGES = {37}, -} - -@MISC -{ - LL2002, - AUTHOR = {{IBM}}, - TITLE = {{LoadLeveler -- Efficient job scheduling and management}}, - HOWPUBLISHED= {\linebreak http://www-1.ibm.com/servers/eserver/pseries/library/sp\_books/loadleveler.html}, - YEAR = {2003}, -} - -@MISC -{ - Maui2002, - AUTHOR = {{Maui Scheduler}}, - TITLE = {{Maui Scheduler}}, - HOWPUBLISHED= {http://supercluster.org/maui}, - YEAR = {2003}, -} - -@CONFERENCE -{ - Petrini2003, - AUTHOR = {F. Petrini and D. J. Kerbyson and S. Pakin}, - TITLE = {{The case of missing supercomputer performance: Achieving Optimal performance on the 8,192 processor ASCI Q}}, - BOOKTITLE = {Proceedings of Supercomputing 2003}, - ADDRESS = {{Phoenix, AZ}}, - YEAR = {2003}, -} - -@CONFERENCE -{ - Phillips2003, - AUTHOR = {J. C. Phillips and G. Zheng and S. Kumar and L. V. Kale}, - TITLE = {{NAMD - biomolecular simulation on thousands of processors}}, - BOOKTITLE = {Proceedings of Supercomputing 2002}, - ADDRESS = {{Baltimore, MD}}, - YEAR = {2003}, -} - -@MISC -{ - Quadrics2002, - AUTHOR = {{Quadrics Ltd.}}, - TITLE = {{Resource Management (RMS)}}, - HOWPUBLISHED= {http://www.quadrics.com/}, - YEAR = {2003}, -} - -@CONFERENCE -{ - SLURM2003, - AUTHOR = {M. Jette and M. Grondona}, - TITLE = {{SLURM: Simple Linux Utility for Resource Management}}, - BOOKTITLE = {Proceedings of ClusterWorld 2003}, - ADDRESS = {San Jose, CA}, - YEAR = {2003}, -} - -@MISC -{ - SlurmWeb, - AUTHOR = {M. Jette and M. Grondona}, - TITLE = {{SLURM Home Page}}, - HOWPUBLISHED= {http://www.llnl.gov/linux/slurm}, - YEAR = {2004}, -} - -@CONFERENCE -{ - STORM2001, - AUTHOR = {E. Frachtenberg and others}, - TITLE = {{STORM: Lightning-Fast Resource Management}}, - BOOKTITLE = {Proceedings of SuperComputing 2002}, - ADDRESS = {Baltimore, MD}, - YEAR = {2002}, - NOTE = {Available from http://www.cs.huji.ac.il/$\sim$etcs/papers/sc02.pdf}, -} - -@CONFERENCE -{ - Tsafrir2005, - AUTHOR = {D. Tsafrir and Y. Etsion and D. G. Feitelson and S Kirkpatric}, - TITLE = {{System Noise, OS Clock Ticks, and Fine-Grained Parallel Applications}}, - BOOKTITLE = {19th ACM International Conference on Supercomputing (ICS)}, - YEAR = {2005}, - PAGES = {303-312}, -} - -@CONFERENCE -{ - Yoo2003, - AUTHOR = {A. Yoo and M. A. Jette and M. Grondona}, - TITLE = {{SLURM: Simple Linux Utility for Resource Management}}, - BOOKTITLE = {Lecture Notes in Computer Science}, - PUBLISHER = {Springer-Verlag}, - VOLUME = {2862}, - PAGES = {44-60}, - ADDRESS = {{9th International Workshop, JSSP 2003, Seattle, WA}}, - YEAR = {2003}, -} - diff --git a/executable_names/doc/common/slurm.eps b/executable_names/doc/common/slurm.eps deleted file mode 100644 index da42db8a6a..0000000000 --- a/executable_names/doc/common/slurm.eps +++ /dev/null @@ -1,4115 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /home/dun/dvl/slurm-doc/slurm.eps -%%CreationDate: Fri Nov 2 14:10:19 2001 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 515 389 -%%EndComments -%%BeginPreview: 256 191 1 191 -% ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -% ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -% fbefbdf7df7befbef7df7f7df7defbefefbefbdf7defbefbdf7df7befbfbefbf -% eebaebaebaeebaebaebaeaebaeb5d75d5d75d6baebbaebaeb5d75d6baeaebaeb -% fbefbf7df7ddefbefdf7dfbefbff7df7f7df7fefbeefbefbff7df7fefbfbefbf -% ef7b76efbefbbdedb7befb77aeabd75d5d75d57aebbb6dded5dbbdabdededdeb -% fbdeefdaebaf775bed6baeedfdfefefbfbefbfdfdf77fbb5ff776bfeb5b5bb7f -% eef7dd7fbefbeeff7ffefbdf5bb7addf6f7df6f5bbeeaf7fabdeff5bffffefd7 -% fbbd7bd6f7b6bdd6d5addf7bf77dfbb5ddd75dbf76bdfbeb7ef7d6f76b557afd -% ef6fdf7dddefefbdff7bb5debeef5f7f7bbdf7ebefefb6beedbd7ddefeffdfaf -% fbfaf5efbb7dbaf7adef7f77ebdbf5edef77bebebdbaefeddfefdbbbd7db75fb -% eeafbf7af7d777befbbdeded7efebf7bbbeeebedef77bdbbbabaf7777d77df5f -% fbfb6bdfbefdeeebb7777bbfd7abebdf76bddedfbbeef77777efbeeeefdef6f5 -% ef6efef5ebafbddeeeeedf75bdfedef5efefbbbaf6bdddeeeeddebdddafbbddf -% fbdddbbf7efaefbbddddf5ef775bbbbf7dbaf777bfefbbbdddfb7efbbfaeefbb -% defbbeebd7b7baf77bbbbf7deef7776bd777beeeeadaf777bbafd7af76fbdaf7 -% f7af77befdeef7beef776bd7bddeeefefdeeebdddfbfbeeef77afdfbefb77fbf -% edfbededaf7ddeebddeefefdefbbddd7afbddefbbb76ebdddeefaf5ebdeeeb6b -% df5ebf7bfbd7bbdefbbddbaf7af77bbdfaefbbaf77efbefbbbddfbf7ef7ddeff -% 7bf7ebdf6efdf77baf77befbdfbeef775fbaf77deebdedaf777b5ebd7bd7bbdb -% eebd7ef5ddaf5eef7beef7b6f5ebddeef5f7beef7def7bfbeeeff7efdefdf777 -% 7befdbbf7bfbf7ddeebdddefbf7efbbddf5eebdbd7bbdf6ebddd6d7af7af5eef -% ef7af76bef5ebd7bbdefbb7debd7af77bbf7befefdeef5ddefbbdfdfbdfbf7dd -% fbdfbefebbf7efdf77baf7d77efdfbeef6bdedabaf7bbf7bbaf77af5ef5ebd7b -% 6ef5ebd7eebd7af5eef7befdd7affebddfef7bfefbdeebef77beefbf7bf7efdf -% 7bbf7efd7defdfbf7ddeebaf7df807f7badbdf6ddef7bebbeeebddebdebd7af5 -% ef6bd7afd7baf5ebd7bbdefbdf00003ef7bef5dfb7bdedeebddefb7ef7efdfbf -% 7bfefdfafdefbf7efdf77bdef012a887def7bf7afdef7bbdefbbafd7bd7af5eb -% eeadaf5faf7b6bd7af5eef77c0400100f7ddebefaf7bdf77baf77afdefdfbf7f -% 7bfbfbf5fbdefefdfbf7dddf0a0912293d777ebb7bdef5eef7beefaf7af5ebd7 -% ef6f5ebf5ef7dbaf5ebd7bbc009020000fded7eeeef7bf7ddeebddfbdfbf7efd -% 7bddf7ebf7bd777bf7efdf7024024492437bfd7dddbdebd7bbdefb5ef5ebd7af -% eefbbd7ebdefdeeeddbb75e10090000009eeb7d7bbef7efdf77baff7bf7efdfb -% 7db777d7ef7b7bddfbf7df842402492490fbeefdf77bd7af5eef7addebd7af5f -% efeeeefd7bdeef7baf5ef7088090000002377daf5edefdfbfbddefbb7efdfbf5 -% 7b7dfdb7def7dddf7dfbbe2012024924905ed7fbfbf7af6edefbbdf7d7b76edf -% efdbafeef7bdbfbbef6f680240480000020ffdb6df5dfbdfb7af776efdeefdfb -% 7d7ffabdbdeff5f77bddf924090124924846b7efb6fb6efafdfbeefdaf7dd7af -% efed6ff7ef7b6f6edefbb00090240000010bfebdfddfffb7db5eddd7fbdbbefb -% 7b7ffdbd7bdffffff7af6248020092492423b7ef57bb5afef7f7bbfedef777b7 -% eed5afefdef5555addfdc1ffa09270000081fd7bfef7ffdbbeddf75bf7beedef -% 7bff7b7b77bffff7ff6f8bffc400f4924908d7deb7bedb7febbb5fff6eebdf7d -% ef5befdffdeb6dbeb5fb11f1c892f00000227ef7fdedf7d57f77fad5dddf7bdb -% 7dfedd76d77fffedefaf20f282200254948077bdb77bbeffdbfedfbf7bbdeeff -% efb7fbefbedb5b7fbdfe02f62ffcf8fe7ef93def7ddf6db6f6d7b6f7ef77bdab -% 7b7db77df7f7fedb776c48fe5ffdf9ff7e601f7beff6fbefbffdfddd7dfef7ff -% efef7fdb6eded7fffffc00fe9f7cfbcf1ee49bdedd5ddf7dedb76fbfdbabbdb7 -% 7dbbedbffdfbfdb6d55892f60f3cfbcf3fc00ef7bbfbf6db7ffffb75bf7f77fd -% effedff6dbb75ffdfff800f64f3cfbcf9fc92fbdff6f5fffd56d6ffff6edeeaf -% 7b6bfb6ffffef5afb6d124f0df3cfbef0fc006ef6bfdfb6dbffffdadbddfbdfb -% efff6ffdb6adfff058f401f1df7cfbef2f8927fbfedbb7fffb5b6fffeffb77b7 -% 7d5bfd5bffffad04826093ffdf7ef9fe078007aedbff7edadffffb6b7b6feeff -% effedbff6adb7f4910a403ffdf7ef8fc772491ffff56edfff6dadfffdffd7fdb -% 7b6dffb6fffff610452090000000f800f70003b5b6ffffb6bffff6ad76dbdaff -% efffb6ffdb6adc45102404491249f1223e4925ffffedadffffb6bfffffffffb7 -% 7db6ffdafffff8904560fc802001f2047c0000db6b7fff6c007fedb6d6b6b6fd -% efffd5bfb6db59051005861244920048009248ffffdb6df8ff06ffffffffffd7 -% 7b6afff6fffff051e564140000004900840002eadaffffacc1f8f56db6d5adbf -% efdfb6dfd5adb505f02aa649249200241092487fffb55b7c3f169ffffffffffb -% 7d7dfffb7ffff053baa80400000049012200006dadfffffe1fa9c7ab5ab6dadf -% efefadb7edb56505e832ad24924900240049257fff6db5b58fea31fffffffff7 -% 7b7b7ffedffff0517d5004000000248092000075b5fffff8e3daac76d6db56bd -% efdff56dfb6db204df8aa52e4925c712a0f2793fffb5ad6919c3c73fffffffef -% 7dbadfffb7ffe4a13a0c0c611f8228c633098436adfffff00e38119b5b6adb7b -% eff7fb6b7ed6d00a1e24a488904cb2488c4e2a7fff6db6da4b8f4a9fffffffdf -% 7b6f5fffedfff550aa440d52a14910b229148236dbffffe806f0ff8d6d5b6d7b -% effdf6db7fb5b80406054500aa52252488402a5ffed56dd895bf003fffffffef -% 7d5bbfffdb7fe951524c1455a05440202295411db7ffffe806d4fffb6b6dab7d -% effff5ad7fedba040504a680a5708aaa8800151ffdb6d5b12368037fffffffdb -% 7db6dfffeadffc5151940a2aa052203022aa813b57ffffd805b915badb5ab6ff -% f7fffb6dbffb6d04048545808a988ab28c022a1ffeadb6ea4b50437fffffffb7 -% 6edb6ffff76ffe51504414955049284824ad013d6dffffb405b9059b56db6dfd -% fffffedb6efdb6040554a88085480a4a8a05551fffdb6d5c96d0233fffffff6f -% 6db6dbffffdbfd51502408ab508aaec82a55011b6dbfff6805b2847b6d6adbfb -% ffffff6db6ff4784056549814488090a88892a3efff6dbb646d14edffffffedf -% 6d6db7ffffb695d150281095499958102d1102c01b6fff6c8b62209b5bb6d7fb -% fffffdb6dbffa3e40522a981408808950c4a5312a7fdb6da02a69a9ffefffdb7 -% 6dab57ffff6d05b150680a95958aa81054890444036fffb69106a93d77db6fff -% ffffff6db7ff2bf8052aa680204809328c2a511155fdb6db0248c33beefffdad -% 6d6d6dfffedb016aa06809950a4aa810254a044400dfff6d1012a837bddb6fff -% ffffffdb6ffe55fc0a29428050a80895140aa91154f6dcd6225492bef7bffdbb -% 76dbb6fffadb01b4a0c816aa824aa11054aa0044015ffcbb00606e3fdff6dbef -% ffff7fb6dfff28fc0a4aa48094c81412a412557f547b6c6d24cea075badfff7f -% 6db7f6fff6db0269508808ab4189505025528e9bc13ffc36004510fffffb6ded -% fffdbfdb6fffa89204955266770ea10fc2a2701ef46db895494ab376db6fffdf -% 76dff6fffdb682045184e010001008200905809bd13fe9060043427ffffedb7d -% fffb7fdb6fffd4a885110484484091002020041f785b78204be886edb6dbfff7 -% 6db7edbffdb6e00222020810820400250484489df2bfdd04025298ffffffb6df -% fffedffb6fffdaa88e4841277dfbfe804810801fd42dba209e4892edb6db7ffd -% 76ddfb6ffdb6fc022e010ae8000000be0122125db13ff784004d24fffffff6db -% fffbdffedfffdb50be487a02a5252401f000001fe476fd48998251db6db6dfff -% 6dbfbdbbfb6dfffffa0380a8084041540f49493b013fd6c00850c5fffffffb6f -% fff6fbf7bfffb6dfdebc2502a215140120ba003e546dfb449aa28bb6db6dbffd -% 777fefbf76dbfffb7b41082808a041544a02fff0017fb6c0f23125fffffff6db -% feedbef7ffff6dbfff245142a20a140100a80002aa6ded898a9249edb6db7fff -% 6ffffbfedb6dfff6d449041008a0a1545402aa9400ffa000991493bfffffedb7 -% fdb6efb7ffffdb7ff9005145420a040101500020aaede224c4b513fb6db6ffff -% 77ffdefedb6dbfeda255041014a0a9545405550a01ffc8434e6867b7ffffdb6d -% ff6dfdeffffffb7fc8005145400a000101500050abb6c14ca11247ff6db6ffff -% 6dffb7ddb6db6fed12aa8410157ffaa85405550207ffc8a4d5248f6effffdb6f -% ffdbff7ffffffefe200021454f0003c281500054af6dd124312897fdedb6fffd -% 7b7f6df6dbb6dbd88aaa8a1070200018280555003effa9552543076fdfffdb6f -% eff7ffdfff7ffff9200020878044940742a00055fbeda50b0e922ffdfdb6fffd -% 7ededb7db7f6db680aaa8a38048000a0e80aaa0befbfe75554a60edfb7ffdb6f -% fbfdfff7fedffff2a00020c0200922041d502fff7efb8ac4c5044ffbff6dfffd -% 6fb7db6f6ffdb6d00aaa8f128490082081ffa7fdedef822a29280edf6dffb6df -% feff7ffefdb7fff5500030001002410400000edbffdf3e11b2492ffbffdbfffb -% 7bedf6ddefff6db00555c4490248082094003fffb77d20548491ddbf6dbf6dbf -% efbfdffbddb6fffaa00600802401210401491db6fef75089cd137ff7fffbfff7 -% 7efb7dbfffffedbc0abe29124092042124007fffefef0fc48856bb7edb776dbf -% fbeff7f6db6ddff540ef00000800488400247b6dbdbf2035b225dfedffeffff7 -% 6fbedf7fffffbdbf5fbd9249212400109281f7fffbfb0a4b10a6bddfdb7edb7f -% fefbfdedb76dfbf7f7ff8000040124820010ff6db7b72088654dbbbdbfefffed -% 7befb7ffffffbfbedeedc924909000104905edffff7f4a24204b3ffbfb7db6ff -% efbeffbbeeedf6f7ffffe000020492420023dfdb6efe808cca8abb6fbfefffdb -% 7efbeeff7fffbffef6ddf24924200008490ffdbffdedd5209087bffef6feeeff -% fbefbfeffbb6f6dbdfffb80000849241002f7ffb6ffca00ac4957bdfffdbddef -% 77befbbddfffffffffbbfc9248100008249febbfff6cffd29106f77bb7ffffdd -% fffdf7ffbeedb6db76ff7e0002424921007dff76dbfca0248525fffffedb777f -% 76efdf6dfbdfffffefefefa49008000424ffbfffff78dec521036eeeefffeef7 -% fffffeffefff7df77fbdfd800241249081f7f6eddded73950b25fdddddbbbfff -% 77bb77f77edbefbffb7fb7e49008000213eefffffbfda4255001fffffffffddd -% feffefbfeffffdf6dff7fff00491249047bfdddf7fbf68890692edbb76eeefff -% 77eefefdfdbedffffefeeefc900000020ffdfbfbef76cc315200fffffffddedb -% ffbddfefbff7fbb7bbdfdfde024924907f77bfbf7dfda5630425dbeeeedffdff -% 76fffbbdf77eeffefffbfdffa4000004fefff777efecc3c12c81ff7dddfbbff7 -% ffedbf7fdeeffeefeedf77b7e0924923f7eefffeff7e48058813f7effffff7bf -% 77bff7f77ffdbbddfdfdeffefc00000fffdfdddfdbffb0117c81deffbbb6fefb -% feff7efefbdfffffbff7feefff92497fb6fdfbfbffb7da43d413ffdb7fffdfef -% 77f6efdfef7beedff7bfbffddffd17fefff7bfbf76fee60ab483b77ff6eefbbf -% ffbffdfbffff7ffb7efdf6dffbfffffbf7bff7f7eff7f9936c13fefeffdfef7d -% 76fddfbf6ddffbbfefeffffbbf7fffb7defdbefeffbfde62da87efedddfddff7 -% ffeffbf7fffb6ff77dff6efff7eddb7f7fefffdfddfdbf9f6c177dffffbffdff -% 77bf7f7eef7ffeffffbbffdb7effbffffbbf76fbffefffe3fb3fffbbbbf77fb7 -% fefbefeffdeefbdddbf7dbffefddfeeddffbffff777f76fc07feedffff7fedff -% 77fffdfdbfffdfffff7f7f77fdfff7fffeefdddbfff6fffff877ffeeefedffef -% ffb6dfbff76dfedb77effffedfb76fbb77fefbffdddfeedfffffbbbffdffbbbd -% 76fffbf77fffb7fffefddb6ffbfffeffffbbffbb7fbffffbdfeefffbbfbbf7ff -% fff7bf7feddfffbeefdffffddf7ddfeeedffb7fff7fb6dff7bbfeeeff7ff7f77 -% 77bef7edfffb7df7fdfb777fffeffbbfffeefeeefeffffb7fffbbffefeefefff -% fefffeffbbbfefffbfbfffedbb7f7ffbbbbff7ffdfdbbffeeeeffbbbdfddfddd -% 77eddfdffff77f6df7f7ddfffffbeeeffffbbfbbfbfff6effffeeffffbffbfff -% ffbffbfb6efffbfffefeffbbeeeffffeeeeffdff7f777fdddbbbfeeedf7bf777 -% 76fdbf7fffdddfdf6fdff7ff7dfedbbbfffeefefefefeeffffffbbffffef7fff -% fff7f7eefbfffefbfdfbbeefffdfffffbbbbff7dfdfefffbbeeeffbbbb7feddd -% 7fdffeffdf7777ffdfbf7fdddbfbbeeeffffbbffbfbfdbb7f7ffeefffffbffff -% f6fedfdbffffff6efbf4db3ef6df67fdee5bffb7f7f6ffff7fbbbfeeeeef6f77 -% 7ff7fbff76dd44aabf7ddedb7773df8d1eaf5b7d5cbec8cfedf7fbbffdfffdff -% f7bfff7ffffadaad575bad5ef577bd6eeb6bbe92adbdb75dffff7ffbbfdddfdd -% 7efedfedddff77dbdf7bbaedeb7aaf5d6b75ad7d6abadedfbbb7eefff7fffbfb -% fff7fbffffb6f5d5ed7ab5dd6eeabebdf77bbacefd7bbfdbfffeffdb7ef77f7f -% 76dfbf7f7bfdb7f7ff6bb5faeefafeb5f6eb7bfddbbaadbfb777fbffefdfefef -% fffdf7edfff5f7b776f757fdd6baf6bdb6bd55fd7b77bfb77fffdf77fefefdfd -% 77bfffffef6eedf7fedb77b5ddfbddbaeaf377b5f56b7b5ffeeefffeddfbffbf -% fef76edfbdfdd7f9eeab6a5b5d7bfdabeeef75fdf76f5f7df7fffb6fffdfdbf7 -% 7ffffffdfffbefbafd576abaadeadabdd5eb6ffbb7575377bfdddffddbff7fff -% f7defdfff7bad7cdddf76fb5bbfbfabbadaeebbaf55eaebffefffeffff7bff6f -% 7effefdbbffbded6fdeeaf57badbf5555daeeff5ef5afefef7fbbbdbbfefedff -% fffbfffffef5dfeafd6eed775ab777b6bd5eaf37eb5eff77dfdffffff6ff7ffd -% 77df7dbf77d7dbf5b5eaeab77557ebb57abd72f7af7e82fffeff77bf7ffdffb7 -% feffeffbfff7afbdfbff7577fff5efb5fafef575ef757edefbfbfffbffdfedff -% 7ffbffffeefeffffff7ffffeefffafbffffbfff7fdffdbfbdfdfeeffedfbffff -% f7df7db77fdffdf7b7eddffffedffdffb7dfefdfbfef7fffff7f7fdf7fbfbfb7 -% 7effeffffdfdefbefffffdb7dffdfff6ff7fbefff7bfff6f7bfbfdfbfffff6ff -% fffbfffeeffffffffedfbffefdffb7bffffbfffb7ffdedffffefefffedf6ffff -% 77df7db7ffb7bdf7dbfdfbffffdbfeffdbef7bdffef7bffdef7f7fb77fbfdfdb -% feffefffddfef7beffffffb7dbfffff6ff7fff7fefdfffb7bdfdfdfffffffdff -% 7ffbfffeffffffffff6fb7feffbf6dfffffdeffb7dff7bffffefeffeedf6ffbf -% f7df7db7fbb7def7dbfdff7ffffbffdfdbeffdeffffbff7ef7bfbfb7ffbfdbfb -% 7effefffdffefffefffffff7db7ffffb7f7fbfffefbfeff7fffdfdffdfffffff -% fffbfffeff7ffbdfff6fb6fefff76dbffffdf7bdbdf77dffdef7f7fefdf6ff6f -% 77df7db7fbf7df7bdbfdffefffffffffedeffff7ffffffdefbdfbfb7ffbfdbff -% feffefffdffeffffffffffffdb6efff6ffffbefff7beeffbfffffeffdbfffffd -% 7ffbfffeff6ffbef7f6fb6ddffffedbfdfbdf7dedff7fdbfdf7df7fefff6ff6f -% f7df7db7fbffdf7fedfdffffbffdfffffdf7fffffeffdfff7bf7bfdbff7fdbff -% 7effefffdffdfffdfffffffbfb6fdff6ffffbefbfbdefff7fffffeffdbeffffd -% fffbfffeff6fbbefbfb7b6dffffffdbfdbbef7df6ffffb7ef76f77ff7ffeff6f -% 77df7db7fbffff7ffbffffff6ffdbffffff7ffffff7bdfefffffffdbff7fdbff -% feffefffdffdf7fdff7efffbfdb7fbf6ff7fdefbfdff7fffdefdeeffededfffd -% 7ffbfffeff6fbfefb7f7db6fffffffbfdbfeffdf6feffb7dfbefbfff7fffff6f -% f7df7db7fbfffeffffffffff6ffedfffffeffbffffbdefefbffffddbffbfb7ff -% 7effefffdffdf7ddfedefffdfdb7fb76ff7ddf7bfdffffffff7df7ffedfbfefd -% fffbfffeff6fbfffb7fbdb6fffffffffdbffffff6ff7bdbdf7efbfbf7fff7fef -% 77df7db7fbfffefbffffffffb7fedfefffefbbefffbff7ffbefffefbffb7f7ff -% feffefffdffdf7dffedf7ffdff6ffb7eff7dff7dfdfefff7fffdf7ffedfffedd -% 7ffbfffeff6fbfff6ffbf6dffffdffffdbfff7ffdff7dedef7dfbfdf7ffedfff -% f7df7db7fbfffefbfdfffffbb6ffdfedffefbfeffbbffffffefbfefbffb7fbfb -% 7efff7ffdffef7dfffdf6fffffeffb7fff7dfefdbffefbfbdffff7ffedffffbf -% fffbfffeff6fffff6ffbfedffffdbfffb7fffbdfff77df6ffbdf7fdf7ffedff7 -% 77df6f6ffdffdefbfdbffffb6dbfffedfef7bffff7ffffff7ffbeefdffb7fb7f -% ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -%%EndPreview -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 374.085208 translate -500.113915 -374.085208 scale -% Image geometry -500 374 8 -% Transformation matrix -[ 500 0 0 374 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 500 string def -/gstr 500 string def -/bstr 500 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 251367 ASCII Bytes -colorimage -JH16$JH1Z0J,~> -JH16$JH1Z0J,~> -JH16$JH1Z0J,~> -!< -!< -!< -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -IK1Zr?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;s&a_W=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E; -=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E; -=BJp4=C504?W^E;=BJp4=C;)1IU?2Z?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;s&a5I=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=C3?SJ,~> -IK10D69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a -3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a -3'oSa69$qks#>Ho3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk -3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk -3&j5a3'oSa69$qk3&j5a3(!X)IR6"R69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa -69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa -69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qks#=sa3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a -3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a -3'oSa69$qk3&j5a3'oSa69$qk3'nD]J,~> -IK2-GFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_Js)id4F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J -F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J -F`heKF`_bKFEM_JF`heKF`dY+IWT^TFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_Js)i:&F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`]A=J,~> -IfLd%=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=FOUZ=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?iO5W?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E; -=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E; -=BJp4=C504?W^E;=BJp4=C504?W^E;=BJr1=DV>H=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJr0=90]JJ,~> -IfL9O3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa -69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa -69$qk3&j5a3.=1R3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a -3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a -3'oSa69$qk3&j5a3'oSa6N9#o69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk -3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk -3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j8)3,Co@3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa -69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa -69$qk3&j5a3'oSa69$qk3&j8(2usfqJ,~> -IfM6GF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKFaeFTF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFT6K4FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J -F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J -F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`hg+F_l/BF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`hg*FTF5tJ,~> -!<=Es=FjSI=FOUZ=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?iO4=?W^E;=BJp4=C504?W\TSJ,~> -!< -!<=m+Fb+\.FaeFTF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFT6IoFEM_JF`heKF`_bKFEK>=J,~> -IfLd%=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4= -IfL9O3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa -69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa -69$qk3&j5a3$^gM3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j8(3.=1R3'oSa69$qk -3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk -3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa6N9#' -69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j7B3)r:) -3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a -3'oSa69$qk3&j5a3'oSa69$qk3&h]SJ,~> -IfM6GF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKFX2'OF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`hg*FaeFTF`_bKFEM_J -F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J -F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFT6JA -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`hfDF]EO+ -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`fG>J,~> -!<=Es=P['Z?iF/V?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJr1=DqPK=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C8sJ)IHTK?W^E;=BJp4=C504?W^E;=BJp4=C3?SJ,~> -!< -!<=m+Fkq0?FT-E3FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`hg+F`2AEF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`bND)K^+EFEM_JF`heKF`_bKFEM_JF`heKF`]A=J,~> -IfLcs=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E; -=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E; -=BJp4=C504?iO4O?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C:u.!+1:ZaB3Ii=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C:/l!@7_r~> -IfL9E3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk -3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk -3&j5a3'oSa6N9"g69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3(!O&!()5ra>e3,3&j5a -3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a -3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'u^d!>b`d~> -IfM6HF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J -F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J -F`heKF`_bKFT6J,FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`dP(!-Ed7aE;NFF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`c_f!AXY*~> -!<=F4=?Kqm=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJr0=FOUZ=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?iO4a?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E; -=BJp4=C504?W^E;`)p#H=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^DV!.Y~> -!< -!<=mAFZabgF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`hg*FaeFTF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFT6J>FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J -F`heKF`_bKFEM_J`-#(%F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM^]!.Y~> -B`KG]?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJqK=9)_-=FOUZ=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?iO5H?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;`)mpb -=BJp4=C504?W^E;=BJp4=C504?W^E;,liG~> -B`Jr/69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a -3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j7C2ul;E3.=1R3'oSa -69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa -69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa -6N9#`69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a -3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk3&j5a3'oSa69$qk`&JZ% -3&j5a3'oSa69$qk3&j5a3'oSa69$qk(BAs~> -B`Ko2FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`hfEFT?O_FaeFTF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FT6K%FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J`,uu? -F`heKF`_bKFEM_JF`heKF`_bKFEM_J1&uh~> -!<=F2=>O;d=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C6V] -^K>M`=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C:2m -!@7_r~> -!<b`d~> -!<=m?FYe,^F`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF``1W -^NFR=F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`cbg -!AXY*~> -!<=Es=JJuI?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E; -=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E; -=BJp4=C504?W^E;=BJr1=9)^H=B&X0=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;==!rt~> -!< -!<=m+Fea).FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J -F`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_J -F`heKF`_bKFEM_JF`hg+FT?O%F] -!<=Es=FjSX=@ce$=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4 -=C504?W^E;=BJp4=C504?W^E;=BJqK=;bIJ=C504?W^E;=BJp4=C504?W^E;=BHjLJ,~> -!< -!<=m+Fb+\=F\$UsF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heK -F`_bKFEM_JF`heKF`_bKFEM_JF`hfEFW#:DF`_bKFEM_JF`heKF`_bKFEM_JF`fG>J,~> -!<=Es=FjS*=Sc,p?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504 -?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJqn=90]JJ,~> -!< -!<=m+Fb+[dFo$5UFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bK -FEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`hfhFTF5tJ,~> -!<=Es=FjS*=MIrk?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C504?W^E;=BJp4=C3?S -J,~> -!< -!<=m+Fb+[dFh`&PFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`_bKFEM_JF`heKF`]A= -J,~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=Es=FjS*=HQ\d,liG~> -!< -!<=m+Fb+[dFcgeI1&uh~> -!<=9o=FjS*=HQ\d,liG~> -!< -!<=^&Fb+[dFcgeI1&uh~> -!<=9o=FjS*=HQ\d,liG~> -!< -!<=^&Fb+[dFcgeI1&uh~> -!<=9o=FjS*=HQ\d,liG~> -!< -!<=^&Fb+[dFcgeI1&uh~> -!<=9o=FjS*=HQ\d,liG~> -!< -!<=^&Fb+[dFcgeI1&uh~> -!<=9o=FjS*=HQ\d,liG~> -!< -!<=^&Fb+[dFcgeI1&uh~> -!<=9o=FjS*=HQ\d,liG~> -!< -!<=^&Fb+[dFcgeI1&uh~> -!<=9o=FjS*=HQ\d,liG~> -!< -!<=^&Fb+[dFcgeI1&uh~> -!<=9o=FjS*=HQ\d,liG~> -!< -!<=^&Fb+[dFcgeI1&uh~> -!<=9o=FjS*=HQ\d+TR#~> -!< -!<=^&Fb+[dFcgeI/HC;~> -!<=9o=FjS*=HQ\d,liG~> -!< -!<=^&Fb+[dFcgeI1&uh~> -!<=9o=FjS*=HQ\d+TR#~> -!< -!<=^&Fb+[dFcgeI/HC;~> -!<=9o=FjS*=HQ\d,liG~> -!< -!<=^&Fb+[dFcgeI1&uh~> -!<=9o=Kts?:dd,o,p=';%2'Hn+XJ]s3(/="JQVMG!?hGn~> -!<PTb~> -!<=^&Fg6'$DI?%$1+aUe&fMl8/M]R_>$uo(JT^R,!A+;%~> -!<=9o=LM<77PlD-%Jp,/'cnqQ*YnMO":Z.n1e*$uJQV_M!@7_r~> -!<b`d~> -!<=^&FgcDqAP"X"')MY4"pk_G#mU5+";2h48S*HqJT^d2!AXY*~> -!<=9o=LqT:6nfDdrW!-210eUXWOhoJ#Jm[:Jnn(9%/g/.(G/$OJQRJ*r`B1E!.Y~> -!<\JN/3?r\son!.Y~> -!<=^&Fh2\t?pGtMrW!--$lgB9/N3Df#<4Im-Qj36#Q4W)+@'=PJTZNdrcJ5n!.Y~> -!<=9o=M@lE:c'=)!!!EZ>`?8Zaoo;=A3CA#!!4<#:k;`"=90QFJ,~> -!< -!<=^&FhVu*DFlDm!!!65*$dH-4TmYh*YJ_W!!4`DDLlq]FTF&oJ,~> -!<=9o=M\)@:c'!f!!=f`R`+1-!hjZprW!!91f/a*KNJ6u!.Y~> -!< -!<=^&Fhr2%DFl,Q!! -!<=9o=Mn5A3$J8$!^2.Hg<'Z:N(49V!$O=Q=GBoY+TR#~> -!<d!#7):3/0Bn'``a~> -!<=^&Fi/>&=tT^R!YQk=g-#[#,SgUb!%hB*FbY#>/HC;~> -!<=9o=N4GJ:bW=Y!'#SHeB/$4N'..@%5:V0=G^,\+TR#~> -!< -!<=^&FiJP/DEng7!"^M;e3+$r,SC(W&jU>cFbt5A/HC;~> -!<=9o=NFSK7Nha3'kFSpap,Fm'`\4[7Y+["=90QFJ,~> -!< -!<=^&Fi\\0AM!l^"s,PF4U*ee"onWYAV"u^FTF&oJ,~> -!<=9o=NX_L6m2O115s;s"cP#5!$t*c=H-D`+TR#~> -!< -!<=^&Finh1?nD?Y$m`nW"XFNW!&A,:FcCME/HC;~> -!<=9o=NjkN6m2O14e]g:"e%CN!$tHm=H?Pb+TR#~> -!<c/en?d6*/#W"f+6\!#IMD30-$"'``a~> -!<=^&Fj+t3?nD?Y&i% -!<=9o=O("P:a#f=8$'MK"eIIL!&.6#=HQ\d+TR#~> -!< -!<=^&Fj>+5DCkhg(,EZg"Y^>b!'kFQFcgeI/HC;~> -!<=9o=O:.R:bVkL32+"-"Hk&2%6/o@P#q`.!.Y~> -!< -!<=^&FjP77DEn1%&2Cg\"=4BT&mBj/P'$dW!.Y~> -!<=9o=OC4R6k',BP.8X;Esr$b:k;`5=90QFJ,~> -!< -!<=^&FjY=7?kNGH-+H)@+pS)nDLlqpFTF&oJ,~> -!<=9o=OU@T:aH)MCUM:f\jl`#1kAbo=90QFJ,~> -!<2us`oJ,~> -!<=^&FjkI9DDD1s+LO?82AQ8m8V)#LFTF&oJ,~> --3,2k=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*rJQV_M">gPf33fd3"I^&*(JoZb -QWO83!.Y~> --3+c?3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQJN3Hb"="3Q4MA&Q"Jch6&iG5" -QT,!\!.Y~> --3,W?F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>JT^d2"A'4+&2LOS"=OHS,]80U -QZW<\!.Y~> -!<=:u=?98\:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:psI/:a#fRH`tQp_+an=3.Y2!=90QFJ,~> -!<II2&-*-KWj#2bu+NJ/V,mK2us`oJ,~> -!<=_,FZOD_DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DROZjDCkhm-*KH73#;Q->(Lg`FTF&oJ,~> -,lf)j=AW+%:fpgr=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr=BJD==?98\:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr;"@]k6k',d_5tc^N!o\<:k;`; -=90QFJ,~> -,leZ>3&NZT2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ3&ie73'&oV2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2=`^0/dVMJc)fP#PS*s;21[`U -2us`oJ,~> -,lfN>F`)>EDKU)>F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>F`hT@FZOD_DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DXqoQ?kNGT3357G,R4<7DLlr! -FTF&oJ,~> -!<=;B=9)1q=9)1q=9)1q=9)1q=9)1q=9)1s=?02[=AW+%:fpgr=BJC%=AW+%:fpgr=BJC%=AW+% -:fpgr=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr`E3^K=AW*r=AW*r=AW*r=>U!XH`>-lYq5ql:fpPF -=IiOp+TR#~> -!< -!<=_NFT?=WFT?=WFT?=WFT?=WFT?=WFT?=YFZF>^F`)>EDKU)>F`hSEF`)>EDKU)>F`hSEF`)>E -DKU)>F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>`H;c1F`)>>F`)>>F`)>>F\)Q5-)j$31(=4+DKTiJ -Fe*XU/HC;~> -!<=;A=9DB%=A]!!!)WVr"&N*%;#XPs;#OJu:fpgrr`B.sr)`qqr)`qqr)`qqr)`qqr)`qqr)`qq -r)`qqr)`qqr)`qqr)bsU=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr=BJC%=AW+% -:fpgr=BJC%=AW+%;"@]j/H?NZVTK*G!"D=u=AXQNT3)+;!.Y~> -!<oK:2)mQQr\sm8r&=[6r&=[6r&=[6r&=[6r&=[6r&=[6 -r&=[6r&=[6r&=[6r&?\o3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT -2)mQQ3&icT3&NZT2=`^/*WR"XVUu)O!!t8;3&Q7HT/Zid!.Y~> -!<=_MFTZN(F`.2$!,haX")`7(DZ4bYDZ+\[DKU)>rcJ3Yr,i!Wr,i!Wr,i!Wr,i!Wr,i!Wr,i!W -r,i!Wr,i!Wr,i!Wr,k#;F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>F`hSEF`)>E -DKU)>F`hSEF`)>EDXqoP5QD!CVEG,!!"r[^F`)bQT61/d!.Y~> -"99TI=A\ot!)WYs!)WVr!)WYs!)WYs!)WYs!)WYs!)WYs!)WVr"&N*%;#XPs;#OJu:fpgrr`B.s -rE'.u=BJE!=9)1r=9DB%=A]!!!)WVr"&N*%;#FDq;#FDq;#FDq;#FDq;#FDq;#FDq;#FDq;#FDq -;#FDq;#FE-:fpgr=BJC%=AW+%:fnk@/\7b#"+("W3:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:k;a%=90QFJ,~> -"99/r3&UUn!&aa8!&a^7!&aa8!&aa8!&aa8!&aa8!&aa8!&a^7"#W%t2?#Q82>oK:2)mQQr\sm8 -rAXm:3&iep2uki73!2#t3&U[p!&a^7"#W%t2>fE62>fE62>fE62>fE62>fE62>fE62>fE62>fE6 -2>fE62>fEG2)mQQ3&icT3&NZT2)l -"9:#rF`.,"!,hdY!,haX!,hdY!,hdY!,hdY!,hdY!,hdY!,haX")`7(DZ4bYDZ+\[DKU)>rcJ3Y -rH/3[F`hU$FT?=XFTZN(F`.2$!,haX")`7(DZ"VWDZ"VWDZ"VWDZ"VWDZ"VWDZ"VWDZ"VWDZ"VW -DZ"VWDZ"VhDKU)>F`hSEF`)>EDKRN2%5t"F"!mp[>5iY(DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DLlr`FTF&oJ,~> -!<=;B=9;<$;#XPs;#XQ#:fpOr=A]!!!)WYs!)WYs!)WYs!)WYs!)WVr!)WYs!)WYs!)WYs!)WYs -!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WVr"&N*%;#XPs;#OJu:fpgrr`B.s -rE'.u=BJE!=9)1r=9DB%=A]!!!)WVr"&N*%;#FDq;#FE":fpO1!'S/maoe4D!&V\t1f.:N=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AY#[!?hGn~> -!<oK:2)mQQr\sm8 -rAXm:3&iep2uki73!2#t3&U[p!&a^7"#W%t2>fE62>fE<2)mH+!("l(fE8)c!$fKC1c76M3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&Q^U!>PTb~> -!<=_NFTQH'DZ4bYDZ4b^DKTi>F`.2$!,hdY!,hdY!,hdY!,hdY!,haX!,hdY!,hdY!,hdY!,hdY -!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,haX")`7(DZ4bYDZ+\[DKU)>rcJ3Y -rH/3[F`hU$FT?=XFTZN(F`.2$!,haX")`7(DZ"VWDZ"V]DKThB!"q8c4TdAC!(k1Q1i@GRF`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`*4^!A+;%~> -!rsKH;#OK":fpOr=A\ru$W'r-:fpgr=AW+%;#XPs;#XPs;#XQ#:fpOr=A]!!!)WYs!)WYs!)WYs -!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WVr!)WYs!)WYs!)WYs!)WYs!)WYs -!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WVr#uF`+:fpgr(B@1%aulaH!&.MW:fpgr -=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr=BJDC=?98\:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:ruf?+TR#~> -!rs&q2>oK<2)mHQ3&UXo$T0n'2)mQQ3&NZT2?#Q82?#Q82?#Q=2)mHQ3&U[p!&aa8!&aa8!&aa8 -!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&a^7!&aa8!&aa8!&aa8!&aa8!&aa8 -!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&a^7#rO\%2)mQQ%ffM"fK?Vc!$4*Z2)mQQ -3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ3&ie=3'&oV2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ29@fY'``a~> -!rsoqDZ+\]DKTi>F`./#$Z:*0DKU)>F`)>EDZ4bYDZ4bYDZ4b^DKTi>F`.2$!,hdY!,hdY!,hdY -!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,haX!,hdY!,hdY!,hdY!,hdY!,hdY -!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,haX$#Xm.DKU)>+934M4ZkJ+!'k[LDKU)> -F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>F`hTFFZOD_DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DTR#%/HC;~> -(B>U\:fpOr:fpOr:fpOr:fpOr=AW+%;#XQZ:fpgr=BJC%:fpgr=BJC%=AW+%:fpgr=AW+%:fpgr -=AW+%:fpgr=AW+%:fpgr=AW+%:fpgr=AW+%;#XPs;#XPs;#XQ#:fpOr=A]!!!)WYs!)WYs!)WYs -!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WYs!)WVr!)WYs"&Kd6>b0"?YpBB%;#OJr -;#FDq;#FDq;#FDq;#FDq;#FDq;#FDq;#FDq;#FDq;#XQQ:fpgr=BJC%=AW+%:fpgr=BJC%=AW+% -:fpgr=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr`E5,s=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*C!.Y~> -(B>102)mHQ2)mHQ2)mHQ2)mHQ3&NZT2?#Qt2)mQQ3&icT2)mQQ3&icT3&NZT2)mQQ3&NZT2)mQQ -3&NZT2)mQQ3&NZT2)mQQ3&NZT2)mQQ3&NZT2?#Q82?#Q82?#Q=2)mHQ3&U[p!&aa8!&aa8!&aa8 -!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&aa8!&a^7!&aa8"#UShA"D6T]dEe$2>oK7 -2>fE62>fE62>fE62>fE62>fE62>fE62>fE62>fE62?#Qk2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT -2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ`Afk83&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZ1!.Y~> -(B?%0DKTi>DKTi>DKTi>DKTi>F`)>EDZ4c@DKU)>F`hSEDKU)>F`hSEF`)>EDKU)>F`)>EDKU)> -F`)>EDKU)>F`)>EDKU)>F`)>EDKU)>F`)>EDZ4bYDZ4bYDZ4b^DKTi>F`.2$!,hdY!,hdY!,hdY -!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,hdY!,haX!,hdY")]4]*1]4q1(""HDZ+\X -DZ"VWDZ"VWDZ"VWDZ"VWDZ"VWDZ"VWDZ"VWDZ"VWDZ4c7DKU)>F`hSEF`)>EDKU)>F`hSEF`)>E -DKU)>F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>`H=1YF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)=R!.Y~> -8,sf8:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr=A\ru"&N*%;#OKY:fpgr=BJC%:fpgr=BJC%=AW+%:fpgr=AW+%:fpgr=AW+% -:fpgr=AW+%:fpgr=AW+%:fpgr=AW+%;#XPs;#XPs;#XQ(:fpOr=AW*r(BA!8ap,[.!%h;T;#XPs -;#OJu:fpgrr`B.srE'.u=BJE!=9)1r=9DB%=A]!!!)WVr"&N*%;#XPs;#FDq;#FDq;#FDq;#FDq -;#FDq;#FDq;#FDq;#FDq;#FEU:fpgr=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr -=BJC%=AW+%:fpgr=BJC%=A[(@!`1$?J,~> -8,sAa2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ3&UXo"#W%t2>oKs2)mQQ3&icT2)mQQ3&icT3&NZT2)mQQ3&NZT2)mQQ3&NZT -2)mQQ3&NZT2)mQQ3&NZT2)mQQ3&NZT2?#Q82?#Q82?#QB2)mHQ3&NZQ%fgC7fETSJ!$4*Z2?#Q8 -2>oK:2)mQQr\sm8rAXm:3&iep2uki73!2#t3&U[p!&a^7"#W%t2?#Q82>fE62>fE62>fE62>fE6 -2>fE62>fE62>fE62>fE62>fEo2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ -3&icT3&NZT2)mQQ3&icT3&Sc:!]:\mJ,~> -8,t5aDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>F`./#")`7(DZ+]?DKU)>F`hSEDKU)>F`hSEF`)>EDKU)>F`)>EDKU)>F`)>E -DKU)>F`)>EDKU)>F`)>EDKU)>F`)>EDZ4bYDZ4bYDZ4bcDKTi>F`)>>+93IP4U*kQ!'k[LDZ4bY -DZ+\[DKU)>rcJ3YrH/3[F`hU$FT?=XFTZN(F`.2$!,haX")`7(DZ4bYDZ"VWDZ"VWDZ"VWDZ"VW -DZ"VWDZ"VWDZ"VWDZ"VWDZ"W;DKU)>F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>F`hSEF`)>EDKU)> -F`hSEF`)>EDKU)>F`hSEF`,9C!cBRiJ,~> -IfLWo:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:]XZpr)a%t=BJDu=;Oe9=AW+%:fpOr=AW+%:fpgr=BJB9!,J"F#/N%p/Qc+Or`B.s -rE'%rr`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.srE'.u=BJE!=9)1r -=9DB%=A]!!!)WVr"&N*%;#XPs;#OJu:fpgrr`B.srE'%rr)`qqr)`qqr)`qqr)`qqr)`qqr)`qq -r)`qqr)`qqr)`qqr`D3X=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr=BJC%=AW+%:fpgr=BJC%=AW+% -:fpgr=BJC%=AW+%+TR#~> -IfL3C2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2$#Zor&=d93&ieo3#=G33&NZT2)mHQ3&NZT2)mQQ3&ic+!-=R\#0f"**]Q,:r\sm8 -rAXd7r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8rAXm:3&iep2uki7 -3!2#t3&U[p!&a^7"#W%t2?#Q82>oK:2)mQQr\sm8rAXd7r&=[6r&=[6r&=[6r&=[6r&=[6r&=[6 -r&=[6r&=[6r&=[6r\uqr3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT2)mQQ3&icT3&NZT -2)mQQ3&icT3&NZT'``a~> -IfM'CDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>D?4ltr,i*ZF`hU#FVeqEDKTi>F`)>EDKU)>F`hRE!$I[m"um"k5]q3ercJ3Y -rH/*XrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrH/3[F`hU$FT?=X -FTZN(F`.2$!,haX")`7(DZ4bYDZ+\[DKU)>rcJ3YrH/*Xr,i!Wr,i!Wr,i!Wr,i!Wr,i!Wr,i!W -r,i!Wr,i!Wr,i!WrcL8>F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>F`hSEF`)>EDKU)>F`hSEF`)>E -DKU)>F`hSEF`)>E/HC;~> -IfLWo:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:aK4?=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r:_s+:Qc]ND,lfW$=A]!! -"]/;t=BJE!=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1r=9)1s=9)1s -=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9DB%=A]!!!)WVr"&N*%;#XPs -;#OJu:fpgrr`B.srE'.u=BJE!=9)1r=9DB%=A]!!!)WSq!)WSq!)WSq!)WSq!)WSq!)WSq!)WSq -!)WSq!)WSq!)WYs!`1$?J,~> -IfL3C2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2'k4>3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ2%fn!Qe2M^-NG2I3&U[p -"Z87s3&iep2uki82uki82uki82uki82uki82uki82uki82uki82uki82uki82uki72uki82uki8 -2uki82uki82uki82uki82uki82uki82uki82uki82uki82uki83!2#t3&U[p!&a^7"#W%t2?#Q8 -2>oK:2)mQQr\sm8rAXm:3&iep2uki73!2#t3&U[p!&a[6!&a[6!&a[6!&a[6!&a[6!&a[6!&a[6 -!&a[6!&a[6!&aa8!]:\mJ,~> -IfM'CDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DC'FCF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>DBo3%QTYO2$33>6F`.2$ -"`AI#F`hU$FT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=XFT?=YFT?=Y -FT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFTZN(F`.2$!,haX")`7(DZ4bY -DZ+\[DKU)>rcJ3YrH/3[F`hU$FT?=XFTZN(F`.2$!,h^W!,h^W!,h^W!,h^W!,h^W!,h^W!,h^W -!,h^W!,h^W!,hdY!cBRiJ,~> -IfLWo:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:aB.>=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r+TPZ1atLRW!&Re[:fpgr -=BJC%=AW+%:fpOr=AW+%:fpOr=AW+%:fpOr=AW+%:fpOr=A]!!!)WYs!)WYs"]/;t=BJE!=9)1s -=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s -=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1r=9DB%=A]!!!)WVr"&N*%;#XPs -;#OJu:fpgrr`B.srE'.u=BJE!=9)1r=9)1s=90QFJ,~> -IfL3C2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2'b.=3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ'`_0tfItJs!$aH_2)mQQ -3&icT3&NZT2)mHQ3&NZT2)mHQ3&NZT2)mHQ3&NZT2)mHQ3&U[p!&aa8!&aa8"Z87s3&iep2uki8 -2uki82uki82uki82uki82uki82uki82uki82uki82uki82uki82uki82uki82uki82uki82uki8 -2uki82uki82uki82uki82uki82uki82uki82uki82uki82uki73!2#t3&U[p!&a^7"#W%t2?#Q8 -2>oK:2)mQQr\sm8rAXm:3&iep2uki72uki82us`oJ,~> -IfM'CDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DBs@BF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>/H?QO4YJc%!(h -F`hSEF`)>EDKTi>F`)>EDKTi>F`)>EDKTi>F`)>EDKTi>F`.2$!,hdY!,hdY"`AI#F`hU$FT?=Y -FT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=Y -FT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=XFTZN(F`.2$!,haX")`7(DZ4bY -DZ+\[DKU)>rcJ3YrH/3[F`hU$FT?=XFT?=YFTF&oJ,~> -IfLWo:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:a9(==AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*G!(W6q+0cje6r6u^=AW*r -=AW*r=AW*r=AW*r=AW*r=AW+%;#OJu:fpgrrE(mQ=BJC%=AW*r=BJC%=AW+%:fpgr=BJC%:fpgr -=BJC%:fpgr=BJC%:fpgr=BJC%:fpgrr`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.s -r`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B.srE'%rr`B.sr`B.sr`B.sr`B.sr`B.s -r`B.sr`B.sr`B.sr`B.sr`B.sr`B.sr`B;"=BH^HJ,~> -IfL3C2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2'Y(<3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZ3!(W7*+2&cs/i>UG3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZT2>oK:2)mQQrAZVk3&icT3&NZQ3&icT3&NZT2)mQQ3&icT2)mQQ -3&icT2)mQQ3&icT2)mQQ3&icT2)mQQr\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8 -r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8rAXd7r\sm8r\sm8r\sm8r\sm8r\sm8 -r\sm8r\sm8r\sm8r\sm8r\sm8r\sm8r\t$<3&hWQJ,~> -IfM'CDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DBj:AF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)=W!#Cb]+#4-&?uC+)F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>EDZ+\[DKU)>rH0r7F`hSEF`)>>F`hSEF`)>EDKU)>F`hSEDKU)> -F`hSEDKU)>F`hSEDKU)>F`hSEDKU)>rcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3Y -rcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrH/*XrcJ3YrcJ3YrcJ3YrcJ3YrcJ3Y -rcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ3YrcJ?]F`f89J,~> -IfLWo:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:a9(==AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AUgS1;T-r=f`#37T`bh=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=BJE!=?B>]=AW+%:fpOr=AW+%:fpOr=AW+%:fpOr=AW+%:fpOr=AW+% -:fpOr=AW+%:fpOr=AW+%:fpOr=A]!!!)WYs!)WYs!)WYs"]/;t=BJE!=9)1s=9)1s=9)1s=9)1s -=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9)1s=9DB%+TR#~> -IfL3C2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2'Y(<3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&Mo\29h<:=go"D0fV-M3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&iep3'/uW3&NZT2)mHQ3&NZT2)mHQ3&NZT2)mHQ3&NZT2)mHQ3&NZT -2)mHQ3&NZT2)mHQ3&NZT2)mHQ3&U[p!&aa8!&aa8!&aa8"Z87s3&iep2uki82uki82uki82uki8 -2uki82uki82uki82uki82uki82uki82uki83!2#t'``a~> -IfM'CDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DBj:AF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`'bN$ojD5=Y^3^AT`-5F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`hU$FZXJ`F`)>EDKTi>F`)>EDKTi>F`)>EDKTi>F`)>EDKTi>F`)>E -DKTi>F`)>EDKTi>F`)>EDKTi>F`.2$!,hdY!,hdY!,hdY"`AI#F`hU$FT?=YFT?=YFT?=YFT?=Y -FT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFT?=YFTZN(/HC;~> -IfLWo:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:a0"<=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=?$:%_2ufhOoQ+k=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r&Qhk3 -:fpOr:fpOr:fpgr=BJE!=:e;2=AW+%:fpOr=AW+%:fpQm==[3M=AW+%:fpOr=AW+%:fpOr=AW+% -:fpOr=AW+%:fpOr=AW+%:fpOr=A]!!!)WYs!`1$?J,~> -IfL3C2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2'P";3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3%Y+Qc&gS-RfEjS3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ&NDX- -2)mHQ2)mHQ2)mQQ3&iep3"Rr,3&NZT2)mHQ3&NZT2)mJl3%HjG3&NZT2)mHQ3&NZT2)mHQ3&NZT -2)mHQ3&NZT2)mHQ3&NZT2)mHQ3&U[p!&aa8!]:\mJ,~> -IfM'CDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DBa4@F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F]nbO306:Q,lej$F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>&Tqu6 -DKTi>DKTi>DKU)>F`hU$FV&G5F`)>EDKTi>F`)>EDKTjqFXq?PF`)>EDKTi>F`)>EDKTi>F`)>E -DKTi>F`)>EDKTi>F`)>EDKTi>F`.2$!,hdY!cBRiJ,~> -IfLWo:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:a&q;=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r7K -IfL3C2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2'Fq:3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ0`ViqNnAi&!#7IN3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZ`2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2>fE92)mQQrAY3C3&icT3&NZQ3&hWQJ,~> -IfM'CDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DBX.?F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>AH2rjN]hk7!%i>2F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)=iDKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DZ"VZDKU)>rH/NdF`hSEF`)>>F`f89J,~> -IfLWo:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:`rk:=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r%02j]aoeo#F2=ftIm!cg=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=C"a*:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fnk@J,~> -IfL3C2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2'=k93&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ#lpdcfE8gFHd/MAImF&Z3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3*eC$2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)l -IfM'CDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DBO(>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>&ca?E4TdGe+ulMaIhD`QF`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F^8m-DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKRN2J,~> -IfLWg=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r= -IfL3@3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3$1";2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mH.!.4Rp!k1ZSoI'YOrVusRc/dL] -[rXh_-W6qgfRLm`!%p5g3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&Ou$2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mH.!.Y~> -IfM'>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>FWYLDDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKThK!$_8&!\tN#oEtU'rVus.3934, -1*@2:$5YD@4b#?r!+9qeF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`(K-DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKThK!.Y~> -IfLWo:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:``_8=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AUgS8,::-3:$VFHfiHOX>9VP!3FGf -J"ZiO:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:g@+!=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r= -IfL3C2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2'+_73&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&Mo\8,:d;4R<%JK]^nf[l+!^!4U5* -J#iVV2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2-`*u3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3#)FD~> -IfM'CDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DB>F`)>>F`)>>F`)>>F`)>>F`)>>F`'bN(AU)n&F9As-0@>k1(=!Z!&De^ -Ik^p9DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DHq=%F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>FY*TD~> -IfLWg=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=<::@:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:db:)_>24R8*g3U/a(7W_%lbG!0#.E -IsV/=:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:g7$u=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r+TR#~> -IfL3@3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3$'q:2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2(ekOc2#ul8*g3U1$@0ibnp0U!0k^[ -ItRe:2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2-W$t3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ'``a~> -IfM'>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>FWPFCDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DIDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DHh7$F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>/HC;~> -IfLWo:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:`WY7=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r:^mE(prWZSJee(]"Um@\7lVRf!!!Gj -aoJ%/!!*hGbK><)!&ReS=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW+':fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:a#gh~> -IfL3C2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2'"Y63&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ2$j8hpt,YmM\l0h"VNpf7m%pl!!!Yp -fDqoH!!*nUbLh;7!$aH\3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&N[!2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2&-+A~> -IfM'CDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DB3k;F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>D@uq$pcS[<-O0AH"U>SS((^fM!!!8e -4TI23!!*9^b<:=j!(h>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>*DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DCkj=~> -IfLWg=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=<(.>:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr+TQl^aoHeb!!*MEr5o&O8,WGNaoT=" -qZ$XVXNJ\8\ePZD=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r>$+U':fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fnk@J,~> -IfL3@3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3#je82)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ'``p[fDpU$!!*_Wr7D%i8,WGNfE'5> -qZ$XZ\'!?Q`YSq93&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ=u\B!2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)l -IfM'>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>FW>:ADKTi>DKTi>DKTi>DKTi>DKTi>DKTi>/H@*i4THf)!!*>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>>'4_*DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKRN2J,~> -!<=:n:i0<2=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=>U";oZ@0= -q>^LNq8re&!!")&ap,F^4ZH/WXN/J5OoQ:p=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=]eL&:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:a#gh~> -!<^LQq:Gd8!!"/(fET?*5s/%l\&[-NRfEsV3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ=ZA8u2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2&-+A~> -!<=_%DJaN6F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F\)QEoK<10 -q>^L(q)nfm!!!>f4U*ea&eGj'1<2P-,lf'*F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>=`nV)DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DCkj=~> -/-$hq:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:ftk:2crmY:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOj=ATG8](=)@!!#"Wb5Z#Paof4, -'o_q1!jS?8rQ55IR\%@faofS`R_e^?"g!Z7N1n)]ap#AUR[ThQqoT&QSsl7ep<%kf!&RMS:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*C!.Y~> -/-$DE2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)r`92`NZS2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHN3&M!T`q.jZ!!#.[f`,aefE9,J -(R4^I!kkS]rR_4cUoDW2fE9R2Us8Vc"h0_SPcW.'fEK:$Unk!'qq)%kWMHN -/-%8EDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKX*>2g'"\DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi7F`%fs2Y0*.!!!T/4oZT'4TdSO -"sit,!\uGsrB16<-nmXQ4Te&,-ogo`"Yq>N,V_:P4U!_q-n$c)q`P'?0ISV7p-!m@!(h'NDKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi! -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)=R!.Y~> -@fRZK=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=O9kJ=AVg;!.sda!#>A2!''u# -"+("JC\PsY_2M)'!!#a9b)@D?!!,TkqT8oOHVGgc!!#ahao[_h%/U#*8"TY$!kMnoq>^[6K$)6) --2[`C8,(./_%crH:k)SD=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AVpu:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:a#gh~> -@fR6$3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ37'Md3&NQ.!/pF#!#PM4!'L85 -",$XSF8+;oc'2*B!!#pLfT[NW!!,U!qUbniKMj2s!!#pmfE.O.')MY08#cF=!lf"1q>^[8MqH[X --i -@fS)uF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>FjP"0F`)(K!%7>#!!`<#!"f,m -"!mpI+SS#+3$]:E!!!fu4X:@4!!*ijqE4p=,o6pf!!!i24TZoB#Q"K%(,5YL!]D)/q>^['-TsU@ -$N'l((ABrp3!KA#DLZeHF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`(-#DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DCkj=~> -!<=:n:hs00=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*Z!'Tkp!%n'J -!''u#"&/aq/c!NjSkTXk!!4puK),HJ%%dF?!M2IN!!#"UaoSS!p&G8$_90p=*qfU6aoDkH!!'+p -b(#QS+])9;=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW($:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:a#gh~> -!<0/3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZI!($/-!&=?N -!'L85"&]+!1&9H'WDXB,!!5%1Mu!DS&uki^!NAB]!!#.YfE&H=p&G8+c.L[s+SGg8fDlQ\!!'M& -fRK@j'f@s.3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&Obs2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2&-+A~> -!<=_%DJOB4F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>*!#"fb!"Jf* -!"f,m!uCq;%J`-g0Gaul!!3Ql-i*fD#;H*>!AG/_!!!T-4TR;Hp&G793'BDl$2+B!4TG``!!"eK -4b"aX/T,]KF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`(9'DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DCkj=~> -/-$hq:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fth9/m(qP:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOrr_NY*%(buO!%n'J!$;-^!$;+>qT8e. -q#CF(AG?--*l6"AN;*AQ3;go"Opps_"$OTF](Q++*m2VbqZ$UOou_bS!'!eW:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOp=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r= -/-$DE2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)r]8/iY^J2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQr\X``'#sIo!&=?N!$M9n!$M7@qUbd< -q#CF.C\Rl4+O/QkPkY4Y4T*h4RhG>n"$tAf`qBB7+P>=/qZ$URp"4aa!%g&f2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHo3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3#)FD~> -/-%8EDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKX'=/p2&SDKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>rb_cM#<)*8!"Jf*!"&Wf!"&W)qE4fo -q#CF#*r#^<#rk(2,kq?>&H"Zl,mX&B!tmsa2YI+Q#sCE_qZ$U)of[d?!*X8_DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKThtF`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>FY*TD~> -!<=:n:c2?O:fpOj=AVgr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -d80sJ:aH*_nB(_oq#CF:%/g/+])9\N]'KD!R``c)p](:RrQ5,/qZ$X<1ALnQ=j"m.%/9f)HcjL9 -r;ZjERe4`(\dT&!:k)SD=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AUDJ:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:f(7j -=AU.@J,~> -!<nCR_,q#CF<')_e1`r+Hh`p<[-UtF2>I4T;qT`L')2G/K\4qj -r;ZjGV"E:@`Y&U/21ISC3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&N*D2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)R?N -3&MENJ,~> -!<=_%DDcQSDKTi7F`))>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -d;B)0DDD29n3$aaq#CF%#Q4W&2Z,]<2XCDG-p9^&p](:*rB1-/qZ$X'%/Bl+(-Of)#P\9$,s=CH -r;Zj*..fY(2?slGDLZeHF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`&UMDKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DJjT7 -F`&c2J,~> -.KCVg=AVgr:f(7j:fpOj=AVgr:f(7j:fpOj=AVgr:f(7j:fpOj=AVgrrD3Jrr(mAqdSM]$:f(7j -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpO^!%mZ^!'ToR!3uFD!,M -.KC2@3&NQQ2)R?N2)mHN3&NQQ2)R?N2)mHN3&NQQ2)R?N2)mHN3&NQQrA=R7r&"I6dPWd>2)R?N -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHG!&p92)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)l -.KD&DJjT7DKTi7F`))>DJjT7DKTi7F`))>DJjT7DKTi7F`))>rGDUXr,)LWdV^g_DJjT7 -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi)!"JB[!#"l'!&FF7!$M"9 -!=8u+!!=E.4X0Y$!"f,m!B(/[!!Du%2@]H^!%%V-":"o,#<)-9/0Y'ZDKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKX-?Ecl8BDKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKRN2J,~> -!<=;@:]OVq:]OVq:]OVq:]OVq:]OVq:]OVq:]OVq:]OVq:b#RD:fpOj=AVgr:f(7j:fpOj=AVgr -:f(7j:fpOj=AVgr:f(7j:fpOj=T)%r=OU(J(BC/taoFTr!!';#aoICr!!@hqb!#S$!*oNG!O3C9 -!!#"XaoGuL!!$:'aoEaa!!#OgaoJ.2!!=Oib-CpG!,M)H?lf;;=AVgr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpOr:ft\52crmY:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr -:fpOr:fpOr:fpO;!.Y~> -!< -!<=_LD?+hWD?+hWD?+hWD?+hWD?+hWD?+hWD?+hWD?+hWDCTdHDKTi7F`))>DJjT7DKTi7F`))> -DJjT7DKTi7F`))>DJjT7DKTi7Fo?1XFjk40+94.b4TH,d!!"eN4THc'!!=T34VISk!$(u$!AXlU -!!!T04THQ#!!"#<4TGic!!!f64TI54!!DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKTi>DKWp92g'"\DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKTi>DKThK!.Y~> -!<=;,:]OVq:]OVq:]OVr:]jfr:g!]n"'AAr=T)%r=Sttq=Sttq=Sttq=Sttq=Sttq=Sttq=T2+s -=T)&K=AVgr:f(7j:fpOj=AVgr:f(7j:fpOj=AVgr:f(7j:fpOj=AVgr:f(7j2ul\@aoFU$!!4H@ -*rQ*7aoK9R!<1+@T)&Ee:&W37>l"F#3<%&#(&It2>lMkGAGH6(aoFU#!!\%tA,lT<_=5SMOoQY% -=P6Mg=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW,B:]V^> -J,~> -!<Ic1'?gRfF0\ -38$0,3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&N\<2$"El -J,~> -!<=_8D?+hWD?+hWD?+hXD?G$!DKYqr"*JL!Fo?1XFo6+WFo6+WFo6+WFo6+WFo6+WFo6+WFoH7Y -Fo?21F`))>DJjT7DKTi7F`))>DJjT7DKTi7F`))>DJjT7DKTi7F`))>DJjT7=o]B,4TH,k!!3KD -$2jl"4TIJ;!<,+]0_tbL(]?Js*;TX8&H4fm#5\B#*<&)$*r,g74TH,j!!Xf6*WQ0F3:K'6,lfN7 -FkLYMF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)?ED?2 -!<=:K:]OVs:]OVq:]OVq:]OVs:]OVs:]OVq:]OVq:]OVq:]OVq:]OVq:]OVq:]OVp:]_(7]'d]@ -4o,-_]#r/I!!")9aoK9S!!")>aoK9S!!#OfaoG]C!!>4'b-CdC!'U>(!1rud!29D7!1rud!=WN< -!!#a]aso@N6r6u^=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=NaN]=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r= -!<@9fY.+]!($V:!3,bo!3H1P!3,bo!>92I -!!#pbfIAu`/i>UG3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ36O1"3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3#)FD~> -!<=^WD?+hYD?+hWD?+hWD?+hYD?+hYD?+hWD?+hWD?+hWD?+hWD?+hWD?+hWD?+hVD?:FU2XW^. -')DS42Ea24!!!?$4TIJ>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>Fj"ZCF`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>FY*TD~> -!<=9o;"RQg=AVgr0E>nUaoF$j!!!c5aoctj!*oKF"L5nfb/*oS!$;*]!"A`)!'U;'!*o@#"$"HG -Red!a(&l>U`;'B5P5WN'3;!7OT'j`&W;mae:c)9N:fpOj=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r=AW,>:cDKQ=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=AW*r=AW*r+TR#~> -!<4S8[SWUAC?ZN(Wj2)I9M2)mHN3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&N\82)dKP3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ -3&NZQ3&NZQ3&NZQ3&NZQ3&NZQ'``a~> -!<=^&DY.fNF`))>5QDqo4TGrg!!!6&4Tcu1!$(r#">W>-4ZN9>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>F`)?ADDu]UF`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>F`)>>F`)>>/HC;~> -!<=9o;#O2m84cBDpeV#$'uB:[!%%LB!#>LU"0;J2Z2VlL>Q>h]b/*oS!$;*]!"A`)!&FMq!*o@# -"$"HGP5,(XZ2VlG*r5j:T)He3P4ekU*ph#t7fYqR=AVgr:f(7j:fpOj=AVgr:f(7j:fpOj=AVgr -:f(7j:fpOj=T2+s=NsZ%=AVgr:f(7j:fpOj=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r=AW*r -=AW*r=AW*r=AW*r=NXG@+TR#~> -!<f?34SL]7#oCkRfDm;r!!!i7fE8S_'#":s"_.NTc.L;;!!"/?fDlQ]!!"nTfDoFX!!>@9 -fUM[:!58Ba!$M+PTb~> -!<=^&DZ+GT;E-X6phg-G"uu!5!"/T'!!`Ec"#9i]1B'E?)up:)4ZN9DJjT7DKTi7F`))>DJjT7DKTi7F`))> -DJjT7DKTi7FoH7YFj4e`F`))>DJjT7DKTi7F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>>F`)>> -F`)>>F`)>>F`)>>FinS&/HC;~> -!<=:':]a0Z8c26_8P&bU#Y@le:J=PX7nEPS!\FD!m)f;:q>gK:!O9K?aoJF?!!7bp](uC,*rX4]% -/U#)1B#>q>l"F&36KC;q#CDArlP4#q>^N3r5o!cpAb2(m)fL:!#JI.=Sttq=Sttq=Sttq=Sttq= -Sttq=Sttq=T)&M=AVgr:f(7j:fpOj=AVgr:f(7j:fpOj=AVgr:f(7j:fpOj=AVgr:f(7j:fpOj= -T2+s=Sttq=O0f&=AVgr:f(7j:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr:fpOr: -fpOr:fnk@J,~> -!<pm+;:Nq>gKH!PQbWfDr8W!!8)2`qfZ8+T9pm')MY/ -2>u/-A,60-4P8;fq#CDJrn%35q>^N?r7CuspAb2/m+;KT!"q.H3;bW63;bW63;bW63;bW63;bW6 -3;bW63;k]g3&NQQ2)R?N2)mHN3&NQQ2)R?N2)mHN3&NQQ2)R?N2)mHN3&NQQ2)R?N2)mHN3;tc8 -3;bW636sH@3&NQQ2)R?N2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ2)mHQ -2)l -!<=^3D?<]q3;b6,3)]Zl#WN(i!<<-#(/k'J!^H`3lob=Rq>gIW!AZY64TI)5!!4N22YmCR$2m!e -#Q"K$%/i^LTr&k#epAb17lobM-!$lH"Fo6+WFo6+WFo6+WFo6+W -Fo6+WFo6+WFo?23F`))>DJjT7DKTi7F`))>DJjT7DKTi7F`))>DJjT7DKTi7F`))>DJjT7DKTi7 -FoH7YFo6+WFjFqaF`))>DJjT7DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi>DKTi> -DKTi>DKRN2J,~> -!<=:+:^0Ha7nc]P:]4-&9M\>U;+sPQ:Mm8Ta1IU6:JC^`!<=2-aoK9R!!'k2aoF3r!!7MiXSMns -*rX7X!!">DaoG]C!!>4'b/*lR!''u#!'U2Z!''ku!0$XP!3tk4!_iY_lqd[ar(mAqr(mAqrD3Su -:f(9m:]OVq:]OVq:]OVq:]OVq:]OVq:]OVq:]OVq:]OVs:]OVs:]OVq:b>dG:fpOj=AVgr:f(7j -:fpOj=AVgr:f(7j:fpOj=AVgr:f(7j:fpOj=AVgrrD3Jrr(mAqdng&g!.Y~> -!<'GRMHu)PS7/\tD!$LX\!6t<>!6t>l!&a`U!ef48q>^L< -rRgrH!%7`t!+Yj*"$G5gc1q>>4TUF3&NQQ2)R?N2)mHN -3&NQQ2)R?N2)mHN3&NQQ2)R?N2)mHN3&NQQ2)RAl2#oW62#oVb2$"ElJ,~> -!<=^7D?`ug('"@8!W<99!!*'"#V%en!AT\D[A7XF!@n%c!<DJjT7 -DKTi7F`))>DJjT7DKTi7F`))>DJjT7DKTi7F`))>rGDUXr,)LWdr#1 -!<=:-:^BW_:J>ATZcD&'m0M\&]9RG79M]9tm0M[*9MA8Z/HCChaoJ.2!!&_iaoTFTr;Znfb+AG0 -!$;-^!4r",!$;*]!*o@#!''u#!'U,X".mZX(&It2T)-S0*r,d91@!!`X8j'C:]OVq:]OVq:]OVs -:]OVs:]jfr:g!Zm!*K.q!*K.q!*K.q!*K.q!*K.q!*K.q!*K.q!*K.q!*K.q/m(qH=AVgr:f(7j -:fpOj=AVgr:f(7j:fpOj=AVgr:f(7j:fpOj=AVgr:f&;8J,~> -!< -!<=^9D?r3;!<=KIR'k]Im0MIjUhr-u!!+JEm0MHH!%Ml(5QE1u4TI54!!"bN4TRndr;ZmI4YZ^4 -!"&Wf!&jZR!"&Te!$(h8!"f,m!##)-"#)l$#5\B#0`!p4$2FQ$%-ftW1&rT+D?+hWD?+hWD?+hY -D?+hYD?G$!DKYnq!-S3W!-S3W!-S3W!-S3W!-S3W!-S3W!-S3W!-S3W!-S3W/p2&LF`))>DJjT7 -DKTi7F`))>DJjT7DKTi7F`))>DJjT7DKTi7F`))>DJh$+J,~> -!<=:/:^'B[:KaCCoBcY=]6gm[m0/5<8PfC.lcK3l"F#3<%&#U%nZi$p>p6!!$g1aoHea!!%B1aoY'57"J26:]OVq:]OVq:]OVr:]jfr:g!]n -"'AAr=T)%r=Sttq=Sttq=Sttq=Sttq=Sttq=Sttq=T)%s+TR#~> -!<^LXrn%4Pq#CI/5puO0!-@tg!/1.J!/0Uh!_35CJMmEa!''m6!''m6!''p7"#r.q3;tc; -3&NQQrA=R7r&"I6r&"I6r&"I6r&"I6r&"I6r&"I6rA=Tj!.Y~> -!<=^;D?WoR!>^+-oBcY7UdpgJm0-Ji3,S^&lTG4hq#CX/+seW`,od-f!!04TZB!@"E4pD?+hWD?+hWD?+hXD?G$!DKYqr -"*JL!Fo?1XFo6+WFo6+WFo6+WFo6+WFo6+WFo6+WFo?1Y/HC;~> -!<=:0;#a2i;5*%;"D1=Z!.sU\!P2"l!!>sl"F#3;pu"C[qH*AGF:J -`"i+K!5[pB!hKB -!<:3#&!''p7!''m6"?87r'``a~> -!<=^ -!<=:1:]j3]He79E"1q5Q($s'C=mH%hXND:P!!0ofpAb;:b0!uc!!#"VaoH5M!!*gdpJ,~> -!<X!-"+3`h([TcS;sODb\(DMk!!1?&pAb;Bf[s^1!!#.ZfDp!c!!*mop=K@dqZ$Ud -kL]em!.d#82$"ElJ,~> -!<=^=D?CXS8'Ku["/Go(#4+JQ(@(r%1-Gj9!!,&,pAb:>4Zse]!!!T.4THVt!!*9Op,rBuqZ$U3 -k -!<=:2:]aKfU#55==ZCKhaoI%[!!>s!_:D)p](F*WQN@gq>^LTqoSr21ALnO'kFoQap*G4 -!&Ch%_>=34RchfpMuYG\:ps1$+TR#~> -!<^LXqq(qK2>I4R(Mh%ffER6M -!&_IBc2.J@V!$A3PQ2bU27>@C'``a~> -!<=^>D?:(DIGaDn((_\V4THkr!!=$#4Vmem!Z!pQp](F%/Nl6:q>^L,q`Os6%/Bl)"s,]"4U*8< -!":VG3;W[U.-E_p,QL)\DROE`/HC;~> -!<=:3;#aAmZek'NL.oGLaoT)Fnt?2LF%ofRrlPMl"F# -3;L]%XE.W07nmcjq8r]+r;ZpOb/u^B!!"V4aoN4dJP`dO!?hGn~> -!<PTb~> -!<=^?DZ9tBR,733<<,#E4TRGpnhC7n+r;"Sr]LN@+;YY+(*"GOr]LQB*Z#S)()J#>2Z>i>*;TX8 -&G\Ho1*R\N()J)Iq)n^+r;Zp/4ZsAT!!!Ji4TPa"JSqo6!A+;%~> -!<=:4:]a-\]A;iUZV7@/aoG]C!!#ORaoG06!!9FJ3;igWRcVZnCB-2B:q'7%+TR#~> -!< -!<=^@D?:RRUttD>QiJ_K4THJu!!!f!4TH;r!!4o=&H)S/.-3Sn+94uaDRXKa/HC;~> -!<=:5;#a2hW8-bAf1_.6aoHeb!!$9gaoFs0!!,T#r;ZgljN7P8!#N%>!(QiRs$hrD!?hGn~> -!<!!,T*r;ZgqjOaOR!"u[s!&=@'s"THi!>PTb~> -!<=^AD?;9fLYV7ubQ&p!4THf)!!"#'4TH8q!!*iVr;Zg6j?3Q&!$nsi!+l%8s(..,!A+;%~> -!<=:6:]a0]HeRif;09Fm!hl&Qq>^MIl,j!IpAb4?_;iZ>7fZ#g:]VjOo`,4+&f2];1c.Ue:]V^> -J,~> -!<c(8!!`f=%i#m*,;,PTb~> -!<=^BD?<]98)!>2#SXg5!\l)=q>^LCkrf"jpAb4$39*.'('%pUD?2L*o`,40)B^Ue8P* -!<=:6:]aKsiS*Z"AnCVW#J-X`CgLFr_9pC*U%eTg'u]@Z!Pp)X!!+jdilV=c!%k`X&Ie^c=D;nl -F_Pu$=BJ0W1aEP-!!E`I,rA)^:]V^>J,~> -!<Bb46 -Fa%t@>?aca3@5(0!!ET=(F(Z*2$"ElJ,~> -!<=^BD?:(ZgY2#q-OfW1#<""M%gWFW370kh1&(_L#".Wh!'n)4&J>'lA9`EF -H?aaJA7SV*3[bX -!<=:7:]a3^Y1`1CHWKm`!jRGcr_*JuF)=TW]$e_$Z2"A#'qsg5!l8+Mr;Zj>Hf)sH$k9dE![Rhh -n\GIDWg8-I8h(;L!! -!<^%hX/(TcfP!mP3fr;Zj@K\tD_&dc-,!Z(iZ -n](mPYaL8V9J?eP!!PTb~> -!<=^CD?;ctOP0"%7g8WM!\t]#rW!*;3\^U?2UX_g1ALnN"u5:(!]V/)r;Zj)-/Uid#84Uc!\sb% -n^e#p^8@-/;_Jd_!! -!<=:7:]XF$f^/]o:\r3>_3/+u9P0R%iVr3G]1dq+aoRYHr;Zm?CV&TL"MpdjP-Nic!aG^n]2/M; -)uIGPWeLFp"+QW3^%]>FWde,&rW!!98j]=M!?hGn~> -!<I;#8fMc'r*6935qWNrG4DHqTCFfE%Har;ZmAF2m:n"O4$4S%[Y1!b23_]/9Tq -,5]C]Y_i@%",E;C_tV1RY_QF>rW!!49Lkm9!>PTb~> -!<=^CD?1"af^/]>!W"qb3$eh1!%2WZg]$RAU];@]4TQi8r;Zm*+?&:D"?8+],r4:>!ZV2J]5@W^ -./VTs^6S\D"-f[ke+_Gr^6E.crW!!F;eVtE!A+;%~> -!<=:8:]a0]W7^J=Pt]$lap!r/9OO.;q<\2pA^AL$Z'q8q\B4lE!%#6R!j1`J#33rg'RVbdC;!.Y~> -!< -!<=^DD?<]9LY1tqD#cQn4U!,8!$6"$q<\21%*q'=1+4h7\30mI!&D0(!n;4X`0]8H:#-VeuMe!.Y~> -!<=:8:]a-aiU#q8Tk7G8L=c%a!gQHqrlPAK?;+t;p?_m- -!<PTb~> -!<=^DD?:RZg[+;2I4#dO#QQ6>p?_lN"bAf;#njmg!bD@Br7:ue!)3BN"at8o -8M:qZ!#$2BF/I(2dsXnqNiT%%(]XOK11dJ'!A+;%~> -!<=:8:]X7Em-Ogp9`@Q^9E;6fm0JtN_90oh9Mqb\m/_Q7J]\%!!(=Ir!<>Lb_#ou4$uYm0"dXF: -6R3*>!!=K.5[sY[#=r!2)ZTj]7''2c+TR#~> -!<Xf`rh_9&q]qa"fd;i -7j\lJ!!=Q2;fqrB#?PPO+ohTX0!$o2'``a~> -!<=^DD?0`;m-Og7!<*c6!!&,Qm0IP/3'BDQ!!nAPm/]]\JNX&S!+djf)ql_#CZEK"f@&e -9.1&E!!=W99Q'd/#?5;V-ia6!@'"5H/HC;~> -!<=:9:]a3^ZgI,]L.k;?:]j6Y9ZQhn#DQ$sb*#G1fCSA1D.S:@!hfT?]MJVA'`5]TQ4s=5R[T4] -DJQ@2mt$k6\CRL*+p_829r!!!g'Y##-B!.Y~> -!<o902YBS"e;X8j'L2$"+#qo9,5'``H_Z)!,+ -GB\Y$ril[-O_72t$$?'L$"m_fa,<(\!"poe2$"ElJ,~> -!<=^ED?;ctR-j8B<<+NJD?EcP!4DLe#?:df4XC(Ubk(3&0arUr!\j[1]P[`g)#MnnVAK;XX/heH -I<^!bN;fj^VMo+Y#81qOWsNBDf@Q -!<=:9;#a2hiU6(7^e@H!:]X7%p$Ds1 -!<)r0;!EX5kfE0\A%)"M#/dVN7qo8i<'`_]_qGRB< -r36Wn;eNA2G@G$*Uh=08`s&D3!!!WaYVcFr!.Y~> -!<=^ED?;9fg[=G1WW4OGD?0_bp$DrR"[+F;1#)9d!@JD/4T[bN)SL"j?kNI)qpttZ(][iWqFgm6 -r2U3c9P1>rG[4U"SRu1+f*/TU!!"9PY\jIn!.Y~> -!<=:9:]X'umHjt09LenU!_H)+p?`#qA\hDMiUQ:9=`f5;"3O=<7__b'1]RLb%$LM(%&tQQ)_D^6 -$47;#5_f9,%@0OUQ@MLk;Gob_5T>LV_$-T$!!"<7Z;:QF!.Y~> -!< -!<=^ED?1M#mHjsT!+l%F!]U1fp?`#2$oeD+g[XY3())6^"$IG#A\W*d8H8`'#F>8=%)++i-oDt\ -&eZ!D9UGaZ%Am*(VN+VL?!U-99IPhsf*/TU!!"ccZ>K[p!.Y~> -!<=:9:]X7:mHjq$;>O)j7SImtm02HBI>gk3nEg6RFFhR:b)? -!<Js8oUn<3lJH%FTMfTZ@\^bl?A!!uCq#lo,F`rin5!!)p6 -(*Q4MUp71E;j4"Y=-p1sUmFFK!$Za,rPo&.0E;D(ZS_au!.Y~> -!<=^ED?0`-mHjpE#l8E?AH4dcm025E(F0!VnEg5^'7i:K4X:#!^hsBK!"s9k&cd7Tf)s,U!!)p0 -()KPASZAf,9TGZC<0sYdSX2J>!% -!<=:::]a*[Q0mr?L.k)5;#a2h]D1arZV7*0=mt_Y9SJ&?"3SF[(VroT2ujC_<)c3t!'@4Y_#qAQ -!!)p($55ZiJ;-J,~> -!< -!<=^FD?=ALD=-]l<<-V,D?;9fV"j<[QiJQG(@UVk!#pJP"$JUD,f+@*=o]1fN/V`p!(+R#f)sK4 -!!)p0$62`5NgEFWX(G%lrMp0i9RU(L!% -!<=:::]a0`W9rsRa%T2&:]a-QA.Y=r0dq05`M4u;@NUOP5W3"[7UE.1q$3]+TR#~> -!< -!<=^FD?<]:L[FI1[/_]PD?9eRg\L4>3WVAL1%=Q3gAi1D4o[YG$kgEp"(`)FEW(h!DAN9cK_s@' -PQq0nr=TAU8PE)_VO'u$r2U-P9V&5]>nR,cQMoD -!<=:::]a0]Zg@&\L.k28:]a0]F8G8-^eB1!Cgcc"!nU,)J]e#8!b;:!_b^CX!'U9[#@tcqOraTK -QMeQ$UFH6Dr<`c?1dGrI@R,JARK8_"rL*nU8.5JTU]&"2KbOM5[nm)K!.Y~> -!<PTb~> -!<=^FD?<]9R-a2A<<,#TD?<]93r84IWW3hu%j(6-!mCWiJNa#r!Zh>L_eoN-!+c%e#D#6*,maQ" -VYo$J[P%U\r=T>O4\U:)DG6)gWr])QrMp+! -!<=:::]a0`Zg@&]iGD7^qG78c9QSham0BspO/!lmutJ]e#8!h'*@`)$M!!#ti8!3uOG -"i4^L!'?tS_%OFo!!!E7$55KlQC;)E5Y,@4NVJqGNC*[GB>+;\"KF$R(Ikr3!?hGn~> -!<"_9[2$5s6?&AND#C0'F`n5l9Nq&;7JkMSaf`0S*U];IS2$,H3,5bmM^Acag -c"d:Z4fJ>"'#S2Z!"p+c,tM+;Z#N]@=*0S#pot!u7fWO!_u@[Z[57jr0tB.B'``a~> -!<=^FD?<]:R-a2BgG&[XqJHBp!'8@&m0B!a"ZAL[!8I&2!jr"SJNa#r![n%6`,5W_!%@c(!)*;S -"ZRP'!(+-mf+QPH!!!6:&faJBVQ4K+9N5ngSbT5hSP&q_C"*(5"N!"r,\=N(!A+;%~> -!<=:::]a0]Zg6u]iHn6g7f-!l8PE!9Y+]H$?EqYqRS9mSm/k=%Ra9+YU4n<;qT8rGP(f@@cH64" -Z,-1W!lP'T`)$LY!(6]a!-nC`"gLc%!(s$b_$?_e!!"K65_/j&!etSqr]gTW?#G1PqjIY9,QJdL -rkS]M8cT[<:]V^>J,~> -!<e@^"Cu596]oi!eO(@ce&?#Mi5jVfEAmWMknVCfE0(+ -c1fildJsou2$+Km:AnW%LATU,]i"h19W7p1#H0HZ!&.>MPQ%fgQ\&lL;Zp0AJs3#-Ylp19!$[j1 -`rj4Q!"ZUt!>PTb~> -!<=^FD?<]9R-X,BgID5ZAc$?T2uj4aOF8JV#VnP+-ifA!m/jZq.*k$Y.2s3cqE4s:,o\6lc924e -1-#"k!^cr5`,5W.!-.sr!-J*$"Ypko!)p?)f*A`A!!"ZG9TK+Q!ge=Ir_*GoCOM56ql9jY-ibZm -rmq8$;ZIrND?2 -!<=:::]a0`Zg$iZThJj;rN)opO!EQf1 -aoSJQrCd5mP4cs&_5rfYKoDbBq8s#^RWMS+9M]5R](jDLRVc+)9EJ7K](sJL/IfWp!< -!<:?!'L6R!EP-VfE,)PM=Qi3HqUO8fE/CDK)T]iH)orW!L-Xa9*&)5rR_.W -B`1R)BDb[.FSiPTb~> -!<=^FD?<]:R-Eu?I/jONqecF4&H2Y1"WRA&!X0@`o'HLS!%I\+!\GZ6rXT#C.H3Jk,R+/I! -!<=:::]a0]W9EUNZVaRjr(mMc!)9`0qT8o7:LLO#m/jUfWVagH\qO0Y9Mo20?r9U(Z2)NIZ%[%+ -ASd(%p<",T?;,4=iO_rn_90oK9NdY$iO`r#FSNuZU2Ba#!`+6\r5oD1<_QA;L6[L*9M^WEapXA5 -9Mp/1W0M3n:SR^.!aG^n`_Z^n!%e%Ip -!<KmS]uKp$"056tH1R4$GtYL@fF5cX<_H(\<**$o945I/fE]*JEG0$) -MmrE4'tn!J>'H!S:12?!fRcapCk@[p>"a/9fE&$mqF^ldK$F5G$_(0i:17^MAQMN$Pl')@RoW0W -@<$C*>"_\mqUbjZ!%u8K![@\$r*oBP#-:)j!'-Ibrl54h-3+$"GH1JD"Jh03FHQF)"IC;49Z-kM -!^-N)]/9U(!.Y~> -!<=^FD?<]9LZn+-Qj2B)f"!!jVn*XD`O1AO'<1)gc5 -$kF:4p,s-G#QQT@gS>)\3'BD@!#BFZgS?P('DO]k.1l=U!Wa)sr&kE6"TSfu -!!l)CLM\aG!@dk.!ZV2J`bkiL!)!0Jp,rU7&c_nmVUPOr#)"B)!&&Soq5XXhN.#T&qPsac-id2p -rmq3 -!<=:::]a*^Q07N:a&u),rD3PT!-@nW"/8gi@.`gfY"Z+uap!`"9Pp`[rTsaHW)6U#r5oDYFA,A2 -D/EEL9PqWAaoeA6;5jH\#I@*Xb&g=(iV`'EL.m -!<>?2$,?0HhZ.pX&_kmoTK?#9>18U"dDhV>',W"P6?nf:0,(+fF,]E91r2e ->#S'eER"=3"056nFT%C.GtX(JGtVS+r0%1n98i]"%C9G8:1\X$M3EdD@7tS=fEB3-936E9P66D? -99fG."NG+J<-eA)"+jKFX8CNNPQ2rJ2$+Qo:AnW%L@s1([SA4N!%*$0rl5529E5&*7u$H:$E?)d -8&NBf_]f(5]JT^)!.Y~> -!<=^FD?=AMD9j?WsY^b -!)(emf@),J@(^@X/HC;~> -!<=:9:]X7Ek3W9&=\MBc:]`R4aodf#@+Y;C"ER@m9SWB1!ddV8rlPD\FA,i2iVDjGPt[XhWD?Bbp[&3,9WZC2<_T4^m/u -!<NJ>>u6GPAbhMk@8![#fEKNF92fhjq3)&"9;L4H:el$)P6YAd\(I`^96'`j"--;\ -c2?2q]`8kg2$"*lr*fYmo[jFi@Tt5e!#8_Grl5;UFYEdq'hEqVn?E$c!,);O!gs$$]JT^)!.Y~> -!<=^ED?0`;k3W8p('%83D?<''-2'J'3"-)bm/h\92Z>iB3"H!D[J9+j[0R3>4TmYH!*.8Am0(XM -!!kR]4Tcu1*mFNK"?HQ&!*/j^!_35>r]LEE'*&erg\L4AD#btI/HH-*p[&2H!&?\d"TWuGm/u)Y -"ZZEC!\sa2`bkeq')[[gB_4FnJW,4@&c`bZ_Z&-maa,T?!#S:UVXUVf8H -!<=:9:]X'ujmhjn"]9-*:Kba3m0;0>D5'g/a7em%]1e1\aoMne`_Z[9)uNY8 -S+Oi'S,Q@l:b3:\!'?L[rkSo@B-[HW$n>/#QLpUJQ6ZI1rkSY.!(=Ls!?hGn~> -!<)rHC"+3a7>549fN`0?P6Qk=EN;o7K(bB0HqT_$fDuTq`\dbs,5bmM -WV"gCWW$?3>r*2q!'Qafrl5>L@jV0U&hmdLWqPTb~> -!<=^ED?1M#jm<>t*WT)UDDD2IofW!8tI/kku4oYcfV"sBZLB&:k4Tcu1 -1#)Ql"/Gns1&1,BgD1&X4Z3QG`*:m0:c?&1IVq[J&thU];\;4TPd1`bkeW./]#( ->kC/Z>lKZeL.W9_!(*R3rmqIjBd`r]#;9A -!<=:9;#a2hiT9G3f3h9C:a#hWou[;HD=m3#Pt]?C_.?_RZRS7SW -q<\:C;,#%)m09L_R_`<-Y4V)aHV[FFfC\G5L.kBTfC\G2?s``Q!B:)":]`TV/GrHIWV"=5`; -!<p"0:Y>4e!`CeNF5c"KaqoTKN?98hHTMbA9gP6,#dc2Q>tUe=mO -q3(o@:.p35P6Q,%Us3:BGP%(%@8Kd"M=cu7AP5j$M=cu4<+,UU!B^A&2$,?01]1\^[e/2PdedJX -7j7p5,&"C_`riPg4UM)f&0aJNFG?-^Z*C=6Um#m\!/CKn!gs$0]eog*!.Y~> -!<=^ED?;9fgZ@f-bT6a^DCkiUofW#7OD?r_]l!j&!.Y~> -!<=:9:]a3^^uXkdf3(d<(DZSb!EOR>m08;@b0#-+W:KM"%_#h:M+h^\Q+TR#~> -!<VL2`ra-Y'tlI*'``a~> -!<=^ED?;ctWoWONbSC1V+9qI$!r9Ef)jD$/\Q$&/HC;~> -!<=:9:]a*[Q/h67f3(cU/bI0d:PSN/"aa:mWD&':m0.?bb5;uiohaoJ.0 -!<(VM[,'``a~> -!<=^ED?=ALD<(!dbSC0`%J2da!EJdZ"\/_Z/HAf@m0,3Q4Y6Yqp?`+>!$j]c!>`oQmJkE'm/q2* -!*/UW!]gUpo'HM5MuZfJ4TJXZN!ElK!!!X)KXUd0%F_bOH?37n -92f#)Ga6#@f)iA\1;.Q+/HC;~> -!<=:8:]X'oip?ig;+rtAaoP2$o^)g'?HQSWiUQ:=D.UkD9\8t)"\a?eAPpM2m/ts6;;q*5s2X$a -!j54ur5o)7!%l8g!< -!<%lQH98W>*"\XI"BMO0BP66Y7:6+n/s+9-l -!d@;Hr7D(P!$93=!< -!<=^DD?1Loip?iU#QPG.4TPP"o^)fC#X&G/g[XY70ap2a!6k-'"TT?%$ja9(m/tQ4#i"q;s0^bO -!g!C;r&k*9!'nVC!<=DBMuZfJ4TJ%GMunW(,lRcI&isQ][aX]s"2Z\k>.neS/HC;~> -!<=:8:]a3^a5ZIg]1cPIp+AFib':e5+V(&\+H'JrEpFao.7URIsQR[0+^B1!+./\Fm\+TR#~> -!<utf((]==J'fertFbc<\W2?MlVO -!<=^DD?;ct[GpQUU]:Z[p,rI8!,_Aq">L<5!.FA("[E7m/iXT/c7a5 -2ukPPD?=,E9)FPI=n4]UJb+g'L/]3*#5nN+(ckT0HBacn[Ki[qKP='l!'n27!A+;%~> -!<=:8:]a0]Q/V*3PtZ;nao\hAW:]H[?u9^WiUH4;9RY'"B(bNpa%VYb9YfcW!DJ6mm/k'sUAN(6 -$l@#^!\FC8qc!Q[o#^rWnl,U'rlPDLP&!cI(%;2'/\=g[+TR#~> -!< -!<=^DD?<]9D;jj`D#b7C4T[A=L\0s:*Y8hfg[OS5!#Id/-hZj1[/_L$!35/J! -!<=:7:]a-aiSj/*L.mR#ao\P9Zh3Ve=_19]nEgD29T7,#F7no(]1erQ9]>+#!DJd'm/k=%Ret5. -/Iffu!Z(i5qc!QHo#^r`nl,U6pW<]FTot"KF$opX"unb47md8"]2/MO!.Y~> -!</V#/dF -0aYrZ!YPK=qdKPco%3r&nmVTRpXf\`XIG,pHUn&k"t`24>##&4]/9U(!.Y~> -!<=^CD?:RZgYqN$<<+<=4T[28R.TbJ((:1CnEgD'!$j]53q_kDU];h_!8HW&! -,lf)b:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'Wu:]a0]W8R%ED,7/+ao\;2_"@!r -;.WG(nEgCk9VT[1HhHb/W(aI<=lo#Pa%Uj)m/km5P5EB&7f^\.!_*V3qG[H4o#^rsnl,UGn]Ci: -q,@A-%D,F;+TR#~> -,leZ;2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R,)2$$?li0+4G:p]rL!intDoTKAP -BM3R=P6H>,X4UH]oofN#9>,ULjc]at94?)/!f9R>qq(p>!6R/#0aS9b@K;#NfDqZ:@K;bbfDo^_ -@K?lD]/9U(!.Y~> -,lfN7DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj%&D?<]9LZ%P$0``m$4T[&4Wq>Z\ -#Rg]pnEgCT!%C&78+l6PLB'(C(?Oob[/`_Am/kK3-2Th+(')Kp!bDu_qMYE&niZt]nr*Q^nN?l9 -q2>=m'"`#^/HC;~> -!<=:u:cV!A:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X -7SloNrD3Pb;./>L"4p[V_>24TP"`pgm/p%!9VLtC"fP,"b"RQ_m0&\J_/3TAm/t-t;;ogf!oZh3 -qoStF!(P..!^m#6q,Hq-!1WOY!1WQ%!4hl(!?D0P:]V^>J,~> -!<\pc#H_EP66;-:6*V`!ffp< -qq(s[!&;YS!\OI$q-rpI!3,Nu!3,PA!6=kD!?qNU2$"ElJ,~> -!<=_,DE29GDIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^' -ASuBsrGD[J#Thpk"3_Ma3;G]=,lk@Fm/m>"!.FA("c!(54TJLTm0%8+3"R.mm/s?g#i!Yl!o!]# -q`P!#!+j>k!al!fq2Fl-!*o)R!*o(X!(cmD!AXYeD?2 -,QJua7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e&B"!(Qra!_H(ai9^T]9PsUJ!fTh) -p$Dn@9SH/pnEgCE9YnP=Q1aMJHWJ:;;;p[)"0P -,QJQ:0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)3$,!&=I1!^'+ti0+4l96'd[!gH?7 -oofN=98cGSn<4#l9?k^SD"Wtq@92$4:6+J#"*[C2A^6J@N_><-fE-C"/^$!Q*WSS'@K=I?fDqoA -@K -,QKE6ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIpb(!+l.I!]U18i9^TG!"erh![Ici -p$Dn:!#ko!9"7g2$l#i"M/"-0Cdb5QG?jMuZE?4TJaX -MuZfI4TJX[MulTO?G(.V/HC;~> -+oic_:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloNr_PUE:f'VX:e"8X7SloN:f'VX:e"8X -7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7f?-e7SlQO=lJ<+!gQH[3 -#1lP3FA.t8o'HU- -+oi?82)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gCr\Z\j2)R*G2)-sG0f:gC2)R*G2)-sG -0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG1&Ws50f:[\;i]e"!c1MoqUbk-99/\/ -#)Q!BGtVt'nrj5c%lQa95KWFk`Z-c95mOJhNIqrnrj)IK)=1%PQ2rO2$+Km>PV_. -WUnaBYOZ-&ddl#jUA87#?9J95]JT^)!.Y~> -+oj34DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsrba`-DJj$'DIm^'ASuBsDJj$'DIm^' -ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'Ac6KMASu&b(>Id7!c7o_qE4m!!8I26 -#0[&n'*)mLo'HTN"[+U@L\:$>0ap2n!,^K7kj8Li!"T'khX(s,QLEZD?;BiKDCH+ ->k:)Y=n7LO6h3A?@JPiaGsVL&]P[a%!.Y~> -,6/lV:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7fH4B7SloN:f'VX:e"8X7SloN:f'VX -:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'X\:]Nu_:]a3^Q/Cs1Al#]/aoQofo^)q9 -9Tltu9MB'Mo^)fiCs&_NZh<\j=`)=(CeRN"kj8OpA3Jpf%6 -,6/H52)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG1&a$g0f:gC2)R*G2)-sG0f:gC2)R*G -2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R,f2#oB/2$,m5Cu:EX=&?U-fE$S!oTKQ; -9:Nq791r?CoTKGXE7hKiH1d@+;fUIBE(`i!k`Z0U#FGOgq!EF!t_P6,;g@IoZ`97m&n!i,f@ -b;K;+pgO5Xo@O&Bo3q]?n^mi9r*fk9=&M[K!$8d1!>PTb~> -,60<,DJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'Ac?R*ASuBsDJj$'DIm^'ASuBsDJj$' -DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj%bD?+8GD?;ctD;X^^-NQ""4TQ?)o^)q. -!$sN3!!"Cjo^)f'%m;KER.]hO((`Vl%fcS8kj8O7"ZQbfORhc?I6+1pm/g8f8+Z*K!#PMq![n%? -bAR=mpl#2po0!(Yo8E[#nN?k\r/:i79,@R:!'n27!A+;%~> --3,2c7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8NrD5:>:f'VX:e"8X7SloN:f'VX -:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'X\:^BNe:e"8X7o@mrm/km:Ac'UND-?Mu -#ffW-b0%;S:ODa$"]'QhU.iAqm/]n7rlP;2APr*e!nVMFq!A8_FNV1+9Wn$T"6!*N=nD"`Y"W.q -_"@!p=`jP`)Q<]g:f'VX:e"8X7SloN:f'VX:e"8X7SloNjA5nG!$q>=!*o- --3+c<0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sCrA?Ac2)R*G2)-sG0f:gC2)R*G -2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R,f2$boo2)-sG7o"p!P6-S9B`$E_EDuLn -#_G^Ff\"3.:gs!["]0g'X%Rs8P6"=7rn%:JBMS2`!f:3>plbnWH.^,M96^#l"--,L;tH1UG=u=: -J+Sp*;gJ8m)RBDb2)R*G2)-sG0f:gC2)R*G2)-sG0f:gCj>?uk!%@VO!,M2Y!1EFf!/C$r!3,p+ -#?OYn<,?OS*kX?2'``a~> --3,W8ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm]srGFE&DJj$'DIm^'ASuBsDJj$' -DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj%bD?sfkDIm^'('r.Bm/kK;%/W0g&/Op* -#djX\4Zt\K!CueL"T]E&.0-C@m/[2+r]L<2$jcLm!mE^Lq!A7k'0S5^!0Hj?"5=(](A$nrO8oOd -Wq>ZZ()-R.)D(qSDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsjDG$,!''b4!0d";!+b\[!-I`o!*oJ] -#?1s/*c6<*5eLt8/HC;~> -+oic_:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloNrD5jN:e"8X7SloN:f'VX:e"8X7SloN -:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:e"8X7SloN85+*^m/itTL&B'oAS1T% -!kV.#rQ5._;>';\f1_.GP"`pim/km5N;^m"FA_\t!kV-Qq<\En9Ua,HYtV+gm0($p?;/uCm0$Qu -\kJC]m/^@3qoSuO!%$i**_&t&7SloN:f'VX:e"8X7SloN:f'VX:e"8X7Pk*JpJ_-loZ@/Yo2G^Z -n]D9N<)c[g9P1WumD],P]MJVP!.Y~> -+oi?82)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gCrA?qs2)-sG0f:gC2)R*G2)-sG0f:gC -2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)-sG0f:gC2+q64P6,_sMu;3.BNOhi -!dmYArR_-r:A'eTM+a)cRnJA,P6-S6Pl958Gu"!q!dmXLq3)&/9;L4m]hP6?8+?qZ@KP6=fl -`_1.?P6"U-qq(ti!#OiV*\fN00f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0d?[2pL4-2o[j.uo3q^! -n^n8j@U`V@936D&PC!9G]JT^)!.Y~> -+oj34DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsrGFu6DIm^'ASuBsDJj$'DIm^'ASuBs -DJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDIm^'ASuBs;?/c8m/h\9)uMi"$n(]7 -!i,fFrB1/p#kdQhbQ&nO,lk@Hm/kK3,lKk,'+"6t!i,fdq<\ES!%9un1'!+%m0'3b#QW*@m0"11 -2?7Udm/[t9q`P!=!&EbU*bB5,ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'AOul6pP])NoK<1ro8EZS -nN@:ON/WK-!%40$mD],]]P[a%!.Y~> -,lf)X:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SlSQ:btR;:e"8X7SloN:f'VX:e"8X -7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e(C["%H*`7fH6a9E;$Km/h?&Z2MfG??>c+ -!jbS"rQ5._=nV.d^eCKFN(hjsm/k=%Rf1A0FC=b."0P -,leZ72)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:]a2)?sE2)-sG0f:gC2)R*G2)-sG -0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)5%e"#2Yj1&a$36q_XZP6,#_^&?Ra?sWDg -!dRGFrR_-r;tZ=YInQipPY6l,P6->/V#ApHGuXF""*[C2H2<^0>u8eufW.YpoTKDo99`)$oofQ' -9;L3@@J#`a;gJ8m)U/6s2)R*G2)-sG0f:gC2)R*G2)-sG0f:gCj>@#U!2b);@K;G\fDp-e@K=I< -fEHk9=%d@irf[eJ!$4!P2)R*G2)-sG0ul-P'``a~> -,lfN.DJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASu)XDDPjADIm^'ASuBsDJj$'DIm^' -ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIrca"(c@fAc?QK.KG7]m/frB1/p(A7&!WW4J2,QQ'^m/jZq./c:0'-?f5"- -+TNZ^7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'X[:e!oN7SloN:f'VX:e"8X7SloN:f'VX -:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX7SloN:f'VX:e!rPfAQ#tf1^;baoPOi -o^)^Y9X4Q=!Gl0:m09L_Z-%boiV)X?ZV7@saoQ -+TN670f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R,e2+B;X0f:gC2)R*G2)-sG0f:gC2)R*G -2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G0f:gC2)R*G2).TrM;XR!M+`-mfE##] -oTK>u9>1;V!H;$2P6Q,%^"A69NqSY -+TO*3ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj%aDFS2TASuBsDJj$'DIm^'ASuBsDJj$' -DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'ASuBsDJj$'DIjRhbi%jibQ&=T4TP^V -o^)^8!&FL9!=p7Em08=G1-HQVg\1"9QiJ`:4TQ'@o^)dC!!*@mr9XQ]!#to#![Icio^)cB#UobR -p$DoQ!BiRO3qVe?()-O-'EB^rDJj$'DIm^'ASuBsDJj$'DIr]_+(]>-ASuBsDJj$'DIm^'ASuBs -DJj$'DIm^'AJuE0^A*WfJOB)n!0d&6!-mrq"&!/tOT"PKgMHpGoklg%DJj$'DIm^'ASuBsDJj$' -DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'/HC;~> -9)p,):e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:e"8X7SloN:f'VX:e"8X7SloN:f'VX -:e"8X7SloN:f'VX:e"8X7f?-l7SloN:f'VX:e"8X7fH3g7S-9D7nH2L:]a0]B&DtWL.oG_aoP1j -o^)^R9Y12F!G--@m0/bK_9-jsp$DgS9Y12F!G--?m0o[^XBnSA]A__O;-(O4aoQT]oBcZXFIGnD -p$Do[FNVa4F7ei#;18;`3rgF#7SloN:f'VX:e"8X7SloN:f'VX7SlQN:e"8X7SloN:f'VX:e"8X -7SloN:f'VX:e"8N!'@HjB_YO,U%QS";ui0\aofJKKpqeZ!bG'3rTt,o;+psA:e"8X7SloN:f'X& -:]a*0!.Y~> -9)o\]2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G -2)-sG0f:gC2)R*G2)-sG1&Ws<0f:gC2)R*G2)-sG1&a$70g%io7m&O)2$$?Ohie+Q9?mIg!D@"r -P6,_s`r4NjBNk(m"`-iVfQg6bP6,_s`r4NjBNk%l$unqL?qXdQNfJ -9)pPTDIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDIm^'ASuBsDJj$'DIm^'ASuBsDJj$' -DIm^'ASuBsDJj$'DIm^'Ac6KTASuBsDJj$'DIm^'Ac?QOAN2.T(-#n)D?<]9-f=:m<<,#X4TPO_ -o^)^.!&jd=!=U^Um0.>,3'@o\p$Dg/!&jd=!=U^Tm0nCC1'dk@UtaXc#R*3e4TQ3%oBcYd'.#3rgjMASuBsDJj$'DIm^'ASuBsDJj$'ASu'sDIm^'ASuBsDJj$'DIm^' -ASuBsDJj$'DIm]s!(kDYS+qpB=nOrLMu[;a4TdYl)^tJE!Xo'rrTt,N#QOiiDIm^'ASuBsDJj%, -D?=B$!.Y~> -D#b_U7SlQN:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SlQN:e"8X7SloN:f'VX:e"8X7SloN -:f'VX:e"8X7SloN:f'VX:e"8N:f'VX:e"8X7SloN:f'VX85W&XD.$%785McP8PFlsm0C6sU<:Wp -9U58;!gQHqrQ5.IF7no(HWJ;3D.*&(!JXDJaoPgio^)gI9YnQ!:]3rf?Fp*X!G,m8m02HBN06ld -p?`()9TmQ@ATRM2!DIq_f!-n1Z!*o.q!6"iY!NB-!9EBRXqoSto9VMFP%YdYgHN5Wo:e"8X7SloN -r_PXF:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X -+TR#~> -D#b;.0f:[C2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:[C2)-sG0f:gC2)R*G2)-sG0f:gC -2)R*G2)-sG0f:gC2)R*G2)-sC2)R*G2)-sG0f:gC2)R*G2,6e>>#\-i2)R*G4A08DP6ZJ.X4Z(L -95O6a!c1NSrR_-Y?1jBb@92%5EE)Up!G,+*fE#AcoTKGp9?k_>;#O#f@)i/t!GGR,P6Ht>Pab=& -p6,]49:OSdBO17o!DA%@fEM -D#c/*ASu'sDIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASu'sDIm^'ASuBsDJj$'DIm^'ASuBs -DJj$'DIm^'ASuBsDJj$'DIm]sDJj$'DIm^'ASuBsDJj$';@!7.0cg<#;Jp&`2ult:m0BEe.6TgR -!,_Aq!c7osrB1/e3q_kD7g2%=&0CN3!EB0u4TPgLo^)g!!&uqW!WN!-Ils!0d&6!(6]J!A+KS!!*lqq`P!"!.Fh5%TNK;,lg2JDIm^'ASuBs -rbac.DJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^' -/HC;~> -@/qH?:f'VX7SlQN:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8N:f'VX:e"8X7SloN:f'VX:e"8X -7SloN:f'VX:e"8X7SloN:f'VX7SloN:f'VX:e"8X7SloP9Ne_$m0UC-9LquL:eXQ]iU$m/9RY(+ -\kJgim/`JGr5o%9L@sp;=`)=(ASq,-!IIlFaoPOio^)[E9`E0;_4$(3Ret5.:PSN/"i*g#N(i4( -m09mjWQN@iF7no%f1_/$apOSZ!$t<4;.+6D;>s6?;+sPX:e"8X7SlQN7SloN:f'VX:e"8X7SloN -:f'VX:e"8X7SloN:f&G<6hF=X`:h=RAG&n%Jc3^sYtnc6f7lt1_>VLXYtT6;m1>OVFNTaH1e(;< -7SloN:f'X\:bY@8:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'XY -:]a*0!.Y~> ->6#Bm2)R*G0f:[C2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sC2)R*G2)-sG0f:gC2)R*G2)-sG -0f:gC2)R*G2)-sG0f:gC2)R*G0f:gC2)R*G2)-sG1&a$392g-8P6lV89/SR]2+1)ZiKFM,97kgK -`_1=DP6#Jmr7D$HAbD5j;fUIBBNk(m!F]%,fE##]oTK;l9E*QHc(p8UV#/dF:hB9_"b01@PY7&1 -P6Q;*Ze3o -@/qljDJj$'ASu'sDIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm]sDJj$'DIm^'ASuBsDJj$'DIm^' -ASuBsDJj$'DIm^'ASuBsDJj$'ASuBsDJj$'DIm^'ASuB`!#Ct$m0TR(!)d]GDCPXAiU$m)!#Id] -2?80tm/_&(r&k&]__((`Vl$o.GB!Cm=k4TP^Vo^)Zr!<,+a3%,^b./Q..!EJdZ"f_PN,QQTm -m08pX/Nl6&3q_kAbQ&pd4UNSN!"&]+#Tb]9#lXfT#V%fODIm^'ASu'sASuBsDJj$'DIm^'ASuBs -DJj$'DIm^'ASuBsDJh30EV,1i6hWYCJb=s%D>cU'1'&G`bZ+WO3;kuA1&sB6m1=+7'0RWA8S)dW -ASuBsDJj%bDD5X>DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj%_ -D?=B$!.Y~> -?iV?H7SloN:f'VX7SlQN:e"8X7SloN:f'VX:e"8X7SloN:f'VX7SloN:f'VX:e"8X7SloN:f'VX -:e"8X7SloN:f'VX:e"8X7SloN:e"8X7SloN:f'VX:e!oO;:ka5$.i$O7SlQD7o-qZm06s8b0$t_ -Y4V)^L/7`i!DeIDm0;NCL!%P=HhHb,D.WXf!DeIBm/_r8oZ@6H9U58;"KkG'I8'>$#,+`%b0!b3 -p$E4(9Ua,H\qNpR;1#7^iV`'KiP;..:J=VW7f#q&7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN -:_s-';uiWcaoH>P;ujl8aoZEWfDb.>ThJe(rlP:R;:kg7#J3ZHb0#;92#U5V7SloN:f'VX7f?.; -7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7fH3b+TR#~> -?iUp!0f:gC2)R*G0f:[C2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G0f:gC2)R*G2)-sG0f:gC2)R*G -2)-sG0f:gC2)R*G2)-sG0f:gC2)-sG0f:gC2)R*G2)-g\:5Sn4$&MDP0f:[?7o4]oP6P!+f\!l1 -GP%("APi%mid!DmA"P6#5fo[j5b95O6a"F!MPJkPd##'!;Uf[s55 -oofi79;L4m`f!Yd:186rNr5(HNdl%S:eOPG1&i\@ED']Zrn%9c:5St6#CK0af[u)^,Q0J*0f:gC2)R*G1&Ws` -0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG1&a$2'``a~> -?iVcrASuBsDJj$'ASu'sDIm^'ASuBsDJj$'DIm^'ASuBsDJj$'ASuBsDJj$'DIm^'ASuBsDJj$' -DIm^'ASuBsDJj$'DIm^'ASuBsDIm^'ASuBsDJj$'DImAb#gE56$-WY\ASu'j('1Gom04UC4ZtP# -OS%o@<<<"\!24Zt.m8c -?N;6=:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:f'VX:e"8X7SloN:f'VX:e"8X7SlQN:e"8X7SloN:f'hZ]DCmrY"VFd:]j6c=i]Oh#'4+nb+_SA -o^)[+i9iUlLeiM^?^9M%]M7SlQN:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7K=D! -;uh1:aoI\";ui0]ao]CTLA^EDZV4]Ab,J("rp:-Q=]WA]b%guF:e"8NrD3J`rD5LD:e"8X7SloN -:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SlPt!.Y~> -?N:fq2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)R*G2)-sG0f:gC2)R*G2)-sG0f:[C2)-sG0f:gC2)RcpI/9$.G=t's2$-NOK&Vsu?!u=;X%Rj4 -P6#)mrR_1r95O(^!2.*93lh'oTLbbFB;+.4>A]J2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC!$_#D -!/C4"!2B0r!2BGE!mOPQr0%A2946#sZV,-6P73IM -?N;ZhDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DJj$'DIm^'ASuBsDJj$'DIm^'ASu'sDIm^'ASuBsDJgp(V#'H[O8q9>D?EcB(:E/h#!*#Q4XgB, -o^)ZL"oURc2umghm09ru-p9NiD>!8s()-U/!0Jg[sk_gP7-V!'"P-ASu'sDIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'AH4.M -Mu[tn4TJpaMu[;b4T[SD -?2u-<:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e497q!AB"9L_iJ:e48ffAl6&HWJ;3RS:co -m/_97rQ52Q9VM1I#.%"&b*l#9p?_q59SNGf!l7R(o^)[+b%52Xm08hLb0%Oo -Q1aMKL/3t59QS8Bm3f\d9Mn>W7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VF!%d\?pb%4H/rp9cP9VVO/!_iYarD3_g:e"8X7SlSQ:bY@8:e"8X7SloN:f'VX -:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'X[:]V^>J,~> -?2t]p2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)S$GnfP"@ZP6Phrf\"GA -D"WtrAPejs93m/;P:(i`927?%0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*B!&O1Tp=KAc -pL4,Wr7D(j96'im#'ij\fP"$?rf[D"9<8'E!`B"QrA=g72)-sG0f:]a2)$aB2)-sG0f:gC2)R*G -2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R,e2$"ElJ,~> -?2uQgDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDGgI7q!AA8!+g%ZDGgHUbiA'p7g2%=-ig[I -m/]6RrB13?!.FS.#+,BB4X^<+p?_q*!#tl"!]U1.o^)ZL"nXqZ,lk@Fm0$Di4U`_2m07D-4Ztb) -D>!9#<<4BL!'7OUm3eng!!lJ?ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj#l!(ug@p,rCH -pP])or&k*>!.Fb3#+,B$4U_VNrp9c(!%In1!Z(iJrGDjODIm^'ASu)XDD5X>DIm^'ASuBsDJj$' -DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj%aD?2 -?2u-<:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e+CAq!AEk9M&&W7SlWLB%Q,2#('\!b*#HM -o^)ZrAc9aQYtV=om09L_]#o+liV)X?ZV7@sao].JU%I^QD.W@^!ej>,o^)d&?HQ;qp$DsK9Ynl_ -9VM.H"Dph+@)2'p-*p`J9L_iJ:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X/HA0/;uiokaoIY$ -;upmTr5o)G9W7gT"I2Yt9U5VE!nU:crQ59q%8]Mj7f?-`7f?.E7SlQN:e"8X7SloN:f'VX:e"8X -7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8N:a#gh~> -?2t]p2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2+LE%plc&/90>'h0f:g]=,H"%#%:olfUGNj -oTK;ZB`6Qb]h%mQ\!fK^3oTKD`@+\LgoofSr9?l,/ -96'Wg"BnGk<.F1s-$`E^6npPR2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG*WSt+@K -?2uQgDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDAEN4q!AEM!'"k6AStBG-d:Z=#"Jq^4XC*P -o^)Z6%/i]p$Ds#!'!," -!.FP-">KlV*ieMm-(#GJ.V3L/DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'5QGfpMuZfM4TK$g -Mue>or&k*:!/LF<"Dn,M!,_`&!mCo\rB1;n&oM8uAc6KHAc6L-ASu'sDIm^'ASuBsDJj$'DIm^' -ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm]sDCkj=~> ->lZ$;:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N85,`Om0hlM9Me2T7SlZMB&Vk=#('Cnb(WOJ -o^)ZeD#MKXWD'Ylm00F^Z*?uWp$Dg`9X4Q=!jPFto^)ZkAb=+GD-?Jt"CQ&^9U5;<#*hlub,J(@ -p$DiY9U4T#m3LYF9Mn>W:e"8N:e"8X7SloN:f'VX:e"8X7SloN:f'VX(B@;&;ui-TaoI:q;uhLG -ao]CQQ20eLHV@,brp9cP9W\38%La.M:e"8X7SlQN:e"8Nr_P:<:f'VX:e"8X7SloN:f'VX:e"8X -7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloNrD3Pb+TR#~> ->lYTo2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2+qr`P7*CG6o?\V0f;'d=,uC+#%:QbfS`C_ -oTK;TE;eDjZV,T;P6H&$]tI'MoofH$9>1;V!kh6KoTK;WB_9pXEDuIm"B9?b95O9b#&HrWfX"4r -oofJQ95KXPP66hV92>ID*AKE+2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G%ffo+@K;hhfDq98@K;Gb -fE0;jD#'7s@7s7Mrf[D"9=OlP%MB:02)-sG0f:[C2)-sCr\ZAa2)R*G2)-sG0f:gC2)R*G2)-sG -0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gCrA=X2'``a~> ->lZHfDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s;?2.>m0hYS.W/g8ASsI--embM#"Jh[4W=CU -o^)Z#&,eWm/HD13m0/7F1,8i0p$DgB!&FL9!\sb2o^)Z,%.l[`&/Om)"EQ$7fWP5rp9c(!&FL9%L4+oDIm^'ASu'sDIm]srbaE$DJj$'DIm^'ASuBsDJj$'DIm^' -ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsrGD[J/HC;~> ->lZ$;:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8X7oA7=m0e87:e"8N:f'\V@+XQ."`7hnb(WO\ -m/gZkP5`T*U.iArm01*qI9'4sp$Dh$9RZl^!jPG%o^)ZeD=ksO??>`*"As9G9W7XO#*hlub*l#E -p$DdY^uXl+ZVaCe:f'VX:e"8N:e"8X7SloN:f'VX:e"8X7SloN%2\P6!,hGO"gNVmDMbq$apG%h -<_Rl-m<`6mrp9dG;/Q="!o[9nrQ7a6!$tH2:e"8X7SlQN:e"8N:e"8N:f'VX:e"8X7SloN:f'VX -:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:e"8X+TR#~> ->lYTo2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sG7o#*,JlYX'oofH/97m,p!kh6NoTK;TEV.la?sWAf"AX6U96Bij#&HrWfVD/l -oofDuJ)ldpGtq$32&e8-2)-sC2)-sG0f:gC2)R*G2)-sG0f:gC#nlc;!.sjq"hp"@JsXOTfEnm0 -<_HkbP@7FIrf[DD:0RX\!fg2mrRa`O!#ILI2)-sG0f:[C2)-sC2)-sC2)R*G2)-sG0f:gC2)R*G -2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)-sG'``a~> ->lZHfDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm^'('r[gm0cDaDIm]sDJi>P*mEd6"YgEK4W=Cm -m/e=0-2p%/.0-CAm009c(Bk)gp$Dgg!#PSs!\sb;o^)Z#&G/*d#WhSE":,Yr!/L77#&O?"4X^<< -p$Dd8WoWOjQj<[iDJj$'DIm]sDIm^'ASuBsDJj$'DIm^'ASuBs&g["+!.FK&"\W]WI:u1K4UE\R -"TV'[m7/5Arp9dA#Vl>G!o"J!rB3b.!&AG'DIm^'ASu'sDIm]sDIm]sDJj$'DIm^'ASuBsDJj$' -DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDIm^'/HC;~> ->Q>p::e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N9RHI"%&$?c:e"8N:e!uL=i]^m"^,]bb&geX -m0LL>9Q\G"RS:cpm/p`i=hsXr#^]6V_90p"9Y9ra!EjO:aoP1joBcZVI@ ->Q>Kn2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC94@LW$unot2)-sC2)-s];hF1r"]KEnfQgEe -P6cY>96o1BUe?=4P64cW;h+D&#[pA>c.L[T976Aq!E4:9fE"WVo90;RJtu%hoofSr9A%mT99.Pd -+G*Qc2)-sC2)-sC2)-sC2)-sG0f:gC2)R*G2)-sB!&O+RlIZNiGtUn ->Q??eDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s!(Z_L%"/+RDIm]sDIl]G(:E>m"VqY44VJV& -m0K^>!#%LY-ig[Jm/nC0(96un#Y+k'3'BDV!2T8S!>Z@@4TPO_oBcY](FT9`p$Ds#!'NIa!8H&k -+LN6j;Is`WDIm]sDIm]sDIm^'ASuBsDJj$'DIm]l!(ua>l9,P8'*&;! ->Q>p::e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8P9Wn'U%D,;)7SlQN7SlQF9OQK:m0;NCIEK]K -@.EUgL.m$[3"bogqb'd.9m2sqf -9L_iT7SlQN7SlQN7SlQN7SlQN7SlQN7SlQ.!'TgN!4hF<"*@4kiVi-HL/3LsHhm%1HV_KVb">A. -7SlQN:e"8N:f'VX7SlQN:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN:f'VX:e"8X7SloN -:f'VX:e"8X7SlPt!.Y~> ->Q>Kn2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sG96^&m%=Cf+0f:[C0f:[C92pc4P6R%?K%S^p -<:Q.VAP7X-RnJV1P5pI/P6YnsK%S_V97QSt!D\7>fE/`ZFS(b#N_>:g99/\/"_CN_fRclIP95W\ -9//:]0f:[C0f:[C0f:[C0f:[C0f:[C0f:[,!(66b!6=EX"*mONNr>.EAPe:X@JQ)g@8P5IfLf$A -0f:[C2)-sC2)R*G0f:[C2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC -2)R*G2)-sG0f:[#!.Y~> ->Q??eDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]`!0Hm@%AWu%ASu'sASu'W!$9AKm0;;F(Hjnl -*qAV%<<*gu,ll0]m/YB"m0@J.(Hjo1!35\Y!=0M74T[A=L\0s;gAi03!8I26"]YRd4VnCQm2sOn -!+g%cASu'sASu'sASu'sASu'sASu'sASu'E!+bSX!(cE=!ttZ7g\pLB<<4$=8,;NR7fbUJ4\?Lj -ASu'sDIm]sDJj$'ASu'sDIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBs -DJj$'DIm^'ASu'2!.Y~> ->Q>p::e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8Q9\8t)%G+9I:e"8N:e"8N85*mbm0:U)P01pY -D=HorHVC]'9]=st#('%Tb*l#Eo^)ZQL%WRiP"`pgm0)$7P&4@om0.i;b0":-dd8*k9M@oP7SlQN -7SlQN7SlQN7SlQN7SlQN7SlPt!)E#_!28c%!i\kJqs=Q6?HR[iQ2BqMiDF^pb" ->Q>Kn2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sN98W>*%>d_G2)-sC2)-sC2+q-;P6QV3S(QA, ->4@^Z@8":u99.tp#%:0EfVD/loTK;KMtP^(RnJA*P6?_8RrMC!P6GAqf[sk=dZY`%911Kl0f:[C -0f:[C0f:[C0f:[C0f:[C0f:[#!*er%!3bbA!jbO2qi_1l@+^'(D#9CtN_XltfLcqg0f:[C0f:[C -0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G2)-sG0f:gC2)R*G -2)-s'!.Y~> ->Q??eDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]F!6k-'%Enf%DIm]sDIm]s;?/H9m09ru,s=C" -1%=Q67fY:i!8HK"#"JYO4X^<q,lk@Fm0(W5,nLjam0,u`4Zs3$dd8*U!%MPtASu's -ASu'sASu'sASu'sASu'sASu'2!/'d"!*SYO!\FCPqs=PW#X&t(D>W]%gB\Jj4\>nsASu'sASu's -ASu'sASu'sASu'sASu'sASu'sASu'sDIm^'ASuBsDJj$'DIm^'ASuBsDJj$'DIm^'ASuBsDJj$' -DIm];!.Y~> ->6#g9:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8T:\3r_?q4$_:e"8N:e"8Q9U4o1#,k5#b0!b3 -nEgD"9Tk*'iSj/.^eC3>P"aL#m/l6?L%WRhI8'8""M7@%?>]?%"_M>gb"mB3m2UjS85McP7SlQN -7SlQN7SlQN7SlQN7SlQN7L^(#;uhdAaoZubiVW!HL/5Y.D+po+m/jmnRf1B%\c ->6#Bm2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sV;"Kk[<(Af#2)-sC2)-sN95NmW#' ->6$6dDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]8!V>[f*YrX)DIm]sDIm]F!,_#g#)<164Zrs= -nEgCe!$rQagYqN(WW4G1,ll0^m/l#B)tc>p(BF'o"Jc#H#Vku="Xa^A4TS(#m2T++;Jp&`ASu's -ASu'sASu'sASu'sASu'sAJ,jKMu[PX4TZE"g\^@B<<5'B&-.L`m/j'`./c;%2?5=HASu'sASu's -ASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu's -ASs("J,~> ->6#g9:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8O@.WaqPtXSB7SlQN7SlQD7oA72m/_Q0rlP7; -L@FR5f1_-O9]5:BiCnsJN(hjrm/km5N:kNW)^eBI)_.? ->6#Bm2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sY<:c:`CeHB<0f:[C0f:[?7o#*1P6#)grn%6J -AakldM+a(b9Al!;_PY6l+P6-S6PkEZ0BNOeh"E@)S:hB9_"]0g'`_1-qP9#KT7l<"Y0f:[C -0f:[C0f:[C0f:[C0f:[C/c]CUn6uBXm+;>H>5FEfInP^Pc"KatrK@:o:sJsk98`cp2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-s$!.Y~> ->6$6dDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]$*qSb/D#ds]ASu'sASu'j('r[\m/]]Xr]L8_ - ->6#g9:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8OD=d-)^e@6r6?L7SlQN -7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN -7SlQN+TR#~> ->6#Bm2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sY>4[pfInMm]0f:[C0f:[C2+qcOP6Od%f\"GA -D"*VkED*W`:>h;_MbB*'P6-S6S+YD7@@0f:[C -0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C -0f:[C'``a~> ->6$6dDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]$1%XcBWW5"rASu'sASu's;?1S"m03h-4Ztb) -D=HoqI/ki4#iP(SgAi0U)Z\Xcm/kK3-1sD%"\81O"?H]L!,_Dr#0[&m4Y6Z$d-Vij!)d]GDIm]s -DIm]sDIm]sDIm]sDIm]s8H:,$FRb:iII00!3!DhJm0l#U.6TQm#ds'egB\>f4\Hap?uBOnASu's -ASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu's -ASu's/HC;~> ->6#g9:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e!oE@.N[o?r9Bi7SlQN7SlQN7r@V[#Ja#rb0%:h -U%%FP?s_!(9]5:AThMH.KhV.+!ln!'ou[;2L@jj:iDF^>9U5;<#,k4sb*#H=d-Vn5;+FGP:e"8N -:e"8N:e"8N:e"8N:e"8N+TT*r`+edA!+bQ@"GKlM9QU$s%+el\L!$Z$=kE%f9W@s49.^TB:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"7t!.Y~> ->6#Bm2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-gU<:Z4^<),/*0f:[C0f:[C7p>8C#CfC9f\"2: -EU].p<++@19Al!;ED*XjMbE]+!eO(@p"0:AAb;/iN_XlP95O9b#' ->6$6dDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDImAp*qJ\-*XH=pASu'sASu's(,>1C#H@bM4Zt\' -IIQV,*XFnF!9!5JI/ki^)Z]Nt!jr"VofW ->6#g97SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN -7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQJ;=a)`ThJ$S7Rg3D:e"8N9Ng`L#DQ$cb0%Or -L@OX8ZV6>#KhUIam0-X!b0"g'o^)_#9VV4&!DeIBm00XdU<6/pp$Ds1:Wgh69]==b)3mld:e"8N -:e"8N:e"8N:e"8N:e"8N:^nKFaoT%`o2G^#nB(oV:MlA^ZhWnpiH%\@b+_R;D+oBUb"TVO(JmRt -7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN -7SlQN7SlQN7Nhb^~> ->6#Bm0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C -0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[R:@aSXED&DO0ekO?2)-sC6rWH9#A$`Of\"GF -AatrgGtXCSMbB)hP6Flmf[tIEoTK?.9<7a^)/Mr'2)-sC -2)-sC2)-sC2)-sC2)-sC2$kE)fE'$5o3q]?nCRni:g.[OH2*R1Na5;0fW.YE>"aJFfM'Ni&iDC$ -0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C -0f:[C0f:[C0bj\=~> ->6$6dASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu's -ASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'/#kI?lI/l6EAS#ajDIm]s.MhC<#?:d_4Ztb* - ->Q>p::e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8T9]>U1%H1G[7SlQN7SlQN7RpVJm/^(#rQ5.7 -Q1=5G?rk+dP"`pfm/bhFo'HXH9Ua,HFBS8'!l.L(ou[;9L@jj:Alcaj ->Q>Kn2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sV99/V-%?=@W0f:[C0f:[C0h51/P6"EtrR_-D -D"3\n<*%8rRnJA)P6$Mcnrj8o9;L4mGuO@!!e3kDp"0:GAb;/i='!Su ->Q??eDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]8!8I,4%GMX6ASu'sASu'sAJQ'Jm/[J'rB1/] -D=Qut*X+Md,lk@Em/bFuo'HWu!%9un',L6-!ic5LofW -"99T77Ss(R!)WYa!)WYa!)WYa!)WYa!)WYa!)WYa!)WYa!)WYa1f-Y<7SlQN7SlQN7SlQN7SlQN -7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQG9Y9l_%'E8t7SlQN7SlQF9SVs%!jbRhrlP;Y -9U529#F.uOb0$t_Q1XGGiE9%:o^)_#;.]aL!G,m8m/j4[XS'^:ARP2u#.%!^b0"O.p?`*M9WZCZ -N(hjnm02IaTn[VkqFh#hAp^K.nEh'69L_iJ:e"8N:e"8N:e"8N:e"8N:c&0!r5o#=oMbg$n]Co] -9]>m9"(4erU&43YHVBn'b"]]8!'!GE7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN -7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7Sjm$J,~> -"99/k0fAqb!&aa1!&aa1!&aa1!&aa1!&aa1!&aa1!&aa1!&aa11c7!F0f:[C0f:[C0f:[C0f:[C -0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[J976;o%!P?40f:[C0f:[C94dLS!dRG7rn%:s -95O0_#Ad&/f\!l1D"NnnN`/]5oTK?.:2'XZ!GGR,P6,i!\+SASBN4Yg#'ik+f[t.Bp6,_t9=NR+ -PY6l'P6HtrEFiESqF^rd=(-3-n<4\p9//:Y2)-sC2)-sC2)-sC2)-sC2'W*Sr7D"XoO7f@n^mnp -99/n5"&qodEVkq$@8!EkfM0UV!%fo_0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C -0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f9RDJ,~> -"9:#bAT%KY!,hdI!,hdI!,hdI!,hdI!,hdI!,hdI!,hdI!,hdI1i?lBASu'sASu'sASu'sASu's -ASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'=!2T2Q%$1H=ASu'sASu'W!*/FR!gis9r]L^X(-V&s9nEh&R!+g%ZDIm]sDIm]sDIm]sDIm]sDFjgSr&k$YoS`d$nN?pi -!8ID<"!.FBIJ`C57fXt44\[mK!*WrOASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu's -ASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASranJ,~> --NG;Z:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N;#Woa;#Woa;#Woa;#Woa;#Woa -;#Woa;#Woa;#Woa;#Woa;#Woa;#Woa;#Wof:e"8L9U5/8!ddU4r^I&f7RfmDa6i6qF&0XNaoP:m -oBcUk9Pj[M!FB1,m0)Bb9MD/Qm/um/_9(oZ@5h9ZQnp#hN3[_90oS9\9(,!nU4Z -rlP;29ZQhn"6$D;@/`h':L7md4XL)!s%ED_r_*?0Y4CrsY"VAU:e"8N:e"8N:e"8N:e"8N:du`2 -Z2;ZDWV'3jAF[eCAS1i,"lW./APBo;m/u --NFl92)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2?#<12?#<12?#<12?#<12?#<1 -2?#<12?#<12?#<12?#<12?#<12?#<12?#<62)-s@95O-^!b"_ar\4R60el0pK'ea'>u8fEfE"f[ -o906'95sj^!FSn"P6?nL91s9tP66hD:r`Le!ENY$P6"rco[j5'97lo%#`2J\c.L[,98WG-!f9`e -rn%:J97li#"-.S:<;oMo:ge9p5puXos$QiWr_!8qGOgq7G=seJ2)-sC2)-sC2)-sC2)-sC2),mI -^&-F^[e4)0Eq.c_BNP(p"cc66BM3jQP66hE --NG`0DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDZ42IDZ42IDZ42IDZ42IDZ42I -DZ42IDZ42IDZ42IDZ42IDZ42IDZ42IDZ42NDIm]n!,_8n!_35Mrac7NARuVX[I*>_3WV5=4TPR` -oBcUT!"]#k!=0b>m0)/u!!%H?m/u)Y!B0p?!"ks"r$im=*m/u)a"ZZ?A:,iXd!,c@cASu'sASu'sASu'sASu'sASu's -ASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASs("J,~> -]?% -"348>_>VLXRS9"@m0;0S9T3O[fD"Y7f3h:HrQ5.AF7no%W(_p;ao].MF85,)f4IgXrlP;I9RHU& -"6!ifZ2VlIWD'Jim0UguAkYloAVHSXrQ5U?!)Q-]7SlQD85)lS@)2F%(ZA%]7SlQN7SlQN7SlQN -7SlQN7SlPe(&>uPWV09kC%9=H9SWE2"\a$L -OuP6QkF99a*bM>*29M,[-KrR_-O?1jB_FA%PafE0&h?20TcM-!N[rn%:c94@X[ -"--GZ^&HXcZV,N;P6lhW=%c1_BT&\"rR_TM!&ZJg0f:[?2+124<.FP((QM-V0f:[C0f:[C0f:[C -0f:[C0f:Zo(\u\`[e=/1GOa;d94ds`"\X-\<`=kQP6,r$X8COFc"K`M%l#pr2)-sC2)-sC2)-sC -2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2)-sC2),gG -J,~> -1(1B'EASu'sASu'sASu's -ASu'sASu&t#5LC^;tc.MGk!ot!*/m_"TT2o"W#>[m/i@L.Jl8(3",ce+D#G%DIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIkC" -J,~> ->lZ$;:e"8N:e!oN7Rg3D:e!oN7Rg3D:e!oN7Rg3D:e!oN7Rg3D7SlQD:e"8N7SlQD:e"8N7SlQD -:e"8N7SlQD:e"8N7SlQD:e"8N7SlQD:e"8N:e"8N8PHJ[m0AnP9MA;W=hF%f!esCRr5o(h9]>^4 -"1qE2])0VOCeUf'm0KC_:R]G-:LMfMm/s:a:R_4(!e!bFq!A49L.l0po?%/h9QSh`m0)CH=\PRf -aoZubU&43Za(A#6rQ52X:OE!+#fi359MAcHU;?ZJ%o!$n:e"8N:e!oN7S-HNQ1XGZD,Ec!7SlQN -7SlQN7SlQN7SlQN7K>sRaoJ^@;uhL?ao]CQQ29kPL.nSJ:M/Sam/km5P5EBtAP@%C,u@'-7SlQN -7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN -7SlQN7Sjm$J,~> ->lYTo2)-sC2)-gC0ekO?2)-gC0ekO?2)-gC0ekO?2)-gC0ekO?0f:[?2)-sC0f:[?2)-sC0f:[? -2)-sC0f:[?2)-sC0f:[?2)-sC0f:[?2)-sC2)-sC4A0thP6Yo#91r#Q;gdqq!bG$#$e00f:[C -0f:[C0f:[C0f:[C0`X`=fDrY[@K;GZfE0;jD#0>"AP9A=:fi\UP6-S6S,:i6BM2V2(H!p)0f:[C -0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C -0f:[C0f9RDJ,~> ->lZHfDIm]sDImBsAS#ajDImBsAS#ajDImBsAS#ajDImBsAS#ajASu'jDIm]sASu'jDIm]sASu'j -DIm]sASu'jDIm]sASu'jDIm]sASu'jDIm]sDIm]s2uo?8m0@J/!!!9)(8UNW(<<+U+!@QY#m/kK3-2Ti$$iim"12^Z@ASu's -ASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu's -ASu'sASranJ,~> -"99T77Ss(R<_u7T:e!oN7SlQD:e!oN7SlQD:e!oN7SlQD:e!oN7Rg3D7SlQN7Rg3D7SlQN7Rg3D -7SlQN7Rg3D7SlQN7Rg3D7SlQN7Rg3D7SlQD:e!oN7T!RPnEgD2W.oYmiU#q5f26D^ao\;2U%n!X -iJ($4Z22TP_.?;e_!UOJ^m/%rA[26W%AHWqL9A=p];UHe9O>"$aq),fL2BUXFM[Li -$\_8MF-W#FHVmICXS^-J_.?;]W4T4+D,3rrqoT=h9Yg&_f:cSG9P'0fou[h?!)Q-]7SlQN7Rg3D -7Rp.,p$EN[9LqWL7SlQN7SlQN7SlQN7SlQ2!-@nW!P)b:;ui0Rao]CQQ29kWf3).cP"]8qmHqr8 -9X4N<:i&h!M?#J07SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN -7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN+TR#~> -"99/k0fAqb<])Td2)-gC0f:[?2)-gC0f:[?2)-gC0f:[?2)-gC0ekO?0f:[C0ekO?0f:[C0ekO? -0f:[C0ekO?0f:[C0ekO?0f:[C0ekO?0f:[?2)-gC0ht].n<4$4FCem#NpMr2M,&'ffE/*HEVP_# -Nb(jk^&$@jc"KaYJ!6(VIr&%VBYFDt%BE<#ATrWJHurpu945I1fFQ5792oJ=EHHDEAQh`"H-Pm3 -$]@YS?#4=g@89I'\,4ecc"KaUFF8:P>#8%kqq)=&97N.hM/cKf95'R'p"0gR!&ZJg0f:[C0ekO? -0h4lJoog/-9/SF]0f:[C0f:[C0f:[C0f:[1!.4Im!QT6V@K<.nfE0;jD#0>)M,RHpRnH_.PEUT( -9>18U:iK'I<<+7$0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C -0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C'``a~> -"9:#bAT%KYNW/bSC@?,lf!^mHq;B -!&FI8:_*PSM?$4cASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu'sASu's -ASu'sASu'sASu'sASu'sASu'sASu's/HC;~> -!<=;A7Ku[Y7SlQD;#Nic:e!oNrC-lc7Rg5Q7QjR;7SlQD:e!oN7Rg3D:e!oN7Rg3D:e!oN7Rg3D -:e!oN7Rg3D:e!oN7Rg3D:e!oN7Rg3D7SlQD:e=?8ea3Em9X4H:!bG6Eqs=RGQ!$e&_>).R_1h_Z -!G._saoSbhqb.&eAX`D:"2Tq-:]*lg:L8ISm`GU9I9->@!`jE3pW[!/:?n;/Apkm774H7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN -7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7SlQN7Nhb^~> -!<o632)-gCr@nC30ekQa0g.BK0f:[?2)-gC0ekO?2)-gC0ekO?2)-gC0ekO? -2)-gC0ekO?2)-gC0ekO?2)-gC0ekO?0f:[?2*=NCeWU&G9>12S!bb>Yqi_2DCfS3InMm]0f:[C0f:[C0f:[C0f:[C(BCQ1fE'EeqI0HF -n^mk=@JQ)jIo'OmUfRCd!/pd-;/f0EP;N=p0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C -0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0f:[C0bj\=~> -!<=_MAHm$`ASu'jDZ+,KDImBsrFH(KAS#cXANapBASu'jDImBsAS#ajDImBsAS#ajDImBsAS#aj -DImBsAS#ajDImBsAS#ajDImBsAS#ajASu'jDE%Vrea3EW;3#h\o -!=UCR4TR;OqZ$Zu$n1m6"#qP7!W2p"!=0JsmQCV,(BsdDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s/HC;~> -"99T77SrkL!)WYa),Ndl:e"8N7SlQD:e"8N7SlQD:e!oN7Rg5Q7KZIV7Ss%Q"&MHV;#Nic:e!oN -rC-lc7Rg5Q7Lrc19aoSblr_ro/WUn79]#r0D9ZQtr$+iu6_82RgI>kH/b#3=TQ0mrT -&k5\e:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"7t!.Y~> -"99/k0fA_\!&aa1))X-'2)-sC0f:[?2)-sC0f:[?2)-gC0ekQa0`s9f0fAna"#Vef2>o632)-gC -r@nC30ekQa0b6,r0f:[?2)-gC0ekOR96]!O!eO'jq:H+h<`!U[JpD0991rZno[jAfRt?6MUrN/] -#0jKT\#[3en^mua]tMG1f%:)6X1cOHfEK97<`XLTn(7b/!&ZJgr\4a;0f:[?2)-gU98WD,"HH,; -0fAqb!&aa1!&aa1!&aa1!=oh7fE&^@raGnK[e&,T`n8pq97lu'$%,QMc-<&9Js -"9:#bAT%9S!,hdI)/a"sDIm]sASu'jDIm]sASu'jDImBsAS#cXAHQg]AT%HX")_[]DZ+,KDImBs -rFH(KAS#cXAIiZiASu'jDImBsAS#a/!0Gh"!jr"Aq)o-A"T`J9[?tec!!!9RoK!4DXi$)@S*3&i<&(F1d64]2pnD=-^9 -)J*etDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]2!.Y~> -!<=;A7Ku[Y7SlQD;#Woa:ut.H;#3W];#3W];#3W];#3W];#Woj:e!oN7Rg3D7Ss(R!_6&,f^/`J -:V->D!P3+F9EJOKWI`4`ap0L-7SlQN7Ss(R#>dlZ:e!uLHhQh@=[u:X:e"8N:e"8N:e"8N:e!nS -3:Y,m`3HT=ap=G39M]c!:LMfMm/jmnD"l'ZI8#C_mFM=]7Rg5R7K?9a7K?9a7QjR;:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:duT.J,~> -!<T$-2>T$-2>T$-2>T$-2?#<:2)-gC0ekO?0fAqb!_6(=fTQA9 -:r`:_!QK*V9*/LQZ[pd#fEX,;0f:[C0fAqb#;n4j2)-s]@J5m!;b&]"2)-sC2)-sC2)-sC2)-fc -4Rq&*d_ -!<=_MAHm$`ASu'jDZ42IDWPF0DYdoEDYdoEDYdoEDYdoEDZ42RDImBsAS#ajAT%KY!YtgEf^/_] -!B0^9!B(Jd!!3EB/V-(V4U2E/ASu'sAT%KY#B"*aDIl]G8+u?M((tLrDIm]sDIm]sDIm]sDImAZ -&Fhmb6VC)D4UP^AS#cYAH6WIAH6WIANapBDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIkC"J,~> -"99T77SrkL!)WYa(f3[k:e!oN7Rg3D7SlQD:e!oN7Rg3D7Ss%Q"&MHV;#Nic:e!oNrC-lc7Rg5Q -7KZIV7Ss%Q!)W8V"%Z9lf@oTnL.n'/aoo;ER]3lLb4*Od*YLq3:e"8N:e"8N:e!oN7RpVTm1aD- -7SlQN7Rg3D7SlQN7Rg3D2umaQapPCIAtaQK9QWs2W;5f^Pt[qJao[8jLApQOVZ8PC:e"8N:e"8N -:e"8N;#Woa;#Woa;#Woa;#Woa;#Woa;#Woa;#Woa;#Woa;#Woa;#Woa;#Woa;#Woa;#Woa;#Woa -;#Woc:_s+^~> -"99/k0fA_\!&aa1(c=$&2)-gC0ekO?0f:[?2)-gC0ekO?0fAna"#Vef2>o632)-gCr@nC30ekQa -0`s9f0fAna!&a@&"#WhPM;"-pAP8ilfEB3iUpJ'lf^RN++:KtZ2)-sC2)-sC2)-gC0h519P8%1j -0f:[C0ekO?0f:[C0ekO?/HBkNfF#;b=)hYD96j0/FSV+%CeLi)fE-t(Ac@l)D#be82)-sC2)-sC -2)-sC2?#<12?#<12?#<12?#<12?#<12?#<12?#<12?#<12?#<12?#<12?#<12?#<12?#<12?#<1 -2?#<32%fn>~> -"9:#bAT%9S!,hdI(iEnrDImBsAS#ajASu'jDImBsAS#ajAT%HX")_[]DZ+,KDImBsrFH(KAS#cX -AHQg]AT%HX!,hC>"&]C?bhDFc<<+H?4TmYk-nR?.4n(TI#o[AdDIm]sDIm]sDImBsAJQ'Tm1_8j -ASu'sAS#ajASu'sAS#aj=o]](4UNqE-[eJj!##>JL\^<=D#c$\4TZQ& -!<=;A7Ku[Y7SlQD;#Woa;!(4I;#3W];#3W];#3W];#3W];#Niq:e!oN7Rg3D7SlQD:e!uL@,]o. -!hi;0J]cil&e#RQ7Rg3D7SlQD:e"8N7SlcUp?`WB;+=#O7SlQD:e!oN7SlQD:b;Z6PJlM(%#%C, -mHrM5:RYT`@+Y;C!oZq'qT8ku9QU1":0R]d7Rg3D:e!oN7Rg3D:e"8N:e"8N:e"8N:e"8N:e"8N -:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:e"8N:duT.J,~> -!<T$-2>T$-2>T$-2>T$-2>o6A2)-gC0ekO?0f:[?2)-s]<0#at -!c^kYJ_8i3&eY^40ekO?0f:[?2)-sC0f;?op6-8#:,+I\0f:[?2)-gC0f:[?2')`fRF:-J%#[c8 -PEUi&:o%Jl -!<=_MAHm$`ASu'jDZ42IDWYL1DYdoEDYdoEDYdoEDYdoEDZ+,YDImBsAS#ajASu'jDIl]G*o#K; -!dt%^JN_jQ&dKOsAS#ajASu'jDIm]sASrt'p?`Vc#\@RbASu'jDImBsASu'jDEn28A4,B?$l]2j -mHr+=!@S3R*mFNK!o!_lqE4m*!':)G:2Ku=AS#ajDImBsAS#ajDIm]sDIm]sDIm]sDIm]sDIm]s -DIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIm]sDIkC"J,~> -"99T77SrkL!)WYa(f3[k:e!oN7Rg3D7SlQD:e!oN7Rg3D7Ss(R"&MHV;#Nic:e!oNrC-lc7Rg5Q -7KZIV7Ss%Q!)W/S"%Z*niSNr'ZV4q]b218B_#PYV7KZIV7Ss(R"AhQW7pu&X",9K=;#Woq:e!oN -7Rg3D:e!nj!)QX*WTM>*_9-S%rTsg09Q\F?9QU't!G5p?ao\#*D>`cr3"8>R7Rg3D:e!oN7Rg3D -7SlQD:e"8N7SlQD:e"8N7SlQD:e"8N7SlQD:e"8N7SlQD:e"8N7SlQD:e"8N7SlQD:e"8N7SlQD -:_s+^~> -"99/k0fA_\!&aa1(c=$&2)-gC0ekO?0f:[?2)-gC0ekO?0fAqb"#Vef2>o632)-gCr@nC30ekQa -0`s9f0fAna!&a7#"#W_NNo#s$GtVh%f\Y6^blALV0`s9f0fAqb">qng7o]2G"(b+[2?#5XRZ,7-(^0ekO?2)-gC0ekO? -0f:[?2)-sC0f:[?2)-sC0f:[?2)-sC0f:[?2)-sC0f:[?2)-sC0f:[?2)-sC0f:[?2)-sC0f:[? -2%fn>~> -"9:#bAT%9S!,hdI(iEnrDImBsAS#ajASu'jDImBsAS#ajAT%KY")_[]DZ+,KDImBsrFH(KAS#cX -AHQg]AT%HX!,h:;"&]+?gYV4DZ42YDImBs -AS#ajDImB)!/?G`;s$4F3'@cnrTsfs!#%LA!'9uD!@J -!<=;A7Ku[Y7SlQD;#Woa;!(4I;#<]^;#3W];#3W];#3W];#Nil:e!oN7Rg3D7SlQD;#Nic8PE:= -i9^WL9ME$Kb218EX8jPC7Ss%Q#uF)\:e!oN7SJ1&m0&/;7Rg5R7KZIV7Ss%Q"&MGr'`Cu3M8\]% -"gMB-:JYj*m08;=_9.I*Q2BqLAo.Cf"/8J$iVi.>i;aZ`7SlQD:e"8N7SlQD:e!oN7Rg3D:e!oN -7Rg3D:e!oN7Rg3D:e!oN7Rg3D:e!oN7Rg3D:e!oN7Rg3D:e!oN7Rg3D:e!oN7ReO$J,~> -!<]*.2>T$-2>T$-2>T$-2>o6<2)-gC0ekO?0f:[?2>o634A/V0 -i0+7e92!9Uf\Y6a[f@4%0fAna#rOFl2)-gC0hYsKP6>Gi0ekQb0`s9f0fAna"#Ve>(&_SBQdY0O -"he;::f(?nP6PSkc.IqID#9Cs=)e)i"05'rNr>/;NW9\H0f:[?2)-sC0f:[?2)-gC0ekO?2)-gC -0ekO?2)-gC0ekO?2)-gC0ekO?2)-gC0ekO?2)-gC0ekO?2)-gC0ekO?2)-gC0ejCCJ,~> -!<=_MAHm$`ASu'jDZ42IDWYL1DYmuFDYdoEDYdoEDYdoEDZ+,TDImBsAS#ajASu'jDZ+,K2uj`< -i9^W.!!"p.4l/=*1&s(IAT%HX$#X`!W]$-P-,<""=3tg\pM8gAiL1ASu'jDIm]sASu'jDImBsAS#ajDImBs -AS#ajDImBsAS#ajDImBsAS#ajDImBsAS#ajDImBsAS#ajDImBsAS#ajDImBsAS!FnJ,~> -"99T77SrkL!)WYa(f3[k:e!oN7Rg3D7SlQD:e!oN7Rg3D7Ss(R"&MHV;#Wod:e!oNrC-lc7Rg5Q -7KZIV7Ss%Q!)W2T#>dlZ:e48W]Ai2\ThIEG_:m$:_6K_tN.#eirac14?=$\2?N"F8D>nYOIIqX\ -I0PCaP+&,H]"uMjMuY^57K?9[7fQ-^]CtUmL.qS9!)WM]!)WYa!^6T8r)<]7`9YPL?;Zu/9Ps^p -#I@+'b0"No]D_*uf1^nsaoe_@@+Y>D!l+dfr^HlarC01O7Rg3D7SlQD:e!oN7SlQD:e!oN7SlQD -:e!oN7SlQD:e!oN7SlQD:e!oN7SlQD:e!oN7SlQD:e!oN7SlQD:duT.J,~> -"99/k0fA_\!&aa1(c=$&2)-gC0ekO?0f:[?2)-gC0ekO?0fAqb"#Vef2?#<42)-gCr@nC30ekQa -0`s9f0fAna!&a:$#;n4j2)S$%I,^=mED&Coc.^eTc+U0IP_+1+rb)C7?sm%6@/Xa=EW17XK(O?f -Jd.-tS#!*o`kg:/PQ2s,0`X*+0`ja9I.ia)AP<"W!&aU-!&aa1!\aU1r*f\Ydd,Nh?qtND93V7W -#C/tKf[t.9I/T61M+`d*fE8TZ -"9:#bAT%9S!,hdI(iEnrDImBsAS#ajASu'jDImBsAS#ajAT%KY")_[]DZ42LDImBsrFH(KAS#cX -AHQg]AT%HX!,h=<#B"*aDGgH?UuLbEI/jfY38-M#3&2p/,Sq+-rX8l4#RCV4#lP/3&H3@;(\AC? -(Btg(,q(2t2ShNX,QLF7AH6WCAHF=]V"X0V<<3#0!,hXE!,hdI!aYk!r/:Z)6gHo8#Qnp)!&=E= -#FGKC4Zs;UV#BZ^bQ&U\4TdG?*mFQL!ic5crac(IrFJB7AS#ajASu'jDImBsASu'jDImBsASu'j -DImBsASu'jDImBsASu'jDImBsASu'jDImBsASu'jDImBsASu'jDIkC"J,~> -!<=;A7Ku[Y7SlQD;#Woa;!(4I;#<]^;#<]^;#3W];#3W];#Nil:e!oN7Rg3D7SlQD;#3Wa85W'G -iTBM3iHn6g,lk%)ap#V\N.#8!8sHVs]1"&MHV;#Nid:e!,=4o81ZA@_*M#/NuumHq^0r9Xcr -9W?1W_,a^trp9c69X4T>"0km(fDFqMC]HFa:e!oN7SlQD:e!oN7Rg3D7Ss%Q"&MHV;#Nic:e!oN -rC-lc7Rg5Q7KZIV7Ss%Q"&MHV;#Nim:e!oN7Rg3D:e!oN(BAs~> -!<]*.2>]*.2>T$-2>T$-2>o6<2)-gC0ekO?0f:[?2>T$12,6e\ -NolN0NaYRN(BCr&fEKO+P_*RLqb%Jq;cd.+@:4n'[@8?_T"#Vef2>o642)--P6i11>W"2.`1M>NJO;#i1&2)-gC0f:[?2)-gC0ekO?0fAna"#Vef2>o632)-gC -r@nC30ekQa0`s9f0fAna"#Vef2>o6=2)-gC0ekO?2)-gC&cdF~> -!<=_MAHm$`ASu'jDZ42IDWYL1DYmuFDYmuFDYdoEDYdoEDZ+,TDImBsAS#ajASu'jDYdoI;@!8> -gZIl-gID5Z1&s)f4U!es,SpjmqZ%05(+1gk7n5U17lj.$-SZtrrY>J>pAjh$!!r%M8_racCRAS#ajAStBG1%jo77gT$(")_[]DZ+,LDIl'5AG_;dJOo/k"ulU"mHpp]r9XcW -!%g>s3!C)Prp9bW!&FO:"#:#cbkpcBM#^^jDImBsASu'jDImBsAS#ajAT%HX")_[]DZ+,KDImBs -rFH(KAS#cXAHQg]AT%HX")_[]DZ+,UDImBsAS#ajDImBs,QN>~> -"99T77SrkL!)WYa(f3[k:e!oN7Rg3D7SlQD:e!oN7Rg3D7Ss(R"&MHV;#Wod:e!oNr^Hud7Rg5Q -7KZIV7Ss%Q!)W2T"&MHV;#Nic7ndO8kj8V]=\MLY/-).#aooP[N,;Vp9F"F,H^1bGa5PG5s5=78 -a2"jOL3m<*r_*GqCk\Upc,p&W!;o:d;#3W`85*1N7K?9`7KO_5:ARojAAmoY!j#(u -q!A,p:Vm%Q#GOn(fAVHXIK%@k_,aFRqX";S!:3/T;#3W];#3W];#3W];#3W];#Wol:e!oN7SlQD -:e!oNrC-od7ReO$J,~> -"99/k0fA_\!&aa1(c=$&2)-gC0ekO?0f:[?2)-gC0ekO?0fAqb"#Vef2?#<42)-gCr\4L40ekQa -0`s9f0fAna!&a:$"#Vef2>o637nZp8k`Z6s;bKM5+onG#fEBI*P]9b'9*\3n@;L.8Jr\6Bs,IAA -Jq%uaARSP5r_!ApE/Ud:c.E%e!;nPO2>T$02+pl)oofJ`7klms0`X*00`i'i>P_e0EmjC.!k1gH -plbb\:sK!l#HLL!M2l.?K)XC)buRSkqNCq;!:2E?2>T$-2>T$-2>T$-2>T$-2?#<<2)-gC0f:[? -2)-gCr@nF40ejCCJ,~> -"9:#bAT%9S!,hdI(iEnrDImBsAS#ajASu'jDImBsAS#ajAT%KY")_[]DZ42LDImBsrac1LAS#cX -AHQg]AT%HX!,h=<")_[]DZ+,K('#_ikj8VB('#gq63&Fq4Tm_r,S1.Y!!`cW7r=?`[G0*rs4[h' -[Ao=: -!<=:b7K?9^7K?9]7K?9`7LW*_7SlQD:e!oN7Rg5N7K?9a7Kc:V9RGCXm0UgM9Mn>M7Pk*sl,j+> -P'p[99E\L>Q*])Vm0)%ITmKrA9ES=;N3(FL!u2G<;#Ecg:e!oN7S-9Na7Sa"=\&H\"&MHV;#Ecc -:e!n`')5E+DXPXKYtV=sm/tCG9To=r!Kp7X9E926aofIk9Y:,f'+GRD7SlQD:e!oN7Rg3D7SlQD -;#Ecb:e!oNrC-lc7Rg5Q7KZIV7Ss%Q"&MHV;#Ni`;"I-V;#Ec`+TR#~> -!<&I9*A1!CjClOP6?_fEFDfF9*84?Pdf&m!uDA#2>f072)-gC0g&*(K(P6-;b-gA"#Vef2>f03 -2)-fl%/=93K'q7m]hf022)-gCr@nC30ekQa0`s9f0fAna"#Vef2>o602=iO&2>f00'``a~> -!<=^nAH6WFAH6WEAH6WHAINHfASu'jDImBsAS#cUAH6WIAHXsm!(Y9"m0U0T!!lJ6AOukLkrf,, -,o6jd!!F&uD4&P]m0(Y#I7G(P!!p"#p\hV"sBk&fP=mDImBsAS#ajASu'jDImBs -r+,tJAS#cXAHQg]AT%HX")_[]DZ+,KDImBsrFGtHo47o>r+,m\!.Y~> -!< -!<"_LNr@n@-!-@P["211L%Mu9[$(lXHu*(`91r)pMmL[[fE/M^ -(]H,h2>T$06q^L2oTKE<911Klq_8(.r%S7*!%@SN!2Ar7!ldlQqi_,B:eR&LfE8gFJuek&!c^kT -q3(l,!#P&X!&aR,!&aU-!&aU-!&aU-!&a^0#rOFl2)-gC0ekQ`0`X*10``!hJ,~> -!<=C7AHXI_!(WjTm027"0`V25rFH%:!$LYl"#;/9"o\K(0iaUb[-\7UUhr-u!!!$.)_F&$4T[A= -1B(hbDYdoH.KCNto^)e9!%MPtqdfbFr+,q;!''_3!+G=Z!]C%,qs=L?!<=DA4TdGY(Ff;G!Y>?e -q<\7'!&EtR!,hUD!,hXE!,hXE!,hXE!,haH$#X -!<=:37K?!Y9ESFPZe,$?#hQ\RF%f8)8P&_J!<>jaapPD4D,s>(;0/GHiN)>Ja/F_qr_*E*IA4=- -aolbc1e(=@7K?9a7fH'^L>hak!lmu+r^Hud7Rg5R7K?9a7KPCH4n_hT`:(hL9SWE2!gQH-o?%,_ -9U5D?'8ccH7SlQD:e!oN7Rg3D7SlQD;#Nic:e!oNr'gcb7Rg5Q7KZIV7Ss%Q"&MHV;#Ni`;"R3W -;#Ecb:duT.J,~> -!<t[gc4>m!j!/4T7&;2)-gCr\4C1r\4I!!(6Hh!7L>g!D@##P6,PnK(IUr -JkKqTP7ppr,;D&10f:[?2)-gC0ekO?0fAna"#Vef2>f022)-gCr@nC30ekQa0`s9f0fAna!&aC' -!&a[/"#VeJ!.Y~> -!<=^?AHu*_!!!d7R*>Bn#gB)]3WK-c3)]Wb!<.`trW!$/(F_8s -4Tlr/8S)f=AH6WIAHXI_!*.eFm/jZq3 -!<=:17KPtL8,Z*]=oD_.=oD"q;+sRV7KErEou[TBN,;Th9Mp/1a.hr'f<^3Dr_*GqD2"^hi5u'[ -!<#@h:e!oFr_*?0_"$doPtX_FqF1H]r^I#e7Nhb,p/D$KnB(gD9VM:L!ddV"ou[>p9RHO$!B:)I -7K?9]7K?9\7K?9]7K?9]7K?9`7L;m\7SlQD:e!oNrC-c`r'g]1!.Y~> -!<j:..5>0`_S.p"0S[P]9_s928o8JteG2M0WZ6r_!ApEJpm2i7J&m -!<"VX2)-gC6q^0VJ+8^)CeHWCqCqt-r\4O50bj[mp0n#gnCRf^96'ck!b"`dp"0>194@RY!@%U4 -0`X*-0`X*,0`X*-0`X*-0`X*00aT]l0f:[?2)-gCr@n:0r%S3e!.Y~> -!<=^=AHH7!(B"45(B#9S(B"47#V%h/AH -!<k/:kK47F!#J+$ -7Rfp?7ncTt]C5+fD,L:%"&MHV;#Ni`;#Wra%J<[#AFR_C\kJgmm/h,uReOr,U.fF_q!Ac:$k5Zq -:e!oN7Rg3D7SlQD:e!oNr^Hud7Rg5Q7KZIV7Ss"P"&MHV;#Nic:e!oNrC-c`oL8gWrC-c`r^Ho3 -!.Y~> -!<&[)&cha[$+HCD:eOG[@<$mfP6?nnCgC!=9*J.*Js#,&O"#Vef2>o602?#?1$2%a-Eq%]_`_1=HP6+o\V"`LDX%QWVplcCt&d^9I -2)-gC0ekO?0f:[?2)-gCr\4L40ekQa0`s9f0fAk`"#Vef2>o632)-gCr@n:0oJ$>'r@n:0r\4Eg -!.Y~> -!<=C0AHGah.f:(^.fVI.;Y=T%,QRX'#r3eD)rI3!!NB3(F1Rjk<084!$l,n -AS"b!('"=qV!m[O0aRbi")_[]DZ+,HDZ45I'(q1`Jabf(2?81#m/f!B./,k,.0)*Wq!AbV#81TZ -DImBsAS#ajASu'jDImBsrac1LAS#cXAHQg]AT%EW")_[]DZ+,KDImBsrFGtHoOS#?rFGtHrac*^ -!.Y~> -!<=9o7f,XV/HD7S#:J=GbH_JKBm02+WTn[/Tr_*MlATWWpXLdiB$Yo`!7RTg<9MATSfC&#- -a%T2&7K?9`7KZIT!$1]2!6"BL"BJ[.a4L4U"6!W`WVO[=Ytncdq!A0)9E67(7K?9^7K?9]7K?9\ -7K?9]7K?9`7L;m\7SlQD:e!oNrC-c`rC-lc7Nhb^~> -!<WZh`5U]hh[gplbec9)o^p0`X*.0`X*-0`X*, -0`X*-0`X*00aT]l0f:[?2)-gCr@n:0r@nC30bj\=~> -!<=^&Ac$$?5QE524U -!<=9o7f,X_2umL3b.<:&9QR/QL[>8sZ_<+c;>j/r:L7jZKp%n(XLc!ZrQ5Ma\u[Y59LhcM;23-W -m/i#98Fo:P1]T*!;ujK%ap,G2FG7Q1 -!<E3M,%*kqq)"q<_eMHP8.M!9)p.j2)-gC0ekO? -0f:[?2)-gCr@nC30ekQb0`s9f0fAna"#Vef2>f022)-gCr@n:0oJ$>'r@n:0r@n -!<=^&Ac$$H=o]U,4Z45[!'5nCL[>8hR!hs^#lO`2!=02L)^Qma1,_$MrB1NJ2DP[J.M`!a#Z\:u -m/g8f;Y+H$8H;BTMuZEA4U*e`',rn_"o\K%Wr)/cbQnA1q`P$@"UN?Im/TZU!"hP/DImBsAS#aj -ASu'jDImBsrFH(KAS#cYAHQg]AT%HX")_[]DZ"&JDImBsrFGtHoOS#?rFGtHrFH!]!.Y~> -!<:J>iMJaNI(#M7#!Tn[Vr;=I6]:M,m(l0SQ2;+L1H![Rh:oMbh/p -!<T$-2>Js,2>o692)-gC0ekO?0fAna!&a^0 -">qng'``a~> -!<=BrAbosC&d^N:!<>0gJaNI(#L'T;I8r -!<=9o7f#US,m-q:F2rk!o^)kAf>,#$TqVIN#)8D.Tru#Zjm<,C9M"_D!>5k6;uhLCap5LR=i]pA -9O@_@!i\t-qX"?X9VVL.!e!b9q!A9Z9Q\E/%7IQm!?hGn~> -!<M19nsEH1to#%_UeEHceejc]ac9/Z8p!=T;,@K;G^fE]Dm;hC3\ -947bO!jb^)qNCu#9<8$D!eO'bplbo%96o/E#qiS>!>PTb~> -!<=^&AbosA1("$^3jjP+o^)k;bc7J#I=;*3#$#MWI?:8Kjm<+t!)iB!!?)UCMu[_g4U3kG(:EP* -!!rQe!\FF#qX"?4!%Ik0!Z(ibq!A96!#%L)&n&(X!A+;%~> -!<=9o7f,XX8PDfpa+iCnt)ao[`" -LA:-?ZV4rQ_#P:X7KFY4J,~> -!<8+A;8!%)a[@K;hhfE/*HI/]<2G>!knfE.O8Ac%YmN_><0fE.O8 -Ab_GnGtVi'blAB_0``!hJ,~> -!<=^&Ac$$A2uiq5[=R_bm/l#J(@br;!% -!<dZ8Pr/u]7K@fm/i#98Ff4Z2un$Bb.4L@P_k6\S#Q#%!g67/rTsZ59W\69!d%,7r9XaJ -9SLX3WD@.$m0C[-?GXdU!%kNH!?hGn~> -!<rK@:k9=OoQ!dRF\r0%AG -98hHTZVX`uP6Z\9@*R?'!$8I$!>PTb~> -!<=BrAc60C3!]L=Uk.pOm/g8f;Y"B.=o]a04\/LV@;'=b>Z:5W![RijrTsYV!&FO:!YYQhr9XaD -!#n'a/HI6om0C$"#WOt$!'ml%!A+;%~> -!<=9o7fPp\85W&gZ[qM]m/k=*8+B%M,ljP#ao\;2]D_*uf25lQaoZ-Ja8PB1]1eC1\lMtcq<\I> -=]W,Vb%gu:ZUOs=!.Y~> -!<28+A;8(BCGufE/*HI/T61M,%IWfE,_ZK)Ll -!<=^&AcH -!< -!<PTb~> -!<=BrAHYmH!#C?@mD8/k*WTU1( -/cIm6&cf4K!A+;%~> -!<=9q7Kl1R9Mq)6JaL;@!esB?n4!EY39nWjWKNFUD,Jp_m/hW.WW($JWD$0SQ!$eTb'csWq!A-0 -9Ubq&!=TUH7KFY4J,~> -!<5gH0``!hJ,~> -!<=^(AHcHk!!mGrJaL;@!`]4[n7;V#&F)C_/L;]$&.$MXm/fcX/cIm@/H?&nD&*+#4Vn*Hq!A,Q -!%@e/!='OKAH=@_J,~> -!<m33:QeLciVi-Tf3(dCKu(p:AP>d(U<8ouHhct0 -ThL1=ao\XE-*fu@+TR#~> -!<.QM,R&DMp9nfBM2!+X4X4@@JH#f -ED)5gfE/M^(U>ar'``a~> -!<=BuAHXsu!(Y7amD/)jO8pd"AHH$8*pYrh&H2Y4!@7aog\pLNbSC0Z)`Tu9$ig85.6T'Z8,2HQ -I/k5b4T[A=19tHl/HC;~> -!<=9t7Kc7P9OPJ`mD&#j^e[Hgn4!I2!1N8s$B.Z5f>g`pP"]KHrTsa.TlWn=rlY8Ps2kGT:LN/W -m/k'sAc0[PHN5n.7KFY4J,~> -!< -!<=^+AHYmH!$7qemD&#jWWs#gHB!?U"k -m/j9f%/`6i,lgNBAH=@_J,~> -!< -!< -!<=C#AHXsm#]8=ImD&#j[0R%9mpuPG!''[8""b#o/c.[3"Yp#D#)<0t-ik^Mqs=H%!%%M*rs/V4 -q<\:.('Q\q4TZE"@'X>E/HC;~> -!<=:!7KZ.SB#h(A!o`P*PjJRg;+sOK7KErMp_NX -I8$U7m/h?&WVag=,n7+K!?hGn~> -!<PTb~> -!<=^-AHN\J-ag,E!o*+sPjJRQ#QRcjAHYq@./c:11&ub$m0,NN1*lojqX";!&H"Zm -(BB6cm/f -!<rm.m/s[j;+U+E!^6Thp -!< -!<=C&AHYm:!,^Jtm00nZD)s$Mr;cd%%2L!4-TX:Y -!<=:$7KZ4U;7j=)"4sl6D>d-0S -!<5_(qbtqi4PDN%Bc.L[<98WS1"a!CqbuS$FP6"`urn%=m<`>%SP6->/E;J2gRfFM70``!hJ,~> -!<=^0AHOml#c+rs"3d-41&V(R"V2:F)[d;q',M2k%h&^L"TeQ%"p"]>3c18=XmH4-!#AK"AHG*s -,kjG22uuP:mE>hA3'BDN!6kB."c!'s3!D&6m/\RCr]L?A"W#kgm/jZq&,JEj,lg38AH=@_J,~> -!<1f4I]H7-mAI+TT*r\tZe5 -ao\#*Zi9=sY"X8db(WOJqs=Q.9WWY9iV`'D;0;f[!c1QNq<\:C?rjl8aoYfJ33bpR+TR#~> -!<?0'k:s'`c8+`iI,V -fE.jAH2a!4G>!P?fS`C_qi_1h9=KLGNr5(A:3lik!cUeaq3(o@<*%$8fE,O_/[7#2'``a~> -!<=C(AHOml-d90h$eq%K*WQ0@#T"dB3:/j52DQj1)\<;S!!4NbWj;!pbU3B+@-hG//H@[l2CUQ] -4T[#3R/ZIXO8p([4W=CUqs=PJ!&>>jg\gF>#S[2#!Y5:=q<\:=*X+Iu4TZT'>-VW>/HC;~> -!< -!<.G@8!rZMbB*-P6He< -!<=C)AHOml-el<$!k!G2rW!$/)_F&.4UF(s)[HED(0.0b\*X97#QQjLAI&nT4XgC3!#mor4TZ0# -g\pLD7fY,()Z\Xim01]>"W%0_rTsj6!#n'a,QM]Vm/g8f.JZ+.$kcsQAH=@_J,~> -!<=:'7KZ1T@,\lf$/rLN=\MLqIA4R2ap5M@Cem`-L;:Fg"Kl-+7nDo7%n$Clb#Vo^F%fWGb0%:h -LA^ECiE93tN(hk"m/tC+9Mt`T#,+_ib-=`Zq!A-p9Q^'P!< -!<t\5DK#'!;BfY(*bplbc,96p -!<=^3AHPg1*o"Hs$/;7U('"=?(F_>s4U3kk%flYG -!<!.pq=Y3kVg;-(NUN(h:h -m0L -!<<>;N`0!'q:GbJ!#Mjo!>PTb~> -!<=C*AHEVQ[DD59gR(J:!!*KR1=A;j3$f(8!#BFq_!M8d-NFE3k[b8r!%02qOR;G2#R*1N,QP7L -m0KKf'/BPBR!m3Vm1.?g[I*?O -!< -!<,eO"Vh$NJkM.'P6QM0ES-1B -Nr"qEAP8h`:eOG_pQPSL"`_Q7PY6#kP6,;gX8( -!<=C+AHGa0D8Y`HgQ4o*!!*`]36XMj3$\n4!&8oV`pEuSD&**W3+1o\"YB^0(BE4hm09Qj&3Us4 -g\U:B<<+Em!<<*Ip[.q["V -!<=:(7KQ(WiPt6jiN@N$9M]c)_8aV%Z%Z4P:OB^sm0D7:D+mVn8OVZ0";2HlD.*;/"dMcUN(h:g -m0MZY -!<"_LY4>,_M":Q+!EE)k""`-i4PY6W) -P6d1J -!<=^4AHEVQgW&UdgQ4o*!!*`^36")c1)gAs!Crs/m0Cj`0`V1h3+1iZ"<%J-&0Cc:"`45g,QP7K -m0MGf"ZA=l,QM]Wm/l#B)u_u%1''-)m/j9f'DFWk&cc=DAH=@_J,~> -!<Gap+S^:J=oVa3s>\f<0j99MA;W8E3/C6i\fT:NQI$#2rEj\kHu" -qX"@)9Pj^N!c1QNqX"@99ToCt!c1Q^q!A,jQ6N7KF;*J,~> -!<c0J0`_meJ,~> -!<=C,AHGa0?os4U*>K!< -!<Bap5bGAP>m@Y2S=+rSdds"LFeVF&Dp1"%Q$U7,^T=1]Sh)AsN8\ -#aJ)bN(dB>^t8MO#aJ)Hb0%:r=lK8F#I@*ub0$/HQ2'_JThLXDao\gJ-*Kc=+TR#~> -!<u(Al"%Pa:0&\Mg,60)i=)@bt -#]*/CPY4qkIu4)e#]*/'f\"2E;i^a=#C/tCf[uumD"s1qED)eqfE/_d(U#Oo'``a~> -!<=C,AHFgkWlj]5Uf@[#!>?on4U3qm$ig;hOPA^\rS.@["IOU;3XG]b!u<@a@,YZ#8H9)5-Z/bJ -#]0Ps,QJTsWm(D.#]0Pf4Zt\,(>J`R#FGK?4Zt1nD> -!<>f>kM+Q%j?l-2:167fl7D7,:<6,ljk< -m02*8IEJ9jr_*b`d~> -!<&8J@mZRs;M1U,!Ch6mR-hp@77fke90&85`(BA=I -P6He9K%R,3r_!6&r0%Cf:qbN6X&)u[r0%=r9?l,6<`JjX!f9Zcp=KG)!$e[%!>5B_~> -!<=C,AHF=]gWf*j[;?ZZ!"^P<[64dN(Bjd=0l<<%md1>8bdF7.D,iVE$MXW$('6H^@,5Aq1'!a; -m01]6(Hj2QrVupur9Xb;!AZf$.020Xr9X\g!'!,$"WmI+!mCoYp,rI)!(jA*!@.Yq~> -!< -!<e+BUd8MfE/+*@/W_1;d*U@;bm3_"]/S]!%(,44T@:j -0`_[hp6,M\1&O!`B"PY;$%m!.Y~> -!<=C,AcEOlm0Cj`-NF,T,ri(k!\"okr;[EF0h4`N0Ts&.H[ -!?)UEm/\pFr]LBB-kHBYrTs[1!"Aii![Ib9rTsjE((<>h(BCK1m/fcX1A3j4(B@dFAH=@_J,~> -!<D1.+sR\I('b.7uj7*nC(!(chN!hi -!<t[guMoMaK#KF*7JpD$1 -!<=C,AH&/Q92-n-o24Z3NX@*iHc!)iOX!dt&, -rB13A!@Rg4!dt%fr]LZ/!(Yf2m;2hO4Z3:1q!A-j!#P;k!=BIBAH=%VJ,~> -!<b`d~> -!<t_6Cf[u*T -=*\4IES/o_98WG-!`rFBp=KGk!#;Xk!>5B_~> -!<=C,AH -!< -!<`VLM,$]?Ph=Wa -:eOH5c.JLYD"s1qGtXCpfE.NB*j.3u'``a~> -!<=C,AH=7\fBigeI3&@g&1BMo4TdD=+CNQ-!\sbUrp9f9!!*,u!!!]/4TZ#tbl-o?bQn1L,X":= -!<<*93'APfD> -!< -!<]hho,P6"T_qq)4qWM6iLf[ss>/Zpf/&cdF~> -!<=C,AHFgk[G(!PUdkCb#UD<^4TYrj>0ga]+;3H.m0G'F6Tm"H)]L7%4T[A=3rJ@T[?**C.6TgP --oO4O1''-(m/[t+q`P6V>[^Pu4Zshd>-;E;,QN>~> -!<Y--es\!''rE!FTa6ao[8jY5@SfiDF^naoYmHfD+_7W(`ZY -aoT%jr) -!<389FA&G. -fE'$Er*fbrdPV$,0`_meJ,~> -!<=C,AHGa0D;FR`b\\*q!>d>?4TZ`+1 -!<q,@E0$l?$8!>b`d~> -!<5B_~> -!<=C+AHEVQgYhH'O>-_8$mdlb4T[28'$b%i=o`^Dm/\pFnN?t6#Su1lm/\pMq`P!"!/L@:!o"Ir -rB1-Zq2>B"#9^-[!@.Yq~> -!<b`d~> -!<5B_~> -!<=C+AHG0uD<(!fbZ+oK"W&qF4U!u9$347;cXd/C!1EfQ".0'!2Y'!4/HA< -!<Q?(p7KOA+iV`'OPtXkfKqbQO]!8?A_>D@VI8%!Fm/^@, -r5o(P;:kU1!o[9grlP8[AGB+*/-%N/7KF;*J,~> -!< -!<=C*AHEVI[H?i\bZ+ZD&.(%A4oRSG)uqb=AHF+Wg\gFED#aPH)_!?o2Z>H33;Yi?(BBj#m/[t6 -r&k)i#gE)2!o"Irr]L9LJbY0*8cVGbAH=%VJ,~> -!< -!<"b2fDps+@KI_R0!-i/&cdF~> -!<=C*AHPg1*o#rH#c]oc!%Ll70am/kL3(AIk2#T#8q4TdYL#gE87!?MgN -4TZo0IJ<+1O8p^.4TK?nMuka7@'*u@,QN>~> -!<b0$eZ -F8bJ,AnCta!l7oLp?_lg -!< -!<=C)AHFgkE'!,XF,QN>~> -!<b`d~> -!<5B_~> -!<=C(AHF=] -!rs-,7#j_>5>4a_]CkOnf;O$nr_*AT7R[,C"$\=:9nURi9`QK_7KXG,9ZQMe&]\9QR``ch9U459 -9T7-:YtTNb`d~> -!rrrg/rhXh018H7I.`[0M0*0$91qZ90eW>X""thu;M3U';?.NV0`r$g97lMo&V5B_~> -!rsTX@#ee$?n).(V"O*]b_J[o!!"K8ARPCH"(4Fq(P=jP(B?56AHO1X!4D1\&[`Y[-p9^(!,]rI -!$j]j1&si -2ujaa7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R+d[ -s$R&_9MATSY/gOn"Mh@/HWg;@"A)!N7R[#@!Z(iqKusIZ4Y3YHZf4Ig[b/%Zg9EnP6 -b0"QsfD"Y6a%V3daoJ./ -2ujRG0eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770e^F! -s"4L<91r3"GCogN"Fk]5@8m.u"[kI*0ek5B_~> -2uk48ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARNDe -s'Q$j!!!dOOL>)3"KIi+7i)(("Y)K>AS#9EAHEtS,_\A_+oib.AHNPM!0HO6#0\Fq1-IT*rW!-+ -3'BD9!R1<*!jr"Ir]L6ap5B&4!+)a -Er["G6q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R6 -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5PmnO -5"S9>9E\3_8Ou&97KYgS%(_5:"cNEj5=S&c7KbmT*DD4Qm/km:?N/(QWJm"Ob0$\WQ1jSHL.o2X -aoI\$)\#3:7KF;*J,~> -ErZh-/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70DdI* -0K_l#9*A![4>eh`0`s*0'#o^Z"dAun0/5*(0a'01,"lM4P6-S9@/edaZ]ps!f\!N'D"a%oAP:&B -fDqZ@@K_"b+pfm'0`_meJ,~> -Er[Is?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W@/FL: -?8r_q!!EQC3)X)RAHQ6=#<%?#"XF'\?tE`jAHZ<>1&t>>m/kK;#lZsm/L2W#4Zt@sD>*>u<<+rV -4TJpcN!,rn-k]phAH=%VJ,~> -IK10R7Qs:25"8"*7RfR27Qs:25"8"*7RfR27Qs:25"8"*7RfR27Qs:25"8"*7RfR27Qs:25"8"0 -7RT^67RT^67RT^67RT^67RT^67RT^67RT^67RT^67RT^67RT^67RT^67RT^67RT^67RT^67RT^1 -7R'@17RTF2r(6oZ(I(AW7RT^17R'@,7R'@,7R'@,7Rf3715O'VTaUo\7RYHi"=sO99j-`J!j54[ -q8rbM;:kR0!oZgprQ5+kq,@K?Z)[j@X%!++!.Y~> -!<"G$fE,_]M>*28N_=ZrfDps-@K_S0_Z1=M0`_meJ,~> -IK1X)ARK(\?tEnWAS#7\ARK(\?tEnWAS#7\ARK(\?tEnWAS#7\ARK(\?tEnWAS#7\ARK(\?tEnW -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARJhBr&F^S(LUf^ARK(WARK(WARK(WARK(WAS"F5%#@%M0a@\^ARN_n"@<*!(Dc9&!g!C. -q)ncf#gE&1!o!\grB1-tq2>HWbfBc0X(;;W!.Y~> -IK10R5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,6q0R66q0R66q0R66q0R66q0C1 -7Qs:25"8"*7RfR27Qs:25"8"*7RfR27Qs:25"8"*7RfR27Qs:25"8"*7RfR27Qs:25"8"*7Rfd8 -6q0X07Rfd6+%AIa5=Rk,7R'@35"7q06q0R66q0R66q0R65=QdrA;\M4Ym^Ul7*7t&+TP#/9Yfo[ -!FSt)ao\P9Q1jSHThMHaaoH\^-J,h/hX@<4,!.Y~> -3<0[H0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7/hnt5/hnt5/hnt5/hnt5/ho$! -0`is^0)RI(/dO0b0eY770ek?[0bQ)n/hnt5/hnt5/hnt50/41ACPpaI]b1;s0$5mP'`_E=97Q2i -!E<+rfE/BPD"a%oED*Y:fDp[%@KjZjP5lXVX>'_g!.Y~> -IK1X)?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -ARK(\?tEnWAS#7\ARK(\?tEnWAS#7\ARK(\?tEnWAS#7\ARK(\?tEnWAS#7\ARK(\?tEnWAS#7\ -?tEnWAS#7W+(\hk?tE_WARK(\?tE_W?tE_W?tE_W?tE_W?tCni*f<)`1'[e_@*3$a/HBfa!35;N -!?MF@4T[28D>*>uI/kkt4TKU"N!7;HNW;=PXCVDX!.Y~> -FoW=J7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@+7Qs:*7Qs:*7Qs:*7Qs:*7R'@, -7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@17RT^67RT^67RT^67RT^67R'@3 --pC*g7RT^07RT^67RT^67RT^67RT^07RfR27Qs:25"8"07RTHR!/ulZ$G%8Y1djet7R'@,cUJ'N% -9-5!Hg0o!W(`r_aoZBViV)X>AmYDX!-n?>#$eF<=TCELX@<4,!.Y~> -,QJH30eY770eY770eY770eY770eY770eY770eY770eY770e_rL4>/EB0eY770eY770eY770eY77 -0eY770eY770eY770eY770eY770eY760eP150eP150eP150eP150e`J[!\Q2[r\4g60eP150eP15 -0eP15oJ$P&0eP*f!0iGp$H=1g,;(](0eY77cS5S3$"@46@HisWFA&\3fE-"eNqSY;=((sY!/C>Z -#&D<$B)jM9X>'_g!.Y~> -FoWe!ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(\ --t$UoARK(WARK(WARK(WARK(WARK(WAS#7\ARK(\?tEnWARJma!$mLd$8r1j8RQ+;ARK(WcXd7u -&r_)98*TCBLB&e#4TZ-"g\1"8-OBW5!-J'r#*[9TAcQ"BXCVDX!.Y~> -IfL9S5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rh+5"7_*5"7_*5"7_*5"7_*5=Rk, -5=Rh+5"7b+4s3d:Oc!3/Kh(BAs~> -?N:]n0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70CCOt0/5+70DmO)0Cgh)0/5+70/5+7 -0/5-X0`s!6'!.,G7)gSS*\K0"0eP150eP160eY770eY770eY770eY770eY770eY770eY770eY77 -0eY770eY770eY770eY0[,%>"L:kItr!fg*/r7D([95O -IfLa*?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?m'#gARK(WARK(WARK(WARK(WARK(WARK(WARK(Q&dL.O4[_18!'jq'?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_R!&BLl.KQsBm/l#C -(]6Dt1&u1bm/jZq,lBe*D>K1oPK_6.!30T2,QN>~> -!rs-,7XmWl5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=QYX7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7Pk)d\rb''_(>X57RfR27Qs:2 -5"7q06q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0R66q0!5/6#SH9Ps%] -!HV<>aoZZ\fCnS5Pt\deaoI:o<<'!"%2,[1!>b`d~> -!rrrg0n1i20/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/4J#0eY770eY770eY770eY770eY770eY770d?Z@`fSgTbqT27pG"TZ0eP15 -0eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP1*!&J(n?;"JdP6"rir7D'r -:l4n0!c1NLr7D"9q-sBA!=9170`_meJ,~> -!rsTXAUe*!?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tC?dARK(WARK(WARK(WARK(WARK(WARK(WAOuk.2NU'j3"5jCAS#7\ARK(\ -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tDn08rS^S!& -IfL9S5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,59`Q]7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@35:cd\_32r,_(l!:7Rfd86q0R6 -6q0R65"8"*7RfR27Qs:25"8"*7RfR27Qs:25"8"*7RfR27Qs:25"8"*7RfR27Qs9f!(6`b!`2RU -lKnY<9Y15G!l7QWp$Dc_Ac'UMPke99RZ@Fp7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@, -7R'@,7R'@,7R'@,7R'@,7R,Zt!>b`d~> -IfL*90/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70-W,(0eY770eY770eY770eY770eY770eY770eY790-UBDc'$]hbr#J;0ek:8/hnt5 -/ho!+0`i-k:B"](=%dApP6,Pn`r=TlbtDL -IfLa*?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?m9/iARK(WARK(WARK(WARK(WARK(WARK(WARK(\?pXi#30HEj3",dBAS#7\?tE_W -?tE_W?tEnWAS#7\ARK(\?tEnWAS#7\ARK(\?tEnWAS#7\ARK(\?tEnWAS#7\ARK()!-/!s!_WN1 -lKnXi!&jg>!]U0Mp$Dbq%/W0f@JPj>[\a$[ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARO;)!@.Yq~> -!rs-,7XmWl5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Q\Y7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'?g!'$1b6,>;V,sFd_7Qs:* -7Qs:*7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7RT^67RT^67M5_! -!rrrg0n1i20/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/4M$0eY770eY770eY770eY770eY770eY770eY6t!'HIt#0f"*(GRWtpb=KV -0eY770eY770eY770eY770eY770eY770eY770eY770eY770eY760eP150eP0h!;p:-6r7^cP6-#& -Zi8SYPY6W%P6->/Pl')5[eXB;H$9650eP150eP150eP150eP150eP150eP150eP150eP150eP15 -0eP150eP150eP150eP160eY770eY770eY770eY770eY770eY770eY770eY770eY6o!.Y~> -!rsTXAUe*!?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tCBeARK(WARK(WARK(WARK(WARK(WARK(WARK()!"b>W5r]8Q114[$ARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WAJtRHMukI0 -D -IfL9S5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,59iW^7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7RfQb!'QUi9YiIa+[8F\7R'@, -7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7Qs:*7Qs:*7Qpf/S#UX2 -<)?:_L>hOe!ln!'rlP7J@.imgPt\ddaoK!I<*M0Z5=S%15"8"*7RfR27Qs:25"8"*7RfR27Qs:2 -5"8"*7RfR27Qs:25"8"*7RfR27Qs:07RT^67RT^67RT^67RT^67RT^67RT^67RT^67RT^67RT^8 -(BAs~> -IfL*90/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70-)c#0eY770eY770eY770eY770eY770eY770eY77r\4Hh!'un&2U+)Z'e_9p0eY77 -0eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77pb<12!'.!FSn"P6,Pn`r"Bga7s*H3<1]e0$uC#/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5 -/hnt5/hnt50bOJ:~> -IfLa*?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?mB5jARK(WARK(WARK(WARK(WARK(WARK(WARK(WAS#7$!"tP[9K3F\/RW-tARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WAR5?t^;?q0 -N.r,K~> -IfL9Q7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@, -7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@, -7R'@,7R'@,7O12f5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk*(B?Ubb!W`l!$sj!5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rjo!,;G; -!-\?@"ADToW8[44#M2Y.b0$t_U%RdRF'e[b!+bn)rs`+#5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=S%16q0R66q0R66q0R66q0R66q0@07Qs:25"8"*7RfR27Qs:25"8"*7RfR27Qs:25"8"* -7RT]^!.Y~> -IfL*60eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77 -0eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77 -0eY770eY770dJD,0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+4&cb4afL*Y5!#I:C0/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+)!-eF` -!/gbb"@Q'bFH5gR#Dl* -IfLa%ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WAL(Yp?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_R,QJID4[V+:!&@qn?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_;!-nLe -!3?*X"=aEfLYM:b#L!/n4ZtP#IJ)t.3XGOE!.js)rt8IG?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_WARK(\?tEnWAS#7\ARK(\?tEnWAS#7\ARK(\?tEnW -ARK'p!.Y~> -IfL9S5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5:&c`7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@358O;_RE@q/,lf5\5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5:$;q -rilL)>lI\5;FaDmH`49EL3muRD0qu8qs=X?9T7-:KhU+km/^")q8r\gqG^]p!$OQr5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5"7_*5"7_*5"7_*5"7_*5"7_*5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5"6=gJ,~> -IfL*90/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70-r>+0eY770eY770eY770eY770eY770eY770eY770eY790+n7NRFjpI-NFr;0/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70,FVg -rl>,XC].]P7nZoqFEqk;@9lr<@<%>)P6Zq;Ph=WH98W>*!Dn(;fDps.@NSeS'e_9p0eY770eY77 -0eY770eY770eY770eY770e_lJ+tkZ(0eY770eY770eY770eY770eY770eY770eY770eY77r\4Ed -!.Y~> -IfLa*?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?mTAlARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(\?mG^bR6o!DfKSPqC -IfL9Q5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&7R'@,7R'@,7R'@,7R'@,7R'@, -7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@, -7R'@,7R'@,7OLDi5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=?:f4i*Z27'Rd5/O)]o -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -&e4cD!-\9>!`i2sr_*Sn -IfL*60eP150eP150eP150eP150eP150eP150eP150eP150eP150eY770eY770eY770eY770eY77 -0eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77 -0eY770eY770deV/0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70.mk;6-YqP7(j]C*\T6& -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -$jljQ!/g\`!`r]7r_!MnF99e)]?s!#b!eO(7q:G\UqI3\s!$X-N0eY770eY77 -0eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77 -0eY770eY770eY770eY770ej:@J,~> -!<=D#@!lNnARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARJmJ,QJH:S397q#lm4uAS#7\?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tC5hr6,/Ar/:\\H$TAh#QY)7%h&I=(\!h$ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(\,QN>~> -IfL9S5"7_*5"7_*5"7_*5"7_*5"7_*5"7_*5"7_*5"7_*5"7_*5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5:Auc7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7Qs3`!&D-Wb!i!4!%gE) -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=>r1r366UqG[QJZ)P#*ao\P9LA^ECa%VZ=\kJC^m/itTZ1uHAAG]>2,QKen5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rj\!.Y~> -!< -IfLa*?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?moSoARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARJmt!":cW4[h(1!'jq' -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?sjU#r6,/>qMYMn1+b9Y4T[28 --3+iM5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_#ImuUi5=Rh)5=Rh)5=Rh)5=Rh) -5=Rh)5=Rh)5=Rh)5=Rh)5=Rh)5=Rh)5=Rh)5=Rh)5=Rh)5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=@t*+T_WbZ(T6/Oph=I -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,4oe.OYlJ_=;uiWeao].JLA^ECZV7@@P"`phm/_9/pW ->Q>Bh0.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn20ek:60ek:60ek:60ek:60ek:6 -0ek:60ek:60ek:60ek:60ek:60ek:60ek:60ek:60el?S0/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70.nt4'`]AiT\)`'&ca.0 -0eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77 -0eY78!*B*>!.+KN!3c1M!ldlEr0%>19=*9?97li#!F8b#fDq98@U'WS/ho"60/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70+n88~> -!<=D#?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd; -?qP! -IfL9S5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=@_*5=@_*5=@_*5=@_*5=@_* -5=@\)5"%S(5"%S(5"%S(5"%S(5"%S(5"%S(5"%S(5"%S(5"%V)5"%V)5"%V)5"%V)5"%V)5"%V) -5"%V)5"%V)4t8rb7Qs4)7Qs4)7Qs4)7Qs4)7Qs4)7R'@,7R'@,7R'@,7Qs%+4tQaCSta@tHN4%& -7Qs405=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5<&XGr366,r)D@VFA0aQm0/bK]#o+lo^)ZTFSEoX\boE4:]M;$5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,(BAs~> -49-!K0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70.nn40.nn40.nn40.nn40.nn4 -0/!5Y!&"7*!&"7*!&"7*!&"7*!&"7*!&"7*!&"7*!&"7*8hMbO0eP+60eP+60eP+60eP+60eP+6 -0eP+60eP+60eP+60eP+60eP+60eP+60eP+60eP+60/5+70/5+70/5+70eY79*WQhPU=_th!!"5u -0eP160eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77 -0eY77/HBG]a8g#R@Kg%HH]+]Eqq(sq97m)*"`-iOfQg6aP6"L*pXfJdr*ir;!"q">0eY770eY77 -0eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77 -0eY770eY770eY770eY770eY6o!.Y~> --3,<&?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_Wra5_;ra5_;ra5_;ra5_;ra5_; -ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_; -ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra6FO?tE_W?tE_W?tE_W?smPR5QD$CU-2!m!!#T% -?smPRARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(W=o`14bQ*k)N!4rp+r_piq`Ouo!4Dal"`45t4VJ+nm/[5$pH8LIr/=p9!$l,`ARK(WARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARK'p!.Y~> -IfL9Q5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=Rk*5=Rk*5=Rk*5=Rk*5=Rk* -5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk* -5=Rh$7Qs:*6n:Gj5"%S(5"%S(5"%S(5"%S(5"%S(5"%V)5"%V)5"%V)5"%k(6pEL.!.1Na86c-( -3(-/(5"%k)7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@, -7R'@,7R'@!!,;D:!1Ngb"'A5o;>s5oCm)'7XE7-jqs=Q(?HUDsD>!8t^eC3jaoI"k<*_fj/O)]h -7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@, -7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7Re0oJ,~> -H2nR10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10/5+40/5+40/5+40/5+40/5+4 -0/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+4 -0/517r@n:)r\4C*r\4C*r\4C*r\4C*r\4C*r\5*>0/5160/5160/5160ek:6,6.^sUtA4J!!t50 -/ho(50eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77 -0eY770d?[BrQ"u9r*fb49287]9*]F*]uIO,94e!a"^5 -!<=D"?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd; -?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?j1+L?tE_Wra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_; -ra5_;ra5h>?smRF?irt#!%"F(8/qUB>$t`L?smPRARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(@!-nId!4Mfa"(VB;#lXf/%j`th1(sXfqs=PA -#X( -GlSXM5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=@_*5=@_*5=@_*5=@_*5=@_* -5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_* -5=@mq5=@_(5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rjs%00,@W6.`K -4TH*Y6p=()7Qs4(6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p=". -5=Rk,5=Rk,5=Rgn!,;G;!NKE&q>t4 -7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@, -7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7Mc&T~> -GlSI30/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70.nn40.nn40.nn40.nn40.nn4 -0.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn4 -0.nk50.nn10/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+3#lmlOW7X_e -5l_%I>r)I* -0eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77 -0eY770eY770eY770eY770eY770eY770eY770bOJ:~> --3,<&?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_Wra5_;ra5_;ra5_;ra5_;ra5_; -ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_; -q-X26ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5qA?s40C(IP,a#riOt)I?fZ -ARK)q?k-aUARK(WARK(WARJ(0GlGnf_NXnV#>5'@mG"F:(An.4~> -IfL9Q5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=Rk*5=Rk*5=Rk*5=Rk*5=Rk* -5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk* -5=Rk,5=@_*5;#>g7R':*7R':*7R':*7R':*7R':*7R':*7R':*7R':*7R'+,5=@_(4q[iAZ)YrB -Xp:"Mgt0W7Un5#*hleb-=X=p$DcfAb=+FM>gI[)ZW>l -7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@, -7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@3(BAs~> -IfL*60.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10/5+40/5+40/5+40/5+40/5+4 -0/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+4 -0/5+70.nn40.nk10eY.40eY.40eY.40eY.40eY.40eY.40eY.40eY.40eY170.nn10FRq/]rK]l -[jM.g0/"q40eP-*0bQ)n/hnt5/hnt5/hnpXB?7uVC\qQB=%eSOP6?AWEHI'6P6Phr^"C"kFS1gu -<+tpV!13[o>p98'0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70bOJ:~> -!<=D"?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd; -?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?ijnIAc?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?'; -Ac?';Ac?'>ARJnWrEob7)?:+"W]^G>$32@N?iXd;?nc/"ARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARK(WARK*B?jC7H!+sHr[$1BG!_WOJr9XWeLOFs%qX"K(!&?\m!/L77 -!?M[A4TK0pN*Rh3ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WAS!+eJ,~> -IfL9S5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=@_*5=@_*5=@_*5=@_*5=@_* -5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_* -5=@_(5=Rk*5;,Jj6pF.*6pF.*6pF.*6pF.*6pF.*6pF.*6pF.*6pF.*6pF.*6pF((6pDst%"bS' -9Tfea/O)Wm5=@_*5=@n(6ps7-6pF(-5=@n(6ps7-5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_( -5 -IfL*90/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70.nn40.nn40.nn40.nn40.nn4 -0.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn4 -0.nn10/5+40/#%5/h\q4/h\q4/h\q4/h\q4/h\q4/h\q4/h\q4/h\q4/h\q4/h\h1/h\"@&rWjD -4IZr`*\T-#0.nn40.nk1/hSe0/h\h00.nk1/hSe00.nn10.nn10.nn10.nn10.nn10.nn10.nn1 -0/)uQs"=BQ,55OJ?:8o*P6Zq>E7igL96p5p!eO(0o[mU#EaiJX%kfXj0eY770eY770eY770eY77 -0eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY770eY77 -0eY770eY770eY-l!.Y~> --3,<&?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_Wra5_;ra5_;ra5_;ra5_;ra5_; -ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_; -r*TM9ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;qHsC\!!amQ4U*2;!'jq" -Ac?';A^=`kARK(WARK(WARK*K?i^6UpP]0!.YmQ]#L!Ga4Zt@sR.fnK[/_KE4^g^/N/R`Z?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W -?tE_W?tE_W?tE_W?tE_W?tE_W?tE_W?sk5[J,~> -IfL9Q5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=Rk*5=Rk*5=Rk*5=Rk*5=Rk* -5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk* -5=Rk,5=@_*5;>Pj7R':*7R':*7R':*7R':*7R':*7R':*7R':*7R':*7R':*7R'@,7R'@!%0/o0 -YKBUN!!"i?6pF((7R':*7R':*7R'@,6pF.*7R':*7R'@,7R'@,7R'@,7R'@,7R'@,7R'@,7R'@, -7R'@,7R':/5=@n(6ps7-6pF'U!)E8f!`2\5o'H[/9WZCZU.iArm/iPHZ1H+GWDl4b,sOU`5"%V) -5"%V)5"%V)5"%V)5"%V)5"%V)5"%V)5"%V)5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=Rk, -5=Rk,5=Rk,5=Rk,5=Rk,5=Rk,5=RgQ!.Y~> -IfL*60.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10/5+40/5+40/5+40/5+40/5+4 -0/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+4 -0/5+70.nn40/5(40eY.40eY.40eY.40eY.40eY.40eY.40eY.40eY.40eY.40eY770eY7+#lmK8 -YLlTc!!"5s/h\h10eY.40eY.40eY77/h\q40eY.40eY770eY770eY770eY770eY770eY770eY77 -0eY770eY.30.nk1/hSe0/h\gf!*f2,!`r3Mnrj;e9=NR+X%Rs9P6,Pn^%9la[UMu3(G@Er0eP+6 -0eP+60eP+60eP+60eP+60eP+60eP+60eP+60/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/50o!.Y~> -!<=D"?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd; -?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?ijnIAc?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?'; -Ac?';Ac?';Ac?'FARK(WARK(@&c`\*Y<;t/!!#Ug?iXd;?iXd;?ijnIAc?'=ARK*K?m'#gARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK*@?ihGNKD1<+9*)Hkm0?,]1-IcL!35b[!c7omo0!=W -N,\hQ?smRF?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?o_e+ARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARHb`J,~> -IfL9L6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6pF((6pF((6pF((6pF((6pF((6pF(( -6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF(( -6pF((6pF((6o$tp5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_#4r426 -N3^T'\i9[&3(,u#5=Rk*5=Rk*5=Rk*5=@_*5=@_(5=Rk*5=@_(5=@_(5=@_(5=@_(5=@_(5=@_( -5=@_(5=@_(5=Rk*5=Rk,5=@_*5=RI0'LVXp"0km0fC\G3ThL1>ao\#*a7em$?s`BG?\p<61d4Am -6p=((6p=((6p=((6p=((6p=((6p=((6p=((6q0@)7Qs4)7Qs4)7Qs4)7Qs4)7Qs4)7Qs4)7Qs4) -7Qs4)7Qs4)7Qs4)7Qs4)7Qs4)7Qs4)7R'9W!.Y~> -IfL*7/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1 -/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1 -/h\h1/h\h1/i#(40.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn20Fn." -Pd8q=`]O50/M8\20/5+40/5+40/5+40.nn40.nn10/5+40.nn10.nn10.nn10.nn10.nn10.nn1 -0.nn10.nn10/5+40/5+70.nn40/4[O'i+O5"2.`6M=cu5ED)5hfE.jAK(bB/<+,7K".(eD,Q9Ct -0)dR*0)dR*0)dR*0)dR*0)dR*0)dR*0)dRf/ho(60ek:60ek:60ek:60ek:60ek:60ek:60ek:6 -0ek:60ek:60ek:60ek:60ek:60ek:60eY-l!.Y~> -!<=Br@+AWf?6B4P,dKQ>2@oj,>$t`L?tK=F!+l.;!+l(9!+l(9!+k"p!+l.;!bGbNra5qA?tDn0 -(if>0"#:#qbk19(I/k5c4T[#3[J&tg*XM:!"_^L.8RQ-/?iXd;?iXd;?iXd;?iXd;?iXd;?iXd; -?j:1M?tE_RAc?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?';Ac?'? -ARJmk!.Y~> -!rs-%5CZ'b6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="& -6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6pF((6pF((6pF((6pF((6pF((6pF(( -6pF((6pF.*6pF.*6pE@p5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_(5=@_(7R'9l -!!#O#[E;F>'`]C@6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF.*7R'@,7R'@,7R'@,7R'@, -7R'@,7R'@,7R':*6pF((7R':*6pF.*6pF'U!"D^"ao\#*_"[3ta%VH] -b$IR<5=@_(7R':*7R':*7R':*7R':*7R':*7R':*7R':*7R':15=@_*5=@_*5=@_*5=@_*5=@_* -5=Rh+5"%S(5"%S(5"%S(5"%S(5"%S(5"%S(5"%k(5=RgQ!.Y~> -!rrre07PT//hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5 -/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1 -/h\h1/h\q4/h\q4/h\n50.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn10.nn10eY.' -!!#O/[FeEW(B>1(/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\q40eY770eY770eY770eY77 -0eY770eY770eY.4/h\h10eY.4/h\q4/h\gi!!um+@KheEZVX_`p6,T&95)TLfE.jAJ+o-.JkM?t -fK)M&0.nn10eY.40eY.40eY.40eY.40eY.40eY.40eY.40eY.60.nn40.nn40.nn40.nn40.nn4 -0E!U*0)dR*0)dR*0)dR*0)dR*0)dR*0)dR1/ho(60ej:@J,~> -!<=C#?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd;?iXd6?jC7N?pXhn(,iQ` -">C#[/RIIF)J*;f?tE_W?tE_W?tE_W?tE_W?tE_W?tE_WqHs;7r*TM9rEo^Q!"sq\N!4&]/HI6R -p?_sD!":jd4T[#3WqYl^[/_KA4TQ;urEoV:ra5_;ra5_;ra5_;ra5_;ra5_;ra5_;ra5h>?smRF -?iXd;?iXd;?iXd;?iXd;?j(%KARK*K?iXd;?iXd;?iXd;?iXd;?iXd;?jUCP?tE_RARHb`J,~> -!<6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="& -6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6pAj[+@JF^5=@_(5=@_(5=@_(5=@_( -5=@_(5=@_#7Q;1a%!/o#R6 -ao\P9]D([oL.o2Jb$H+u5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_(5=Rk*5=Rk* -5=Rk*5=Rk*5=Rk*5=@_(5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*7R'9W!.Y~> -!<,<"0.nn10.nn10.nn10.nn1 -0.nn10.nn20eF"<&pq+? -!<=Br@+/KeAQg>Z#9pW?"!.FB6N(:1ARK(WARK(WARK(WARK(WARK(WARK(WARK*1?j(%KARK*K -?ijnIAc?'BARK'^!!":!qht\O4Zt(k8,)BQLB%T>rB136!2TAV!`]4Yn3$dY')l8=Ac?';Ac?'; -Ac?';Ac?';Ac?';Ac?';Ac?';Ac,p9Ac?';Ac?';Ac?';Ac?';Abod7Ac?';Ac?';Ac?';Ac?'; -Ac?';Ac?'BARJnW?sk5[J,~> -!WX$)r]bQo5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S& -5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S& -5"%S&5",B7!(?fN!(?fN!(?fN!(?fN!(?fN&O\fI5=@\"5=@\"5=@\"5=@^257'_A6pEme%0.]C -]?43[/H?5>6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF((6pF(( -6pF((6pF((6pF((6pF((6pF((6pF((6p:TCB)inK;ugY2ao[8jQ29kNiJ($;])9\PYtUkdm/l6B -D=G\T\c -!WWicr\&FI0eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP15 -0eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP15 -0eP150eWGY!&"7(!&"7(!&"7(!&"7(!&"7(&M>dk0.nt40.nt40.nt40.o!T0*s6c/h\k%#ll?K -]@^2u0`VM3/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1 -/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/hd9!@fR_N@K:WNfE-t(D#0=uNb(js`r+Hj]h -!<=Br@*i9a64s8*.(_VF1(=3r>-qZ@?3!o -!<;:T -:PSZ3!gQQ\nB,*s!%^?&5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=Rk*5=@_*5=@_*5=@_* -5=@_*5=@_*5=@_(5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*5=@_*58O -!<nCV*4!$X'K0/5+40/5+40/5+40/5+40/5+40/5+40/5+40/5+40.nn40.nn40.nn4 -0.nn40.nn40.nn10.nn40.nn40.nn40.nn40.nn40.nn40.nn40.nn40+n88~> -!<=Br@*`3a?8;K\(,ETe"!n0P/_j_NARK(WARK(WARK(WARK(WARK(WARK(WAbod7Ac,p9Ac?'B -?3"Nf;ZJS-reph^r&k)m!0I-G"O%ne(HD7S!~> -!<f?Q_"2S;;U&OE]a&u*)prWV?D>EQ#iE9a\b$SBR3(,u#5=@_(5=@_( -5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_(5=@_( -5=@_(5=@_(5=@_(5=@_(5=@_((BAs~> -!<=5=?`N`0W[fO&+g/M8\20.nn10.nn10 -.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10.nn10 -.nn10.nn10.nn10.nn10.nn1&cdF~> -!<=Br@*N'_=s*eF(,j#m">USi&kT<8$33-=f1Q*!L5_<`r&k-A#QT;Pm/sa3!%@V*!G4(^m/l#X% -.?=_)us/M?tH -!WX$)q`fQu5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S& -5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S& -5"%S&5"%S&5"%S&5"%Rk6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&5 -!WWicq_*FO0eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP15 -0eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP15 -0eP150eP150eP150eP1;/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt50/"q2 -/h\k&$ig9;]uAV0EtSHc0J>(31&`gc/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/h\h1 -/h\h1/h\h1/h\h1/h\h1/h\h10)@4%/i!;X%PBIh0.mk;RE*3=!"rS(qUc(nBM2<9>"_\mpt,\_ -@TS'UP6,PnX7+\J0aTKc0.nn40/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+7 -0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/4(>J,~> -!<=Br@*;p]8K%R/*&>Jr"<[pL,[RZ^#p]MJf@*Xu,_g"/4UARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(W -ARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK(WARK'p!.Y~> -!< -!<BFRRi`blACT0*!X(0*!X( -0*!X(0*!X(0*!X(0*!X(0*!X(00Lp@/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1/h\h1 -/h\h1/h\h1/h\h1/h\h1/h\h1/h[h;J,~> -!<=Br@*)d[8K%R/*&>W!"=4?S&kT35$!I!=0W&pH8UhN#,"]m/j\@DXT^i -2uk5#?i_MQJ,~> -!<ss66p="&6p="&6p="&6p="&6p="&6p="&6p="& -6pEn(5"%S&5"%S&5"%S&5"%S&5"%S&5!MG!6p="&6p="&6p="&6p="'/-$BQ_80gc'qX[4"DLh3 -9ZR,!"6!WiAFIYIScC'$6p="&5=GK8!(?fN!(?fN!(?fN!(?fN!(?fN!(?cM3^c/"5"%S&5"%S& -5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%V'5=?:fJ,~> -!<M8#abc%AYi]!#I=B0.nn2/ho!W02jJX/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5 -/h\k10eP150eP150eP150eP150eP150eY.6/hnt5/hnt5/hnt5/hnt3+oi@Ta2`B((THZO"F"bEpqWeW;m_f/hnt50/!5W!&"7(!&"7(!&"7(!&"7(!&"7(!&"4'3\E->0eP150eP15 -0eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP+30.mk;J,~> -!<=Br@)lXY8J2"'(,3ur"XjcZ!&@l]?jT."(q/&JGQ7q%krf/oN(X/YrTs^A*b9ij4T[;;18S@Z -,QN>~> -!<K6p="&6p="&6p="&6p="&6p="&6p="& -6p="&6p="&5=@\'5"%S&5"%S&5"%S&5"%S&5"%V"6p="&6p="&6p="&6p="&5=@%&!-uDsOpqD4 -lcK^U<)cam@,^M?iFYbc<4VM@#BKl%5L6p -!< -!<=Br@)ZLX8K\!5%4=-`4U!,?!!"TSW*fou!!%](f9R$L,3qB%6]?tL#ThafmFrugA;j(K4TZf- -8Yoeq,QN>~> -!< -9`R@A6p="&5 -!<'Fd]935S3[d_oY -;?/C(/hnt50/"q40/!5W!&"7(!&"7(!&"7(!&"7(!&"7(4"`0>/hnt5/hnt5/hnt5/hnt5/hnt5 -/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnsk!.Y~> -!<=Br@)H@V=sO(J#8T&G4U*kl#ljrN>,>U68J2#6f@RGZ!#@K[4TJF[N!`_g0p$5f!)&90;t)pO -(B@d -!<0/!,T!&"4'!\Q2[r@]0D0eP150eP150eP150eP150eP150eP150eP151&`g=/hnt5/hnt5 -/hnt5/hnt5/ho!W0+BNg/hnt5/hnt5/hnt5r\"X6/IVVB]#V]^!#M-mfDq9:@K9L/9*%ppraGko -nCRsg#qmnc/ho!X0,cGr0.nt30eP150eP150eP150eP150eP151&`gb/hnt5/hnt5/hnt5/hnt5 -/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/hmt=J,~> -!<=Br@)64U?9f,'!"'i(gcYif('ag>10UG\$Y -!<6p="&7/]=O6p=$;59*'T6p="&6p="&6p="&6p="&6p="&6p="& -6p=$;58$@J6p="&6p="&6p="&6p="&7/]=Y6p="&6p="&6p="&7/]=Y6p;Ce)kb$`IglBP](!iB -DZ!H8:f:3h;uh15apbi](IUGT5"%S&5"%U658HXN6p="&6p="&6p="&6p="&6p="&7/]>.6p="& -6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6p="&6l,iR~> -!< -!<=Br@(p"R8M(PT!"'c$j#mW*,Sp[c!#e+o?jg9d!%=o"f9?mJ(H1bG!.Fd(!etuGr/:VtnN?q3 -!$n@J!@.Yq~> -!<S5"%S&5"%S&5"%S& -5"%S&5"%S&rBE/-5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S& -5"%RN!.Y~> -!<B.L0eY77,8(:_!"qeCUs88Y"1O1u-iO)I$l:Mo0*!a*0*X-a0eY771&Wa,0eY9Z0,uT! -/hnt5/hnt5/hnt5/hnt5/hnt5/hnt5/ho!W0+oll/hnt5/hnt5/hnt5/hnt50)[FD/hnt5/hnt5 -/hnt5/h\k10eP+#!!%/^a0e&1&qof-nm_.A%"nU)0.nt30eP150eWDX(+q -!<=Br@(TeQ8L+oK!!a8^-ogQV"#;5D$N:#,)DYKb?j].!!.*8K_En5--1O.hN:B%4,lg9-?i_MQ -J,~> -!<!%jZ3aoK!C;uj2oapg<15!M8"5"%S&5"%S&rBD&c5"%S&5"%S&5"%S&5"%S& -5"%S&5",?61djMq5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S& -(BAs~> -!<(30eP150eP15r@\p=0eP150eP150eP150eP15 -0eP150eWDX1bLL80eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP150eP15 -&cdF~> -!<=Br@(9SG8MV4_!#,VK(*FtQ0etLD2E3HI-mTuX(((!))lG!Y>? -!<S5"%S&5"%S&5"%S&5"%S&5"%S& -rBE)+5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&5"%S&4r43L~> -!<_r@\[90/5+70/5+70/5+70/#'Y0+9NI!""D# -a2;*f!(!^[fDrAN@K -!<=Br@'sAF?:cmt)XdY0&g/bm>$dA"$sk1Z&r5)jdps'k&i')C!)rHI!*o+Y!]C$(UL4*J!.Y~> -!< -!<(6N@t\a#lm,ma2bDX!!#r0eY770eY770eY770eY140eP150eWDX1+k:60eP150eP150eP15 -0eP150eP150eP150eP150eP150eP150eP150eP150eO(=J,~> -!<=Br@' -!<c&ddDJ"u.bc -0/5+7r@]o\0/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/5+70/"q4/hnt5&cdF~> -!<=Br@"D^_?k$9b!"s"pf@RH(!!!HUqE4glnr*U#6hNSD2?skh?i_MQJ,~> -$31l+5<_:q5<_:qJNn]MXZlqF%0.)frkSf=cdnH!.jZ>!3u4>!a,LSW':MN5<_:q58O -$31\n0/5+70/5+7JM2R-XY0f%#lk]drl55I -!<=Br@"D^]?j'%6!#UCgf*8rm&c`+U1As?9D=NPb9D(FL('$[q?i_MQJ,~> -!<brJ,[7j[<3_p!$uE^b(9(^!/^El!g3NrTg&Po!.Y~> -!<"!%2isfT,K2!13E3!h0/uTe?EZ!.Y~> -!<=Br@"D^\?j0k%!!"F3rmqIuH7/an$6V)eD=NPbB_FRj,lejW?i_MQJ,~> -!< -!<87,<+?;epo3q]?pXfVX&caL;U+ZN[!.Y~> -!<=DA?@cL8@&RH;?7c-W.#6:Nf*JEf(]XOB3b4!:Mu\G'4TmMF!*W^'?i_MQJ,~> -!< -!<31#=Pf0eY170/#'Z0*!a+0*!_X0B=bk0eF+?!#91Yrl5,YR9Lm7!!a!5A9] -".Ko',G6[j&cdF~> -!<=C[?@cL8@,YJt=tK^S(j!guf)sL!A17EW!uO".EV>=k9DL^Q,mOEATO7dG!.Y~> -,QJWF5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!Q,4X$6YL5b`d~> -,QJH10J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50JBL]X"ON/0/;68!&9]k"u$i"!"qe[ -r5SoDH:J_K!"'Gb-o44c>$GHFLATU,Ud4t\,;GiE!>5B_~> -,QK)t?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=9j@JRFaN#$s%t!!c/_r7;%bKM*0\ -!"'Pu3(d_$EeB=0FSe3(-kZL[8Y9Ak,QN>~> -?iV!-5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!Q/5Zp+UU5b`d~> -?iUfm0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50JBO^ZnDJ80/_i\(?f0/:R% -$8F1f+q+GO'j$g@r5SuKM.fC+$2FQ(#o=3j(]==7&hT\.!>5B_~> -?iVH[?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=9mAJRHc2#[Th9!!!j>VUPIp"i?OG -9.1GK!!Eo=#6kD2!!+?KSmVRE!.Y~> -IfL9L5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q4rQXL5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5HI&O56=#554:]954q,?55[VN3$f"6 -!"D;@WqjI9Wh>&gBNRl!r&Y#]%4*ttSNd,k!.Y~> -IfL*70J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50H)Su0/,%50/,%50/,%50/,%50/,%50/,%500ISM(!V!.Y~> -IfLa%?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?5d3X?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I@'![h?jKpk&c_nE98(1Xf*B0nQ$RL^ -;cET\"99&i>$db-!@.Yq~> -IfL9L5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5#=I-5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_<55.j)`5!M4j+VObS"<0^NQF6;""b-Lu5!M7+ -56*nA56=#55.!NT(BAs~> -IfL*70J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50MjDV0/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,&\0YB%B0J>.4'b('A" -IfLa%?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?;P$9?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[6B?G'YL?=7/E/K4Tg"=QohVTJD\"dB!B?sm<3 -?i_MQJ,~> -IfL9L5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5(>d\5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5<]K?5!M4q5!M4q5!M4qXZlDB!'^BH"#qhJ%K-8?'J2[SFann,QA($Y -UP2_K%6-R9ffoI#q*+pE5b`d~> -IfL*70J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50Rk`00/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,%50/,%50/,%50/*ef0J>+50J>+50J>+5XYBE$!&4C*""b]0$2ji;'f8EbFbba?R>Hcg -W/4RU#q[eafe3=[q(De(0/:g,!>5B_~> -IfLa%?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?@Q?h?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?sX7L?=7)I?=7)I?=7)IX^:[.!+,Y4"'S#:')_eD(c=rsHBaYkVNmFD -[Zt"r&mA[LS6u@C!.Y~> -!rs-$5Nb4[5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:qIm6+]5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q4t&WZ5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_ -!rrrf0BY$=0/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,%50/,%50/,%5IkNK/0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50ISS.0/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,'30FBHe0/#"5,8Ut$$1n3!$mRLr0X<>31&EU)&cdF~> -!rsTQ@-:jG?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5IIpcSj?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?792f?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[6n?4((H?sm;I8MVP0'(c/*)G+?+?E7H7,QN>~> -!rs-$5I!D%5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:qIm6+]5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q4s<-S5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -rBL -!rrrf0+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50Hi)'0/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -r@e1)""b`A,5rVf+r;%>,;Cp`0]=Yc&cdF~> -!rsTQ@'O$f?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5IIpcSj?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?6N]_?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -rF#Y3"'S8_6N04S68C;_8RPr:?K#8m,QN>~> -!rs-$5Cl#l5(>d\5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5<`pK5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q5!M4q -5!M4q5!M4q55meH4p4)65 -!rrrf07bhN0Rk`00/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,%50/,%50/,%50/.5r0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50`Ea*0Ea$_0/#$Y0.ek20J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+5a"RN,!.Y~> -!rsTQ@"DYX?@Q?h?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[\X?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?N+@4?3FYB?sm=??nG\m?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)Ia'Jcl!.Y~> -!rs-$5Cl#15(>d\5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5 -!rrrf07bgh0Rk`00/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,%50/,%50/,%50/.l/0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50J>+/0/,%50/,%50/,%50/,%50/,%50/,%50/,%50/,%5 -0/,%50/,%4&cdF~> -!rsTQ@"DXr?@Q?h?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s\=j?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7(g?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5K,QN>~> -!< -!<+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>*m!.Y~> -!<=D#?3"Aa?E%7\?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5IF'r<^?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7(b!.Y~> -!< -!<+50J>+50J>+50J>+50J>+50J>+50J>+50J>+50J>+5 -0J>+50J>+50J>+50J>+5&cdF~> -!<=C=?3"Aa?E%7\?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I3+-'#?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I?=7)I -?=7)I?=7)I?=7)I?=7)I,QN>~> -!<$/5Cl"t5(,XZ5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q5<_:q -5<_:q5<_:q5<_:q5<_:q5<]k`J,~> -!< -!<=Br?KPPo@"DX`?@?3f?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?sY)YJ,~> -!< -!< -!<=Br?Ed`9@"DX`?:SC0?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I -?s[5I?s[5I?s[5I?s[5I?s[5I?s[5I,QN>~> -!< -!< -!<=Br?@cGU?3"Aa?E%6>?s[5I?s[5I?s[4d!.Y~> -!< -!< -!<=Br?@cF6?BSUr?mG`&~> -!< -!< -!<=Br?@cF6?BJOp,QN>~> -!< -!< -!<=Br?@cF6?BSUr?mG`&~> -!< -!< -!<=Br?@cF6?BJOp,QN>~> -!< -!< -!<=Br?@cF6?BJOp,QN>~> -!< -!< -!<=Br?@cF6?BJOp,QN>~> -!< -!< -!<=Br?@cF6?BJOp,QN>~> -!< -!< -!<=Br?@cF6?BJOp,QN>~> -!< -!< -!<=Br?@cF6?BJOp,QN>~> -)ZU[<3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3/'Ns6:KKi!^0%:JNeWKeij*N!.Y~> -)ZUL)/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/VPk[7oM.p0EOUF6g-6(0nD$00_$gt&cdF~> -)ZV-i>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>(p8aBPh/0?34YXAE[A"@"DX8?L_>&,QN>~> -"996%4uiO*!''sA!''sA!''sA!''sA!''sA1cRZY4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c -4ub_c4ub_c4ub_c4ub_c4ub_c4ug/<"%u]s;"-XN7nu]?mQLV6r`9(_l95;C='%hA5(Pog4olH" -J,~> -"99&g0J38X!%n1(!%n1(!%n1(!%n1(!%n1(1bCC50J+t10J+t10J+t10J+t10J+t10J+t10J+t1 -0J+t10J+t10J+t10J+t10J+t10J0mj")!d[Hgrcm0j8X26gcW.6iN5K6g??-B9JEVJM;X/nh:(W -!.Y~> -"99]R?<[>7!*]A.!*]A.!*]A.!*]A.!*]A.1g43h?AFB -!.Y~> -)ZU[<3'KMc5!Cqi3'KMc5!Cqi3'KMc5!Cqi3;u)A3;u)A3;u)A3;u)A3;u)A3;u)A3;u)A3;u)A -3;u)A3;u)A3;u)A3;u)A3;u*(3'KMc4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c78#s2 -3'K;c3'K;c3'K;c3'K;c3'K;c3;,N9<;ots4p"P[7J]1J8,QEg8,>CO6;UKFqE=mPr`9(ipHAXF -91AV>!([#i!)W)Ir_!;_69Y$+!([#f"&MWZ4b5eg4olH"J,~> -)ZUL)/MJk10JG(4/MJk10JG(4/MJk10JG(4/cIF(/cIF(/cIF(/cIF(/cIF(/cIF(/cIF(/cIF( -/cIF(/cIF(/cIF(/cIF(/cIFd/MJk10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t1;eJTS -/MJb1/MJb1/MJb1/MJb1/MJb1/bUjuM#NP;1&`j/0m8@OqChnQr/q%`qCi"AH[A9Z0E>bbOoS\[ -0EOaW;tr$H>5jZbHg`Wg1&bee>":sR0E>;UL]_g5;a^.1!&:c5!&9$Yr@e6b!.Y~> -)ZV-i>$bN=?=$fA>$bN=?=$fA>$bN=?=$fA>5hh.>5hh.>5hh.>5hh.>5hh.>5hh.>5hh.>5hh. ->5hh.>5hh.>5hh.>5hh.>5hhj>$bN=?$bB=>$bB=>$bB=>$bB=>$bB=>4u8&L]354@/aI7@"3rKqHa/Br/:VrqHa8;JUqM2?3#3KMu[nm -?34eaD>7E;ErM!tJaZnF@/b?OEbK"W?3#$FLBE$MD.N6E!+<*=!+:@arE]LM!.Y~> -&-*M14ub_i3'KMc5!Cqi4uiO*5<(hj3'KMc5!Cqi4ub_c5!Cqi4ub_c5!Cqi4ub_c5!Cqi4ub_c -5!Cqi4ub_c5!Cqi4ub_c5!Cqi4ub_i3;u)A3;l#V7nZ$06;UWX<)?Oj<)?Oj<)?Oj6U!s<-36;'Z;4p+,J:d+b@#XqBV7n#j569Y30"%#sg97];+4olH"J,~> -&-*=s0J+t4/MJk10JG(40J38X5:nQC/MJk10JG(40J+t10JG(40J+t10JG(40J+t10JG(40J+t1 -0JG(40J+t10JG(40J+t10JG(40J+t4/cIF(/c@@=>%]QD7sg&=LjOr)LjOr)LjOr):,#WGOpj]3 -0J,"XB4kC&0JG*X0E<^(0FTNe0J+t10J+t10J,$XOp!Hj0JISIOp3Wp0J+t4F8D%4;_TdW/MJc4 -P*1VT/MJb1/MN"[OoS#O0EtI&F"o@&6iN5K;u/0J8,\SNG5*cg7ftJ"0R!>V!f1nfqChn:q2tf+ -=u#e+"%SN;>50cR>%_J8kqE0/B1MSJ"%R]]6iA\G;eK9;;c?1V6SU=o0EXh$P%T>"r\+?c!.Y~> -&-*t^?$bN=?=$fA?<[>75?_B">$bN=?=$fA?5hh.>5_bCEd(ntBRtqiLOk53LOk53LOk53EF*M]N!s6' -?$bBf -N/WNu>$bB=>$d!`Mu[Pj?3Y7tI:-AfAH%MfD>IQ=B`3kiJ,!@IBEMXK?@Vj2!f)2;qHa/4q2>B+ -Ea\ZK")*XPEqirCEd)_ --NFrH3'KMc5!Cqi4ub_i3'KMc5!Cqi4ub_i3'KMc5!Cqi4ub_i3;u)M3'KMc5!Cqi4ub_i3;u)M -3'KMc5!Cqi4ub_i3;u)U3'KMc5!Cqi4ub_c5!Cqi9351o54DVS5#D5["@YL679'1d&k>,L3'K;c -4ub_i3'Ku37m9*rr]U7K-?o:-LX$3'K;b<;or+<'<3)3'K;c3'L18:@7m6Z3##nZ*:d.'3oiD,gr]U --NFc5/MJk10JG(40J+t4/MJk10JG(40J+t4/MJk10JG(40J+t4/cIF4/MJk10JG(40J+t4/cIF4 -/MJk10JG(40J+t4/cIF,0RNe^"B.!+;i(@7&m?tC/MJb1 -0J+t4/MLga=thW^r\+=NrfRG.0JG(4M#NP@6SL)G0PC3E#)Fre/MJk5rfRA>0JG*X0E=WBOp$Rp -0J,$YOoobW0N7t6#]h[O0J+t16\t`)$A_&$0J+t10J+u%qN:nI0SoLe!II?70E=K7Oo^A;q(Mf) -rf[+3!CM\AOoS\b0E=K37fYpU0E=K>Op"9/;d)Qa0F!>rP'\l:;tZ:RF8dinHiB0.0nD%Y0EDdd -J,~> --NGDu>$bN=?=$fA?$bN=?=$fA?$bN=?=$fA?5hh:>$bN=?=$fA?5hh: ->$bN=?=$fA?5hhB>$bN=?=$fA?$bB= -?$cE(EaE'Ura#SAreq#1?=$fAL]359A6rGG??c4(#)?Mk>$bNCrepr7?=$h7?3"[]\##^p#_? -;ZIUt4ub_c4ub_c4ub_c4ub_i3'KMc5!Cqi4ub_i3'KMc5!Cqi4ub_c5!Cqi4ub_i3'KMc5!Cqi -4ub_i3'KMc5!Cqi4ub_c5!Cqi4ub_i3;u)E3'KMc<;or!4n)MQ6N(!c4oe+K!^](7rE"P6r]U?!!.Y~> -;ZIFa0J+t10J+t10J+t10J+t4/MJk10JG(40J+t4/MJk10JG(40J+t10JG(40J+t4/MJk10JG(4 -0J+t4/MJk10JG(40J+t10JG(40J+t4/cIF,/MJk1M#NP;6h$6=8,\SP0ecf,Opc=b/MJk10JG(4 -0N7t6#"L@$/MJbhrfRCf0JG(GrfRG@0JG(4;uMj[Lg'b?"]I*,0JHH)Op?.a/MJk10PCBJ!,)9b -!*]Ab"*Q@M6iN5RLbLM70JG5;rK77Q0JG*X0ENg[8,8;LB/!ulOp5PN0J+t4BD.JnB.tnk/MJb2 -rK@17"YDD[0LLZnOoe--;t6"QB.u#PrfRCfB9JF6qChnQrfR>=0JN*]!_4q!rK7.8JM@*X!>5B_~> -;ZJ(L?$bN=?=$fA?$bN=?=$fA?$bN=?=$fA -?$bN=?=$fA?5hh2>$bN=L]354AFPNXB`3kk?s[mLN!k&?>$bN=?=$fA -?>]\##&%=L>$bBVrepu#?=$fGreq#9?=$fAD>fCoLN$bN=??cC-!-eEK -!-8't"+OW\AH%MmLL+:j?=%#prJUhl?=$h7?34;:B_dSgG@#LeN!=K0?$bB? -rJ^b_"^559?=\igMum[!D=NPeG@"U"repu#GDqK9qHa/Brepo6?=*5^!bbnJrJU_aJR8@_!@.Yq~> -7fX>h3'KMc5!Cqi4ub_i3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'KMc4ub_c5!Cqi3'K;c3'K;c -3'K;c3'K;c3'K;c3;u)P3'KMc5!Cqi4ub_c5!Cqhr`9/#5"kHJs%E>m!`2'LpK%\p5!Cqi4ub_i -3)9HS!_#:4r]U_4ub`!r`9=p5!Cqi4ucO@C56N'sc<;T`$90P=!3'Ke1 -r`9(rJNj&s!>b`d~> -7fX/U/MJk10JG(40J+t4/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJk10J+t10JG(4/MJb1/MJb1 -/MJb1/MJb1/MJb1/cIF7/MJk10JG(40J+t10JG(GrfR>=0PBs>s(D=o!d67rpQ>kr0JG(40J+t4 -/T^oS!`Ld)r\+>!rfRCS0J+tWrfRD*0J+t5rK78=0ed8>Op,n\0J+tkrfRLi0JG(40J/+[Op"9/ -/MMAIOp"rB0J/+[Op+3,0J+u%rK7Lk0J+t4/MJb10Q[&Q"&gm*8,\SNM#3>>B.tnk/ML-&Oo^A[ -qiUq_r\+C*0Lu,*!dcUQr\+@-M#*89HSBg9Ood3hHiB0/7sk5u#=C0s0J+t4M#NP==tiJ -7fXf@>$bN=?=$fA?$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bN=?$bB=>$bB= ->$bB=>$bB=>$bB=>5hh=>$bN=?=$fA?(-C/!c;7Ira#SUreptn?$c^XN!+0-?$bB=?@DX.")V@JB`3kiL\m#7G@"HZ>$c(FMue]^ -qhtMqra#Y0?>0=s!eFZ]ra#V5L\cr2JR3osMum0hJc:T/BS$/A#@q.E?oIoJUq/,?3);OJ,~> -=o]@&3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'KMc4ub_i3'KMc5!Cqi -4ub_i3'KMc5!Cqi4ub_c4ub_c4ub_c5!Cqi3'KMrr`9.r4uiL)!([#i!)WMU!*&r!!_#:PrE'"h -!*&nu#t7$;4ub_i3'L=@ -=o]0h/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJk10J+t4/MJk10JG(4 -0J+t4/MJk10JG(40J+t10J+t10J+t10JG(4/MJk^rfR>(0J35X!*]Ab!-\5o!AK?/OoeQ:M#EM: -=oaBWOpP&@/MJb10J+u7rfRFP0JG(41&[:80ENg[F8h=*=thW^F8_7(6SL)ZrfRG@0J+t4M#NPA -7kcMK0J,foOoU=;0E -0LodROoS#O0EEbHrfR@e0JQc/Op+3,/MJkkrfRIu0J+t10PC?I!-A+%!CpemOofta1&[790RNe^ -#"('u/MJk^rfRA>0ed8>OpuS5B_~> -=o]gS>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bN=?$bN=?=$fA -?$bN=?=$fA?$bNUrepo,?<[;8!-8't!.XlR!FCQ\Mumj(L]*23 -EWCmnN!X?->$bB=?$cFON!4E3>$bN=ra#V/AGhAkLOFSf?+Q\Mu[Pj?3+5Xrepr"?=7gON!3`u>$bNZreq&*?$bNUrepr7?s\'VN"(8WGB\I`It -=o]@&3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c -3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;sr`9=p3'K;c4uc=:Y5!D,/r`98"5!Cqi<;or&69[Rm4]MD^"\q6@4ucC<l -r`9)!rD!Jl90GI-r`9.t5#D5[#!G.63'KN*r`91l5!DgB$4p3i/3'KP) -=o]0h/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJbtrfRLi/MJb10J.AFOoS\`0EEaqrK718Hi9*1 -7kcMLM#NPCLbUS80J+t16iN5QLbLD70J,foOp-1d/MJc4rfR@N0JH#qOp+c<0J+u7rfR@N0J,$X -Op3Tl0JG(4BE"%sF"f1";uVp`HS@-*0O"I="*6.M;uMjZHi>](/MJk10J+tkr/q:t0J+t10JH]0 -Op,nY0JGkMrfRG30JG(4M#NP@7kcVK6\t`)"`l@L0J.JIOp+c+0RNe^#"('u/MJl7rfR@e0JIkQOp"];/MJdU0E`s]/MJmWOon'*0J38X -!%n1(!%n1(!%n1(!%n1(!%n1(!%n1(!%n1(!%n1(!%n1(!%n1(!%n1(!%n1(!%n1(3\<$;0J+t1 -0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t1o.U1X!.Y~> -=o]gS>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB\req)&>$bB=?$bBfrepqi?=%=DN!4')?oItJR2Yd??6%("+=K^D>fCnJc8s\>$bN=?$bNKrJUf%?@Dg3!dA$rrI"[$ -repi4rI"fuG@Y#srepo.?@i*7#%V%H>$bNjrepr"?=&3^N!+!(>$bD3?3FG<>$bP6N!!Ts?<[>7 -!*]A.!*]A.!*]A.!*]A.!*]A.!*]A.!*]A.!*]A.!*]A.!*]A.!*]A.!*]A.!*]A.3a,in? -=o]@&3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c -3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'KN*r`9=f4ub_c4ucO@l[ -dTD4ub_c<;or%69[Rm:B";u7m8mr3'I7B!`V?HrDsA+5!Cqi3'K;c4ubb' -=o]0h/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJl7rfRLR0J+t10J/+[Op=?+0J+t10PCBJ!G>@0 -Op,#@0J+tGrK7Ch/MJb1/MLB-Op5tZ0J+t4BE"%sB.Yeh1&d==LbLM7HiB04HS@$*0J.AFOonW: -0N7t6#BhdQ0J+t1M#NP?7kcVKF8h=+=thN^/OTN#!f/NtrK7PE0eb15/MJb10J,$VOp>VR0J+t4 -/U%,V"]I*//MKQjOon'*0JWNh"YDD[0JH#qOp!Hj0JJ=^Op*Qo0J+u*rfRA10JH#rOp?dp0J+t1 -0R!GY#u`N00J+t4/MM8FOoef@M#NP@0eb150O"I=",JZc1&[7D0eb:50JG(40J+t48,eZ5Lb1;7 -/MJb10J+t10JG(40J+t10JG(40J+t10JG(40J+t10JG(40J+t10JG(40J+t10JG(40J+t1r\+=( -r\+=(r\+=(r\+=(r\+=(r\+=(r\+=(r\+=(r\+=(r\+=(r\+=(r\+=(r\+=(r\+=(r\+j70J+t1 -0J+t10J+t10G4A9~> -=o]gS>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bNjreq(m?$bB=>$c7KN!=]6?]\##Cg&`?%IVk!f()mrJV,>?s[#C>$bB=?(?O1"`7RP>$bb$cXVMun$+L]359?s[#C??6%(",C8j@/Z#m?s[/C?=$fA?$bB=? -=TB6t4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c -4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ubn.76?4ub_i -<;ou!4p3i/4uc=:dTJ3'K;c<;or$4[(hgr`98&4ub_c6N'sf69[@mr`92$5!Ct* -55eR^4pEu14ub_i<;or#4[)jE=8kAb3'L=@ -=TB'd0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t1 -0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J,foOp?ds/MJb1/OTN##`(/d0J+t10PCBJ!CqM9 -Op?.^0J+t10O"I=#?*3./MJb1F8h=,;_TdW/MMPNOp"9//ML-&Oook]/P#c&#"('r0J+t^rfR@R -0J-r:Op5)D0J+t18,\SQ0J+t4rK7@P0J+t10So^k!CqtEOpaW2/MJk10JG(40O"@:#A5_B0J+t4 -M#NPA0eb150J.AFOonlA/Q;Y3#BhdT/MJb1M#NP>6SL)ZrfRG@0J+t18,\SQ7kcMKrfRJA0JG(4 -0JWNh#r++f/MJk10JJ=^Ooe!)M#NP@0eb:50So^k"'RB48,eY\HS@-*0JG(40J+t4/SG'G#\PhC -0JG(40J38X$nX.e/MJk10JG(40J38X$nX.e/MJk10JG(40J38X$nX.e/MJk10JG(40J38X3\<$; -0JG(40J+t10JG(40J+t10JG(40J+t10JG(40J+t10JG(40J+t10JG(40J+t10JG(40J+t1r\+=( -r\+=(r\+I,0JF+>J,~> -=TB^N?$bB=>%IVk#_u_i?$bB=IK#00D-gCP>$cdZN!*g#>$c(FN!"Q9>%mkn#%V%D?$bN=?=$fA??5q%#BsKX?&F7t#Cg&d>$bB=L]357A6rGMreq#9?$bN=?=&EdMumNrL]359?s[/C?AJN="*.^SB`'Kt)#^9TY -?=$fA?<[>7$sHtD>$bN=?=$fA?<[>7$sHtD>$bN=?=$fA?<[>7$sHtD>$bN=?=$fA?<[>73a,in -?=$fA?(3'K;c3'L+5 -=TB'g/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MLB-Op>VR/MJb1/R&.:%!+*S0J+t1/OP>WF$onh -&hu'l0J+t10P>`90J+t10J+u7rfRFP0J+t10`@.;0eb15BE"%r=thOTrfRb40J+t10J+tkHWi*T -0RNe^#"L@!0J+tkrfRD*/MJbTrfRMB/MJb1/MM8AOpk8@0J+t10J+t10J/+XOp5PQ/MJk18,eYV -LbLD7/MJkWrfR@r0J.AFOp>/E/MJb1/T^oS"%P%!;uVp`F"K("/T^oS%Wa -=TB^R>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$c7KN!FQ5>$bB=>&sV$%"2Gc?%EDII:W;8 -&n#$L?8?(# -?@i*7#&%=H?$bBLreq);>$bB=>$cXQN!sQ,?$bN=B`$bNPrepr'?$bB=>(-C/"))"ID>oItI9Kr`>(-C/%XhYe?$bN=AH%MiLL+/>reptf>$bBQrepu8?s[#\req;1?$bN=?=$fA?$bN=?=$fA?$bN=?=$fA?$bN=ra$":?=$fA?$bN=ra$":?=$fA?$bN=ra$":?=$fA?$bN=ra$+=?$bN=? -!<3'K;c3'K;c3(NsL -&l(VM4ub_c4ubMc3&j)]4ub_hr`9;'3'K;c3(!UG"]RHF3&jn: -!<5jZi -B.tnk/MJbTrfR@r0J/+[Op=?./MJb1/T^oS"%P$sF8h=*=thN^1&[7F6SL)G/MK[b0JG(4/MLi: -OpPbQ0J+t10J+t^rfR>(/MR-d">DD]0So^k"BmK20RNe^$qE!*/MJk10JG(4/OTK"IP!6*0J+t4 -/MJk10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t4/MJb1/MJk10JG(40J+t4/MJk10JG(4 -0J+t10JG(40J+t4/MJk10JG(40J+t4/MJk10JG(40J+t10JG(40J+t4/MJk10JG(40J+t4/MJk1 -r\+I,0JF+>J,~> -!<=DE>#\g3?$bB=>$bB?>&sV$ -&q+(i?$>69?$bB=>%mno"c$8f>$?^\MumZrB`3l!A6N;C?$bB= ->%%;f#$tJ>>$bBfreptn?$bB=ErM"& -G@"HZ>$bBLrepr'?$bB=>(-C/"))"EIK#0.EaDpU@/Z#oA6rGG>$blU?=$fA>$cFP -N!X]3?$h/d"C>8$bN=?=$fA>%ISjITg&]?$bN=?$bB=>$bN=?=$fA?$bN=?=$fA -?$bN=?=$fA?$bN=?=$fA?$bN=?=$fA?$bN= -ra#_2?="lWJ,~> -=9'.$3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c -3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'R:Bs#pTG4ub_c<;or-4ZGVb3'K;c3'K;c9E%um -8,bIX4ub_c4ubMc3&j)]4uc(34ubMu -r`9=n4ub_c4uc(3:-LX$ -3'K;c3'K;c3'K;c3'K;c3'K;c3'KMc5!Cqi4ub_i3'KMc5!Cqi4ub_i3'K;c3'K;c3'K;c3'K;c -3'K;c3'KMc4ub_c5!Cqi3'K;c3'K;c3'K;c3'K;c3'K;c3'KMc4ub_c5!Cqi4ub_i3'KMc5!Cqi -4ub_i#<4n,5!CqB!.Y~> -=9&sf/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MR-d#;Ina0J+t1M#NPG6S0uD/MJb1/MJb1BE"%o ->5g)`0J+t10J+k1/M/Y.0J-K-Op5PQ/MJb1>5jZfB.Y\h1&[7:0J.AFOq)Ob0J+t10J+t1/MJb1 -8,eYUHS$p'0J,ZjOomBi0JNHg#=C's/MJb16i3#UF"f1"/MJb1/MJb1/URJ[!/UW;#%oVA0J+l' -rfRLb0J+t10J-K-Oof8M6iN5SLbLD7/MJb1HiB016SL*JrfRCS/MJb[rfRe=0J+t10J+t10J+t1 -0J/+[OpOW10J+t10J+u%rfR=]0J36d""c2Y>5jZfLbUS81&[7D0J+t4/MJb1/MJb1>5j\7F"f1" -/MJb1/MJb1/MJb1/MJb1/MJb1/MJk10JG(40J+t4/MJk10JG(40J+t4/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJk10J+t10JG(4/MJb1/MJb1/MJb1/MJb1/MJb1/MJk10J+t10JG(40J+t4/MJk10JG(4 -0J+t4#;%V]0JG'k!.Y~> -=9'UQ>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$h/d#@LkA?$bB=>$bB=GQ*O$ -ErK5P?$>69?$bB=ErM"#G?S0V@/Z#c??$bB= -B`$bB=AG_;pI9p)`>$bB=>$bB=>(Q[3!/LQ4#'XBW?$bB=Jc:T1A6rGpreptn>$bBQreqA=?$bB=>$bB=ErM#II9p)` ->$bB=>$bB=>$bB=>$bB=>$bB=>$bN=?=$fA?$bN=?=$fA?$bB=>$bB=>$bB=>$bB= ->$bB=>$bN=?$bB=>$bB=>$bB=>$bB=>$bB=>$bN=?$bN=?=$fA -? -=9'-s4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c -4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c4ub_c5!o6M!*&nV!^8S,r`9P.4ubMc3&j)]4ub_c9E&!* -76W[p3'K;c3'K;]4ubMc3'L1< -=9&sc0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t1 -0J+t10J+t10J+t10J+t10J+t10J+t10J+t10Lu,*!/US*!\c2nrfR_H0J+k1/M/Y.0J+t1BE"&, -;_TdW/MJb1/MJb.0J+k1/MMAIOp4i:0J+t1G5dX-;_TdT;uVp]HS$uNOq'u6/MJb1/MJb1/M/Y. -BE"%uB.Y\h/MLB-Op#hX0J,foOpQpr0J+t10J+l4rK7V:0eG(20J+t10J+t18,\SN>5jZgB.Yeh -0J36d#;Iea/MJb1F8h=(=tN\POp?.^0J+t10JWNh!\c2\rK7:;/MJc'rfRap/MJb1/MJb1/MJb1 -/OTN#$&C8e0J+t10J,!WOod?l/cCh7/MJl7rfRCf0J+tWrfR_;/MJb1/MJb1/MJb1HiB1X;_TdW -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb10J+t4/MJk10JG(40J+t4/MJb10J+t4/MJk10J+t10J+t10J+t1 -0J+t1s"FU.0J+sk!.Y~> -=9'UM?0=s!/LMV!a]&@req;A?$>69?$bB=>$bB9?$c^XN!=-&?oIqJQcI[N"0N)>$bB=>$bB=>$>69 -GQ*O*G?S0V>$c7KN!+Q4?$bB=IK#0,Ea!>ZN!Fi9?$bB`req>->$bB=>$bB=>$bB= ->%IVk$&;hj?5aB^>$bNjrepu#?$bB=>$bB=>$bB=Jc:UXD-gCP ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=?$bN=?=$fA?$bB=?$bN=?k4? -=9'.$3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c -3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3(s6P#>76?4ubMc8,cR!:,kEs3'K;]4ub_c5"klV -&P##E3'K;c3'K;c3&j)]3'K>#=8tGe3'K;c<;ou!4p!]-9E%uo9/oH@ -=9&sf/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/SG'G#A5_B0J+k1>5jZoF"K't/MJb.0J+t10PCBJ -&R$k?/MJb1/MJb1/M/Y./MJdTOp3Wp/MJb1M#NP?0eb15BE"%qB.[5jZgLbUJ8/T^oS$sG>:0J+t10J+t10JWNh -Ik`W/0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t1 -0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t1 -0J+t10J+t10F'0`/MJb1&cdF~> -=9'UQ>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>'Kt)#BsKX?$bB9?$bB=>$bB=>$>69>$bD2N!$bB=L]358?s[#CGQ*O&G?T%dN":JG>$bB=>$bB=>$bB9 -?@i*7#&%=H>$bBfrepts>$>6\req/->$>69?$bB=>$bB=>$cXVMue?Dreq#) -?(-C/#BF-S?$bBCrJV4m>$>69?$bB=>$bnAN!"W;>%%>g",C&dErM"$LL=:l>(-C/%!#ZX?$bB=,QN>~> -!<76?4ub_c9E%up<&d'@r`9:e3'K;c3'I4A"%>C59E%uq9/nmp8,cR#:-LX$3'K;c3'K;c -3'K;ur`9Cp4ub_c4ub_c9E%up9/o+!r`92$3'L=@ -!<T0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t1 -0J+t10J+t10J+t10J+t10J+t10J+t10J+t10RNe^#=gI"/MJb.G5dX6;_9RT/M/Y./MJb1/Q;Y3 -&Vr"m/M/Y.0J+t10J+k1/M0KlOoU=:/HIOmrfRG@/MJb.HiB007kf;hOq(YI0J+t10J+t10J+t1 -0`@.<0eG(2/OTK"">DD]/VsCh#tHR$/MJb1/MMPNOpt>A0J+t10J+t10J+t5rK71O;uVp`B.Yeh -0O"I=#A5_B0J+t1BE"%rLb1<:rfRIQ/MJb1/OTK""&gm*BE"%sB.Y\h>5jZqF"f1"/MJb1/MJb1 -/MJc'rfRRd0J+t10J+t1BE"%rB.YelrfRA>/MN"[Op,#C/M/Z4rfR[[/MJb1/MJb1/MJbTrfVbX -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJa^0J+t10J+sk!.Y~> -!<=DE>#Sa2?$bB9J,YB9D-C+L>$>69>$bB=>&F7t -&VjOr>$>69?$>V=Mu\Y3=ohr?req#9>$bB9Jc:T0BO68hN"0l3?%ISj"C>8<>)3*9$#!LK>$bB=>$cdZN"'W-?oItG?Sreq%l>$bB=>%ISj")V@JGQ*O(G?S0VErM".I9p)`>$bB=>$bB= ->$bB`req/#?$d!`N!46.>$>6freq8!>$bB=>$bB=>$bBLreu>X ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bA -#=8tJa3!hc.3'K;]4ub_irDsP' -3'K;]4ub_c4ub_c3'K;pr`9(rr'p`^r`94t3&j)crE'"_rDsIm3&j)]4ub_c4ub_c5!o6M##IKC -3'K;lr`94t3'K;gr`9D*3'K;c3'K;c3;lnf4ubMc3'K;c3'K;c3(s6P!`1jFr`97r4ub_c;#XN# -76!Ij4ub_( -0eG(2/MJdTOps-"/M/Y./MJb.0J+t5rK7_) -/MJb.0J+t10J+t1/MJbhrfR8.r)s)ArfRD*/M/Y1rK@18rK7XF/M/Y.0J+t10J+t10Lu,*#(&$U -/MJb[rfRD*/MJbHrfRSD/MJb1/MJb1/cChA0eFt2/MJb1/MJb1/SG'G!dcLtrfRFt0J+t1HiB04 -;_9[T0J,ZjOoeQ66iN5RLbLD40J+u"rfRD?/M/Z"rfRCZ/MJc'rfRai/MJb1/MJb1/MJb1/M[3e -#r+"c/MJb1/MN"[Oon3./M[6f!f/F3rfRG@0eG(26iE/V/MJb1/MJb1/MJb1F8h>P=thN^/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -#V@_^0J+t1&cdF~> -$bB9?$>69>$bB9?$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=@/Z#g?s6l?>$bD2N"'0$>$>69>$bB9?$bB9?$bBVrepi.r,Mdcrepu.>$>6=rJ^barJV4o>$>69?0=s#(^)a ->$bBQrepu.>$bBGreq/=>$bB=>$bB=>5aBh?s6`?>$bB=>$bB=>'Kt)!eFNlreq#)?$>6^repu">$bB`req>(>$bB=>$bB=>$bB=>%%;f -$"-qC>$bB=>$d!`N!!a">%%>g!f's"req#9?s6l?AGqGq>$bB=>$bB=>$bB=IK#1TEaDpU>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= -#[1P~> -!<dTD3'K;c6N1$s<&d'$4ub_c3'K;]4ubMprDsLu3'K;]4ub_c4ub_c -3'L12 -!<0J+t10RNe^"+)^R>5jZhF"K't/MK]n -OonW70J36d"#2AZ1&[7F0eFt2/MJb1/MJb1/ML-&OpQIh/M/Y.0J+t5rK@14!AHn?OoftaM#NP@ -=thN[0N7t6%!F?m6UsXF>#R")0J36dImYeA/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/I4$^0J+t10G4A9~> -!<=D6>!lV">$bB9?$>69>$bB9?$>69>$bB9?$>69>$bB9?$>69>$bB= ->$bB=>$bB=>$bB=>&F7t#D$2b>$bB=B`$bB9?$bB9?$c^NN!+!(>$>V=MunQ:D>oIpIs:[C"Fjf_>'Kt)!/LPt!e#9Jrepts?$bB=>$bB=>%%;f!c;+Xrepu(>$bB=rJUqg?$bn@ -N!!p#?<[;d"(5;9@/Z#o?s6`?>$bB=>$bB=>$c(FN!Y&A>$>69?]\#%"DYqA8#XnEc"u`?<[;dIq2_h>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB==pSG -!< -!<0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t1 -0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t1 -0J+t10J+t10J+t10J+t10J*Sb/MJb1/MJah!.Y~> -!<=CQ=p\M=>$bB9?$>69>$c7KN"C2>>$>69>$bB9?%!-aN"'<$>$bB=>$>69 ->$bB?o8Ef_>$bBQrepo&?@Dg3!-e-q"*.^OJb4m(?]\#%=MDd>$bB= ->$bB=>$c7KN!"i=?>]\#"F"0U?>0=s!J+SV=ohrHrJUhl>$cXVN!=<+>$bB?L]358Ip-/^AH%Mj -LK\"fB`$bB=>$bB=>$bB\req/(?oIsIp-/^AH%MgJTCaK#)?Si?$bB=>$bAX!.Y~> -!< -!<=thO,rfRCs/MJbhrfRFt/MJb1 -1&[7 -!<=CH=oa?WMu[Pg=oa-QMu[_c=oi/hrepl/?M7P&B_75eLL+.f?@Vs5!c;+rrephop5B&n>$gi[ -"FXH[>%mno$AVqk>$bB=>$bBVreq;,?$bBVreq#)>$bB= -@/Z#eI9Kr\L]359A6N;C??c@,"Ct\B>&sV$"FXHW??cC-%sM2`>$bB=>$bB=>$bB=L]35=A6rGC -?$>69L\6T.LK\#.reu>N?$bB=>$bB=,QN>~> -!<3&j)]4ub_c4ub_h -r`9G+4ub_c3'K;c3)olY"?e_.3(!IC##mcG4ubMboN),i3&jn:=+ -!< -!<=CI=o_t/N;HcY?N#f_@/!h+D0KOi=o`F5aB\?sE2?$?.LN!ac4?$>69Jc:T:BNe_G>$bB9?fFmG6!'jN!+?2>$cdZ -N!4'%?fCsEaDpU>(-C/"EI[P>(-C/%WPZY>$>69??$bB=>)3*9"Ct\B>%mbk#)?Si?$?^\N.5ME?$bB=>$bAX -!.Y~> -!<C54oJH33'K;c3'K;c3'K;c -3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c -3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c3'K;c#rk+. -4ub_c4r43L~> -!<= -/M[6f!/UP)!\c3IrfR@e/M10*OoTk-;ZL#"OoR69/HCV+OoS#I/cCh41&!7#0SoFc"(s2;0`@.; -0eFt2BDmtr;_TdT>5jZgF"Jst6\t`)#(&$U0J+l4rfRCO/MJc4rfRaY/M/Y./MJb.0J+k1/SG'G -$"kqD/MJb.0J,foOp-Xq/M/YHqN;%d0J+k1/R&+9s+p]%s)\3Q"&gm*6iE0t/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1 -/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1/MJb1#q[h_ -0J+t10G4A9~> -!<=CI=o`F=Mu\A)=o`78Mu\Y-=o`UBMu[Df=o`dGMue]ApK@QJrephjr)s)Erephtr`T;4repo6 ->%%>g!/LJU!a]&Yrepr">$>tGMu\G-D#eVTMu[8b=oa?WMu[Pd>5aB[@/!h*?AJ65"*[pP?N#fc -?s6`?GQ!I'D-gCLErM"$I9Kf\A;C/C#(^)a?$bBfreq=t>$>69>$bB9?'Kt) -$$T]Z>$bB9?$>6GqMYW!?&sS#s+gW*s*aok")V@JAGqI:>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB= ->$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=>$bB=$!LY= -? -!< -!<5jZfF"K't/UoH+0J+t10J+t10J+t10J+t1 -0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t1 -0J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J+t10J*G^/MJah!.Y~> -!<=CI=oa!MMu[nq=o`dGMu\(r=oa!MN!4uI>$>oIq -I9L1\Mu\G-=or#6?N#fbA6N/drephorE92Arepi,r`T;4repl5?MRb)AH%MfL\=mOB_@;dG?S0` -repi.r`T;=rJU`)rE92Lrepts>$>$bB9??6%( -"a=-V>$>e?N!G,G>$bB=>(?O1!,_^=!+,V-"(#/;ErM"#I9Kr\>(9j^?$bAX!.Y~> -!< -!< -!<=CI=oa?WMu[Dc=oa-QMu[Pc=o`F$>tGMu\G(=o`F=Mu\G,=o_t/N;Zo[GQ*O&E`ulM -Mu\Y1=o`F=N!"i=>$h/d!+>b/!.k-.!,_^=!-eF$!.FWG!,_^o!.FQE!.FO!"*[pPGQ*O'G?S0e -rJUc4?N"(+N!!To@#+]>!,_X;!,_^o!.k)Prepi4qHEo,rE92/rJU__q-!cLrephorE92$>69>$bB9?$>69>$bB9?$>69>$bB9?$>69>$bB9 -?$>69>#\g3? -!< -!<";(]7oNS]/M1W7OoS\[/HA0:OoS\a;ZLJ0 -Ooo>K/URJ[!_4hGr/q%Ir@J">rfRA>/OtWqOoT.l/HBG_OoT.o/H@L'P5?g5B9JE]r[e+KrfR8. -q(2S#rK7.8r@J"Jr/q):0`3L&8,eYOM"N>"G5dX)0uY_=0J+k1/M/Y./MJb.0J+k1/M/Y./MJb. -0J+k1/M/Y./MJb.0J+k1/M/Y./MJb.0J+k1/M/Y.0J+t10J+t10J+t10J+t10J+t1&cdF~> -!<=CJ=o`+4Mu\Y1=o_t/Mu[8Z=o`U@MumZr@/Z&Z=o`dGMu\)"=o`F=Mu\A+=oa?WMumNn?N#f_ -?N"%.?AJN="*.RKAH%MfL](BV@/Z#a@/a=0L]35>EbK-'BPhd'>$?.LMu[nm=o`+3Mu[nsD#eeZ -N!"9->(Q[3!bbbXr/:VdrE927repr7>%i]iMu\)!=o`dGMu\)$=o_n-N;Hc\GDqK$r`T;=repi. -q-!c)rJU_arE92$>69>$bB9?$>69>$bB9 -?$>69>$bB9?$>69>$bB9?$>69?~> -!<!)*;m!)WSQ!(Hlg!_YL:rDs"_ -:Ae/n6MreC8,cQj:.tLd!)*/J!)WYr!(-WDrDrt_rAXdGr`9)!r\smQr`9(iq)A@Cr`9(rr&=[H -r)Wkgq`"RKr`9(mof*%B=&_\F3"S853'K;]4ubMc3&j)]3#;RF~> -!<5^#Q>5aTd0eFt\rfR7or@J"QrfR8.r[e+;oo]Ah/URJ[!(Zc8!,):o!.4Vq!)rl[!bX)>rK71K -F8V1$8,Oq=>5jZcF(bE6!,)-[!.4^.!(Zu>rK7.7r@J"JrfR8;r[e+krfR7bq(2SFrfR8.r%.nP -r/q%`q^he\rfR7oodp8EP)*:s/J'Tf/MJb.0J+k1/M/Y./J8&6~> -!<=CJ=o`UBMu\;'=o`78Mu\G$=o`dEMue-5rJ^MT!.k-.!,2:6!-eF$!-eEG!+,V_"(#/7L]354 -ErB/AErCq!?s6`Srepi$rE92Arepi.r`T;4oo&rr>(Q[3!,2+1!-eF$!.k&O!,_^o!d@gUrJUbf -IJf$(B`)$6ErM!uI$bB9?$>69=sO)u~> -!<Z3'L=@H6(BAs~> -!<SsBDmtq7kH;k -rK7.nr[e+nrfR7[r@J"rrfR7br[e+Roo]B'0So^k!&=7#!&=G8##d**0J+kTrfR=q/Q;V2!/UQ9 -!(Zo -!<=CJ=oa!MMu[nq=o`dGMu\(n=o`dAMu\G)=o_t/N;HcYJc:T.B`;08B`S*!+>ba#&ROI?&F4s!/LK2 -!,275!.Xd&!-e9C!FCQ\Mu[8a=oa-QMu[nt=o`UAN!+W6>$d!`Mu[Da=o`dGMu\)"=o`UAMue]? -qcWuNrephorE9S8A8#Xa>$>TuN/(el>528%,QN>~> -!<TT -!<a!*]7O!&4A7 -s)S6gLku"m",JZ`BE"%p7kfKGq(2U[!.Y~> -!<=CJ=oa?WMu[Dc=oa-QMu[P^=o`U=Mu[np=ohrHrepi.qcWuJreph`r`T;Brepi$r`T;0r/:Z- -L]*/4LLC*b!/LQ4!FT75=oa-QMu[8b=o`F4Mue-5repi4pK@Q;repi4qcWu:repo&>'Ke$!Jb@c -=o_n(Mun$'?Mdn+AH%MfL\t%mno!/L>Q!/LQ4!,2:6!-8$s!-7s?!+,V_ -s*Xs"LPPhe",C8fGQ*O%BO66nq-!eE!.Y~> -!<2ul;E:dY+?!([#i!(ZuI!(HW`!(-ZE -!'U<_!*&kU"%#sg8,P=H9DhTk:.n>T91;$5r`9(ppc&:<<;or!8,G7G7K-?i9/ocE -!<5TrRB7#")FpE)$F(],a0N7t6!-@oe!AK?/OoS\_/HA`KOof8JHhrm+HUIW] -!(6UG!Jj8@/HA5B_~> -!<=CK=o`78Mu\Y1=o_t/N::!OBSZME!Jb(Y=o`dGMu[nq=p&/\JS>!c!-8't!-8$A!,_Ih!,2@8 -!+c(f!/LJU")*IKEr9)BGCb>EIg:CGI]\#!.FWG!FCQ\Mu[nq=o`F=Mun3,Jbk<+JRnU\ -!+bqb!Jb@`=o`78Mu\;(=o_t(Mu[_o=o`dGMu\(t=o`+3N;HcYGQ*O%LL0j]!,_=d!c;+lrephj -JQhhP!@.Yq~> -!<2ul;E4]GKa4o@8>8,63d6N&kD55nU` -:AQpM55@/<55.#:6N1$d8,,%D7K$9f55R;>7K-?i9/ocGb`d~> -!<5=<]8,Y">1&d=9 -F8@Hg0_m:#0_[.!8,eYO>50ZL;uMjZ0`*F%;uVp]B.\K.Oo^ABpalM#M#EJ5B_~> -!<=CK=o`78Mu\)!=o_n.Mu\Ft=pA;RLQ%1IAGB=.Jc:T.B_,C1A;?,&AGfU2EqtXoB`2*7@/c)b -IJR+I?MRb)?M@V'B`fCn?Mdn+D>oIqG?TRqMue]Spf[])L]*/5LN6_q=p/5gN/VHI -=o`F8Mue]IrE92Prephjq-!c/repi,qcWu?rephtqH(Q[3JQheO!@.Yq~> -!<7$>:fL7d7J/VC4\&.84nCW75".X12uu0=rDs&"90W85"A;ft<'L(:"&;os -6Mi_F5#bT[55I5=7JKpk<)?Ca69$qf:f'T33;5B5(BAs~> -!<*>&)nLXf0;_e,#!CLr,Oo]VYq^hnRLiY<4/H]XAB/'*4 -!,):o!,)-[!([$O#A5VUH\d#i;tV^F6X",+6h;l20iLI8/HJ4^rK750`!@$;tuL_LjO;X7kH;[H[A\B/b^gt&cdF~> -!<=CJ=p'>7LLg6b")WU?AF*M"AG01/Ef>s4nQH!)D.*3D!G$WWMue?7qcX)BLOERl=p&u(G@(&J -!-eF$!-e9C!,2@j#Bs?^JVSf)D=q'8A9)m7AFit+?u9HM=oi/`rJUf5G@:>P"F#f`LL0aZ"+?,` -B_ts9@#'\l?M[h*D>9%sLOjr!BNeSMJUqZh>5)2$,QN>~> -!<[6*4Zu!Q2ul;E5"eO3p,E(955R;A4ubMb -pG`LM91qcD69RLl3'R0u!'Yrnp,E'h!.Y~> -!< -!<=CI=o`*\=oi;RjB;XnA7T#j=o`78Mu[8]=p&u(I:1?("(#MOAGKC2@!?g*p0%K-?Mdn.?$h&/!+(4[p0%JB!.Y~> -!< -!< -!<=Br>,,7&A9)43>(KlJ=oflKJ,~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th,QN>~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -!< -!< -!<=Br>(Kk.>*2th+96o~> -*rm*:/3#IG/3#IG/3#IG/3#IG/3#IG/3#IG/3#IG/:fd33.X&m2usfqJ,~> -*rlp*1G'h'1G'h'1G'h'1G'h'1G'h'1G'h'1G'h'1P%-//V,LW/HH@^J,~> -*rmQi8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8qC/s>(Kk\=of`GJ,~> -!< -!< -!<=8%=u])W8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei -8m4f;>(Kk.>3T2k+96o~> -*WR!9/3#1?3&ETG3&i`S/3#UG3%R$K1cR$G3&ETG`Af\*3&ETG3&ETG3&ETG3&ETG3&ETG3&ETG -3&ETG3&ETG3&ETG3&ETG3&ETG3&ETG3&ETGJN/3?T/Zif!.Y~> -*WQg)1G(C7/L)i'/M/2!1G(1'/Met1,:t]'/L)i'`@Wo&/L)i'/L)i'/L)i'/L)i'/L)i'/L)i' -/L)i'/L)i'/L)i'/L)i'/L)i'/L)i'/L)i'JLuF)T.L'S!.Y~> -*WRHh8m4hj>"Mmi>$=L$8m5Ci>"Vt%8Qn_i>"Mmi`EG)j>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi ->"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"MmiJQdV.T3;7 -!< -!<1G(C71G(C71G(C71G(C71G(C71G(C71G(C7/L)i' -/M/2!1G(1'/Met1,:t]'/L)i'/M/2!1Wh:1,:t]',:t]',:t]',:t]',:t]',:t]',:t]',:t]' -,:t]',:t]',:t]',:t]',:t]',:t]',:t^&/V,M./HH@^J,~> -!<=DD=o_1n=o_1n=o_1n=o_1n=o_1n=uo8Z8m4hj8m4hj8m4hj8m4hj8m4hj8m4hj8m4hj>"Mmi ->$=L$8m5Ci>"Vt%8Qn_i>"Mmi>$=L$9$1(Kl3=of`GJ,~> -#QPZ#/3#IG3%Y"f!%e(.!%e(.!%e(.!%d+h!%e(.!%e(.!%e(.!%e(.!%e(.!%e%-2(U^<3%R$? -3%R$?3%R$?3%R$?3%R$?3%R$?3%R$K1cR$G3&ETG3&i`S/3#UG3%R$K1cR&*3&i`S/3#IG/3#IG -/3#IG/3#IG/3#IG/3#IG/3#IG/3#IG/3#IG/3#IG/3#IG/3#IG/3#IG/3#J;30cH((BAs~> -#QPJh1G'h'/Mm>W!&OR*!&OR*!&OR*!&NUd!&OR*!&OR*!&OR*!&OR*!&OR*!&OO)2)?g?/Met7 -/Met7/Met7/Met7/Met7/Met7/Met1,:t]'/L)i'/M/2!1G(1'/Met1,:t^j/N=t,1G'h'1G'h' -1G'h'1G'h'1G'h'1G'h'1G'h'1G'h'1G'h'1G'h'1G'h'1G'h'1G'h'1G'i&/X7mg%fh+~> -#QQ,R8m4ei>"\`s!)!2n!)!2n!)!2n!(u6S!)!2n!)!2n!)!2n!)!2n!)!2n!)!/m2+h%E>"Vsj ->"Vsj>"Vsj>"Vsj>"Vsj>"Vsj>"Vt%8Qn_i>"Mmi>$=L$8m5Ci>"Vt%8Qna*=u])W8m4ei8m4ei -8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei8m4f;>*W7l+96o~> -!<b`d~> -!< -!<=DD=u/cS>"Vsj>$=O%8m5Cj>"Vt%8m4hj>"Vsj>"Mmi>"Vsi>"Vsj>"Mmi>"Vsi>"Vsj>"SZr -!)!2n!)!2n!)!2n!)!2n!)!2n!_QWgj&uFTrE91nrE91nrE91nrE91nr)u'O>"Vt%8Qn_i8m4hj -8m4hj8m4hj8m4hj8m4hj8m4hj>"Mmi>$=L$8m5Ci>"Vt%8Qn_i>"Mmi`EG)j>"Mmi>"Mmi>"Mmi ->"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"MmiJQg6#!?_Am~> -!rs,s/H%O.2#TB62#TB62#TB62#TB61upV8/3#1?3%R$?3&iHK/3#U?3%R$K/3#1?3%R$?r&>TG -3&ETG3%R$G3%R$?3&ETG3%R$G3%R$?3&LRn!%e(.!%e(.!%e(.!%e(.!\?;^rAXd.jZ!5krAXd. -rAXd.rAXd.rAXd.rAZhh3%R$?3%R$?3%R$?3%R$?3%R$?3%R$?3%R$?3&i`S/3#UG3%R$K1cR$G -3&ETG3&i`S/3#UG3%W333]&fI3&ETG3&ETG3&ETG3&ETG3&ETG3&ETG3&ETG3&ETG3&ETG3&ETG -3&ETG3&ETG3&ETG3&ETGLH#;N!.Y~> -!rrrc1]8m*,Q01o,Q01o,Q01o,Q01o,NLEq1G(C7/Met7/M/b11G(17/Met11G(C7/Met7r%/gC -/L)i'/Met'/Met7/L)i'/Met'/Met7/L13G!&OR*!&OR*!&OR*!&OR*!])Dar@J"*jXgHgr@J"* -r@J"*r@J"*r@J"*r@L&d/Met7/Met7/Met7/Met7/Met7/Met7/Met7/M/2!1G(1'/Met1,:t]' -/L)i'/M/2!1G(1'/MkO$3[644/L)i'/L)i'/L)i'/L)i'/L)i'/L)i'/L)i'/L)i'/L)i'/L)i' -/L)i'/L)i'/L)i'/L)i'LFiN;!.Y~> -!rsTM9)Von8c;fm8c;fm8c;fm8c;fm8`X%o8m4hj>"Vsj>$=O%8m5Cj>"Vt%8m4hj>"Vsjr)t"2 ->"Mmi>"Vsi>"Vsj>"Mmi>"Vsi>"Vsj>"SZr!)!2n!)!2n!)!2n!)!2n!_QWgrE91nj]VXVrE91n -rE91nrE91nrE91nrE;6S>"Vsj>"Vsj>"Vsj>"Vsj>"Vsj>"Vsj>"Vsj>$=L$8m5Ci>"Vt%8Qn_i ->"Mmi>$=L$8m5Ci>"Zq@3_
  • "Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi>"Mmi ->"Mmi>"Mmi>"Mmi>"MmiLKX^$!.Y~> -"ooH!3%R$?r\sm/rAXd.rAXd.rAXd.rAY]H3%R$?3&ETG3%R$G3%R$?3&ETG3%R$G3%Xte!&XX6 -!&XX6!&XX6!&XX6!&XX6!\?;fjZ"#,3%R$K/3#1?3%R$?3&iHK/3#U?3%Xte!%e(.*@s0$3&ETG -3%R$G3%R$?3&ETG3%R$G3%R$G3&iJf2ukN.2ukN.2ukN.2ukMh2ukN.2ukN.2ukN.2ukN.2ukN. -2ukN-3&N6H/3#1?/3#1?/3#1?/3#1?/3#1?/3#1?/3#1?3&ETG3&i`S/3#UG3%R$K1cR$G3&ETG -`Afn83%R$G3%R$G3%R$G3%R$G3%R$G3%R$G3%R$G3%R$G3%R$G3%R$G3%R$G3%R$G3%R$G3%R$G -3%Vs,!>b`d~> -"oo8f/Met7r[e++r@J"*r@J"*r@J"*r@JpD/Met7/L)i'/Met'/Met7/L)i'/Met'/Mm;V!$hFo -!$hFo!$hFo!$hFo!$hFo!])DQjXh6(/Met11G(C7/Met7/M/b11G(17/Mm;V!&OR**A]9'/L)i' -/Met'/Met7/L)i'/Met'/Met'/M/dW/H@U*/H@U*/H@U*/H@Td/H@U*/H@U*/H@U*/H@U*/H@U* -/H@U)/N#=91G(C71G(C71G(C71G(C71G(C71G(C71G(C7/L)i'/M/2!1G(1'/Met1,:t]'/L)i' -`@X+q/Met'/Met'/Met'/Met'/Met'/Met'/Met'/Met'/Met'/Met'/Met'/Met'/Met'/Met' -/Mk9r!=o0\~> -"oooP>"Vsjr`T:orE91nrE91nrE91nrE:+3>"Vsj>"Mmi>"Vsi>"Vsj>"Mmi>"Vsi>"\]r!(m,m -!(m,m!(m,m!(m,m!(m,m!_QWfj]WEl>"Vt%8m4hj>"Vsj>$=O%8m5Cj>"\]r!)!2n*D0L->"Mmi ->"Vsi>"Vsj>"Mmi>"Vsi>"Vsi>$=Ps=o_1n=o_1n=o_1n=o_1S=o_1n=o_1n=o_1n=o_1n=o_1n -=o_1m=uAoU8m4hj8m4hj8m4hj8m4hj8m4hj8m4hj8m4hj>"Mmi>$=L$8m5Ci>"Vt%8Qn_i>"Mmi -`EG;o>"Vsi>"Vsi>"Vsi>"Vsi>"Vsi>"Vsi>"Vsi>"Vsi>"Vsi>"Vsi>"Vsi>"Vsi>"Vsi>"Vsi ->"Z\9!?_Am~> -!< -!< -!<=DB=qjS4>"Vsj>$=O%8m5Cj>"Vt%8m4jJ=oq<"8cDln9)Von9)Von9)Von9)Von9)Dd18m4hj -8m4ei8m4hj8Qn_i8m4ei8m4hj8Qnab=o_.m=o_.m=o_.m=o_.m=pIZ'8Qo:i>"[m[1J1hS8m4hj ->"Vsj>$=O%8m5Cj>"Vt%8m4hj8Qn_i8m4ei8m4hj8Qn_i8m4ei8m4hj8c;fm9)Von9)Von9)Von -9)Von9)Vop8m4jI=o_1n=o_1n=o_1n=o_1n=o_1m=u])W8m5Ci>"Vsj>"Vsj>"Vsj>"Vsj>"Vsj ->"Vsj>"Vt%8Qn_i>"Mmi>$=L$8m5Ci>"Vt%8Qna(=u&ZQ8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei -8m4ei8m4ei8m4ei8m4ei8m4ei8m4ei9(uKi+96o~> -!WWZBJJWkRJJXIc!=]$Z~> -!rrW9')iCA')iCR&e>Tc%h]Bc%hB9`&e>Kc%hdt7#8.O[&e>Tc')iCA')`=@')`=@')`=@')N1H -&e>Tc&e>Tf%h]EP&crRV&,m1C%h]EP&ciLUrX]#ArX]#ArX]#ArX]#ArXT>K%h]Kc&e>Tc%he(: -!##8A'bV#i%hB9`&e>Kc%h]B`&e>Tc%h]EP&crRV&,m1C%h]EP&crRV&,m1C%h]EP')iCA')`=@ -')`=@')`=@')`=@')`=E&e>Tc%hdt7;A'KQ%hB9`&e>Kc%h]B`&e>Tc%h]Bc%hB9c%h]Bc&e>Tc -&e>Tc&e>Tc&e>Tc&e>Tc&e>Tc&e>Tc&eY]f%h]Kc&e>Tf%h]Bc&e>Tc&eY]f`"2k\0b4m-&eY]f -&e>Tc&eY]f&e>Tc&eY]f&e>Tc&eY]f&e>Tc&eY]f&e>Tc&eY]f&e>WL%flt:J,~> -!rrrP,lSnd,lSnu,Tn?T+=&'T+ -JH16$JH1Z0J,~> -JH16$JH1Z0J,~> -JH16$JH1Z0J,~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/executable_names/doc/figures/README b/executable_names/doc/figures/README deleted file mode 100644 index a4305b9175..0000000000 --- a/executable_names/doc/figures/README +++ /dev/null @@ -1,8 +0,0 @@ -Most of these diagrams (with the ".dia" suffix) were built using the -tool "dia" (http://www.gnome.org/projects/dia/). - -gnuplot is used with "times.gpl" and ".dat" suffix files to build a -timing plot. - -The PostScript images of these can be built as needed by the Makefile -in "../jsspp" and "../pubdesign". diff --git a/executable_names/doc/figures/allocate-init.dia b/executable_names/doc/figures/allocate-init.dia deleted file mode 100644 index 06aba55693..0000000000 --- a/executable_names/doc/figures/allocate-init.dia +++ /dev/null @@ -1,3 +0,0 @@ - -#A4##User##slurmctld##slurmd##allocate req##allocate reply##run job step req##job step reply##job_mgr##session_mgr##connect(stdout/err)##task exit msg##srun##exit -status####cmd##srun allocate##srun##job step req##sh##run job step reply##release allocation##run epilog req##run epilog reply##release job step##job/job step status##prolog##epilog# diff --git a/executable_names/doc/figures/allocate-init.eps b/executable_names/doc/figures/allocate-init.eps deleted file mode 100644 index 32df45b343..0000000000 --- a/executable_names/doc/figures/allocate-init.eps +++ /dev/null @@ -1,1068 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ../figures/allocate-init.dia -%%Creator: Dia v0.88.1 -%%CreationDate: Thu Apr 3 14:26:20 2003 -%%For: grondo -%%Magnification: 1.0000 -%%Orientation: Portrait -%%BoundingBox: 0 0 709 508 -%%Pages: 1 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /A /B /C /D /E -/F /G /H /I /J /K /L /M /N /O -/P /Q /R /S /T /U /V /W /X /Y -/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c -/d /e /f /g /h /i /j /k /l /m -/n /o /p /q /r /s /t /u /v /w -/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/Times-Roman-latin1 - /Times-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Italic-latin1 - /Times-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Bold-latin1 - /Times-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-BoldItalic-latin1 - /Times-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Book-latin1 - /AvantGarde-Book findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-BookOblique-latin1 - /AvantGarde-BookOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Demi-latin1 - /AvantGarde-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-DemiOblique-latin1 - /AvantGarde-DemiOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Light-latin1 - /Bookman-Light findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-LightItalic-latin1 - /Bookman-LightItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Demi-latin1 - /Bookman-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-DemiItalic-latin1 - /Bookman-DemiItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-latin1 - /Courier findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Oblique-latin1 - /Courier-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Bold-latin1 - /Courier-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-BoldOblique-latin1 - /Courier-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-latin1 - /Helvetica findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Oblique-latin1 - /Helvetica-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Bold-latin1 - /Helvetica-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-BoldOblique-latin1 - /Helvetica-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-latin1 - /Helvetica-Narrow findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Oblique-latin1 - /Helvetica-Narrow-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Bold-latin1 - /Helvetica-Narrow-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-BoldOblique-latin1 - /Helvetica-Narrow-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Roman-latin1 - /NewCenturySchoolbook-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Italic-latin1 - /NewCenturySchoolbook-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Bold-latin1 - /NewCenturySchoolbook-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-BoldItalic-latin1 - /NewCenturySchoolbook-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Roman-latin1 - /Palatino-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Italic-latin1 - /Palatino-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Bold-latin1 - /Palatino-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-BoldItalic-latin1 - /Palatino-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Symbol-latin1 - /Symbol findfont -definefont pop -/ZapfChancery-MediumItalic-latin1 - /ZapfChancery-MediumItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/ZapfDingbats-latin1 - /ZapfDingbats findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def /savematrix mtrx currentmatrix def - x y tr xrad yrad sc - 0 0 1 startangle endangle arc - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -28.346000 -28.346000 scale --0.479962 -18.550000 translate -%%EndProlog - - -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -0.000000 0.000000 0.000000 srgb -n 21.750000 9.125000 m 21.750000 13.000000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -0.003922 0.003922 0.003922 srgb -n 1.500000 2.250000 m 0.912500 1.500000 l 0.625000 1.737500 l 1.387500 2.712500 l 0.975000 4.175000 l 1.437500 4.175000 l 1.687500 3.225000 l 1.925000 4.175000 l 2.350000 4.175000 l 2.025000 2.925000 l 2.662500 3.300000 l 2.837500 2.975000 l 1.962500 2.425000 l 1.925000 2.237500 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 1.725000 1.984686 0.338980 0.338980 121.081372 58.918628 ellipse s -/Helvetica-latin1 ff 0.650000 scf sf -0.000000 0.000000 0.000000 srgb -(User) dup sw 2 div 1.500000 ex sub 1.250000 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0.701961 0.701961 0.701961 srgb -n 14.500000 2.250000 m 14.500000 18.500000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0.694118 0.694118 0.694118 srgb -n 19.750000 2.250000 m 19.750000 18.500000 l s -/Courier-Bold-latin1 ff 0.600000 scf sf -0.000000 0.000000 0.000000 srgb -(slurmctld) dup sw 2 div 14.500000 ex sub 1.750000 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.600000 scf sf -(slurmd) dup sw 2 div 19.750000 ex sub 1.750000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 9.000000 2.750000 m 14.250000 2.750010 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 13.850000 2.950009 m 14.250000 2.750010 l 13.850000 2.550009 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 13.850000 2.950009 m 14.250000 2.750010 l 13.850000 2.550009 l cp s -0.537255 0.537255 0.733333 srgb -n 14.250000 2.750010 m 14.250000 3.750010 l 14.750000 3.750010 l 14.750000 2.750010 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.250000 2.750010 m 14.250000 3.750010 l 14.750000 3.750010 l 14.750000 2.750010 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 14.250000 3.750010 m 9.000000 3.750000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 9.400000 3.550001 m 9.000000 3.750000 l 9.400000 3.950001 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 9.400000 3.550001 m 9.000000 3.750000 l 9.400000 3.950001 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(allocate req) dup sw 2 div 11.750000 ex sub 2.625000 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.600000 scf sf -(allocate reply) dup sw 2 div 12.000000 ex sub 3.625000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 7.750000 7.500000 m 19.500000 7.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 19.100000 7.700000 m 19.500000 7.500000 l 19.100000 7.300000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 19.100000 7.700000 m 19.500000 7.500000 l 19.100000 7.300000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run job step req) dup sw 2 div 13.500000 ex sub 7.375000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 14.250000 6.500000 m 7.250000 6.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 7.650000 6.300000 m 7.250000 6.500000 l 7.650000 6.700000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 7.650000 6.300000 m 7.250000 6.500000 l 7.650000 6.700000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(job step reply) dup sw 2 div 11.250000 ex sub 6.375000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 19.500000 7.500000 m 19.500000 9.000000 l 20.000003 9.000000 l 20.000003 7.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 19.500000 7.500000 m 19.500000 9.000000 l 20.000003 9.000000 l 20.000003 7.500000 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -(job_mgr) 20.750000 8.375000 m gs 1 -1 sc sh gr -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 19.750000 9.000000 m 20.500000 9.000000 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 20.200000 9.150000 m 20.500000 9.000000 l 20.200000 8.850000 l s -/Courier-Bold-latin1 ff 0.500000 scf sf -(session_mgr) 21.500000 9.000000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 21.500000 9.750000 m 7.750000 9.749990 l s -0.080000 slw -[] 0 sd -0 slj -0 slc -n 21.500000 9.750000 m 21.500000 9.822500 21.427500 9.895000 21.355000 9.895000 c 21.282500 9.895000 21.210000 9.822500 21.210000 9.750000 c 21.210000 9.677500 21.282500 9.605000 21.355000 9.605000 c 21.427500 9.605000 21.500000 9.677500 21.500000 9.750000 c f -n 21.375000 9.500000 m 21.375000 10.000000 l s -0 slj -n 8.250000 9.499990 m 7.750000 9.749990 l 8.250000 9.999990 l f -/Helvetica-latin1 ff 0.600000 scf sf -(connect\(stdout/err\)) dup sw 2 div 14.500000 ex sub 9.625000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 21.500000 13.500000 m 7.750000 13.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 8.150000 13.300000 m 7.750000 13.500000 l 8.150000 13.700000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 8.150000 13.300000 m 7.750000 13.500000 l 8.150000 13.700000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(task exit msg) dup sw 2 div 17.000000 ex sub 13.375000 m gs 1 -1 sc sh gr -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 20.750000 8.625000 m 20.750000 14.000000 l s -0.537255 0.537255 0.749020 srgb -n 20.500000 9.000000 m 20.500000 9.500000 l 21.000000 9.500000 l 21.000000 9.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 20.500000 9.000000 m 20.500000 9.500000 l 21.000000 9.500000 l 21.000000 9.000000 l cp s -0.537255 0.537255 0.749020 srgb -n 21.500000 9.500000 m 21.500000 10.500000 l 22.000000 10.500000 l 22.000000 9.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 21.500000 9.500000 m 21.500000 10.500000 l 22.000000 10.500000 l 22.000000 9.500000 l cp s -0.537255 0.537255 0.749020 srgb -n 20.500000 14.000000 m 20.500000 15.000000 l 21.000000 15.000000 l 21.000000 14.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 20.500000 14.000000 m 20.500000 15.000000 l 21.000000 15.000000 l 21.000000 14.000000 l cp s -0.537255 0.537255 0.749020 srgb -n 19.500000 15.000000 m 19.500000 15.500000 l 20.000000 15.500000 l 20.000000 15.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 19.500000 15.000000 m 19.500000 15.500000 l 20.000000 15.500000 l 20.000000 15.000000 l cp s -/Courier-Bold-latin1 ff 0.600000 scf sf -(srun) dup sw 2 div 9.250000 ex sub 1.750000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 8.500000 2.750000 m 8.500000 4.250000 l 9.000000 4.250000 l 9.000000 2.750000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 8.500000 2.750000 m 8.500000 4.250000 l 9.000000 4.250000 l 9.000000 2.750000 l cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 3.000000 2.750000 m 8.500000 2.750000 l s -0.100000 slw -[] 0 sd -0 slj -0 slc -n 7.900000 2.950000 m 8.500000 2.750000 l 7.900000 2.550000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 8.750000 16.500000 m 3.000000 16.500000 l s -0.100000 slw -[] 0 sd -0 slj -0 slc -n 3.600000 16.300000 m 3.000000 16.500000 l 3.600000 16.700000 l s -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 14.500000 11.000000 m 8.750000 11.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 9.150000 10.800000 m 8.750000 11.000000 l 9.150000 11.200000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 9.150000 10.800000 m 8.750000 11.000000 l 9.150000 11.200000 l cp s -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 8.750000 11.125000 m 14.500000 11.125000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 14.100000 11.325000 m 14.500000 11.125000 l 14.100000 10.925000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.100000 11.325000 m 14.500000 11.125000 l 14.100000 10.925000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(exit ) dup sw 2 div 2.250000 ex sub 16.500000 m gs 1 -1 sc sh gr -(status) dup sw 2 div 2.250000 ex sub 17.100000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 22.500000 10.500000 m 22.500000 13.000000 l 23.000000 13.000000 l 23.000000 10.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 22.500000 10.500000 m 22.500000 13.000000 l 23.000000 13.000000 l 23.000000 10.500000 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -() 23.000000 9.500000 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.500000 scf sf -(cmd) 22.500000 10.250000 m gs 1 -1 sc sh gr -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 20.750000 9.500000 m 21.500000 9.500000 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 21.200000 9.650000 m 21.500000 9.500000 l 21.200000 9.350000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 20.750000 15.000000 m 20.000000 15.000000 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 20.300000 14.850000 m 20.000000 15.000000 l 20.300000 15.150000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 22.000000 10.500000 m 22.500000 10.500000 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 22.200000 10.650000 m 22.500000 10.500000 l 22.200000 10.350000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 22.500000 13.000000 m 22.000000 13.000000 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 22.300000 12.850000 m 22.000000 13.000000 l 22.300000 13.150000 l s -/Helvetica-Bold-latin1 ff 0.500000 scf sf -(srun allocate) dup sw 2 div 4.500000 ex sub 2.625000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 21.500000 13.000000 m 21.500000 14.000000 l 22.000000 14.000000 l 22.000000 13.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 21.500000 13.000000 m 21.500000 14.000000 l 22.000000 14.000000 l 22.000000 13.000000 l cp s -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 8.750000 4.250000 m 8.750000 15.500000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 8.750000 4.250000 m 4.250000 4.250000 l s -0.100000 slw -[] 0 sd -0 slj -0 slc -n 4.650000 4.050000 m 4.250000 4.250000 l 4.650000 4.450000 l s -0.537255 0.537255 0.749020 srgb -n 3.750000 4.250000 m 3.750000 5.250000 l 4.250000 5.250000 l 4.250000 4.250000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.750000 4.250000 m 3.750000 5.250000 l 4.250000 5.250000 l 4.250000 4.250000 l cp s -/Courier-Bold-latin1 ff 0.600000 scf sf -(srun) dup sw 2 div 7.500000 ex sub 5.000000 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 4.250000 5.250000 m 7.250000 5.250000 l s -0.100000 slw -[] 0 sd -0 slj -0 slc -n 6.850000 5.450000 m 7.250000 5.250000 l 6.850000 5.050000 l s -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 4.000000 5.250000 m 4.000000 14.500000 l s -0.537255 0.537255 0.749020 srgb -n 7.250000 5.250000 m 7.250000 14.500000 l 7.750000 14.500000 l 7.750000 5.250000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 7.250000 5.250000 m 7.250000 14.500000 l 7.750000 14.500000 l 7.750000 5.250000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 7.750000 5.500000 m 14.250000 5.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 13.850000 5.700000 m 14.250000 5.500000 l 13.850000 5.300000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 13.850000 5.700000 m 14.250000 5.500000 l 13.850000 5.300000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(job step req) dup sw 2 div 11.250000 ex sub 5.375000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.733333 srgb -n 14.250000 5.500000 m 14.250000 6.500000 l 14.750000 6.500000 l 14.750000 5.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.250000 5.500000 m 14.250000 6.500000 l 14.750000 6.500000 l 14.750000 5.500000 l cp s -/Courier-Bold-latin1 ff 0.600000 scf sf -(sh) dup sw 2 div 4.000000 ex sub 3.750000 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 7.250000 14.500000 m 4.315000 14.500000 l s -0.100000 slw -[] 0 sd -0 slj -0 slc -n 4.715000 14.300000 m 4.315000 14.500000 l 4.715000 14.700000 l s -0.537255 0.537255 0.749020 srgb -n 3.750000 14.500000 m 3.750000 15.500000 l 4.315000 15.500000 l 4.315000 14.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.750000 14.500000 m 3.750000 15.500000 l 4.315000 15.500000 l 4.315000 14.500000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 19.500000 8.500000 m 7.750000 8.499990 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 8.150000 8.299990 m 7.750000 8.499990 l 8.150000 8.699990 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 8.150000 8.299990 m 7.750000 8.499990 l 8.150000 8.699990 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run job step reply) dup sw 2 div 13.500000 ex sub 8.375000 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 4.315000 15.500000 m 8.500000 15.500000 l s -0.100000 slw -[] 0 sd -0 slj -0 slc -n 8.100000 15.700000 m 8.500000 15.500000 l 8.100000 15.300000 l s -0.537255 0.537255 0.749020 srgb -n 8.500000 15.500000 m 8.500000 16.500000 l 9.000000 16.500000 l 9.000000 15.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 8.500000 15.500000 m 8.500000 16.500000 l 9.000000 16.500000 l 9.000000 15.500000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(release allocation) dup sw 2 div 11.500000 ex sub 15.875000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 9.000000 16.000000 m 14.250000 16.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 13.850000 16.200000 m 14.250000 16.000000 l 13.850000 15.800000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 13.850000 16.200000 m 14.250000 16.000000 l 13.850000 15.800000 l cp s -0.537255 0.537255 0.749020 srgb -n 14.250000 16.000000 m 14.250000 18.250000 l 14.750000 18.250000 l 14.750000 16.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.250000 16.000000 m 14.250000 18.250000 l 14.750000 18.250000 l 14.750000 16.000000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 14.750000 16.500000 m 19.500000 16.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 19.100000 16.700000 m 19.500000 16.500000 l 19.100000 16.300000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 19.100000 16.700000 m 19.500000 16.500000 l 19.100000 16.300000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run epilog req) dup sw 2 div 17.000000 ex sub 16.375000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 19.500000 18.000000 m 14.750000 18.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 15.150000 17.800000 m 14.750000 18.000000 l 15.150000 18.200000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 15.150000 17.800000 m 14.750000 18.000000 l 15.150000 18.200000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run epilog reply) dup sw 2 div 17.500000 ex sub 17.875000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 19.500000 16.500000 m 19.500000 18.000000 l 20.000000 18.000000 l 20.000000 16.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 19.500000 16.500000 m 19.500000 18.000000 l 20.000000 18.000000 l 20.000000 16.500000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 7.750000 14.250000 m 14.500000 14.250000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 14.100000 14.450000 m 14.500000 14.250000 l 14.100000 14.050000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.100000 14.450000 m 14.500000 14.250000 l 14.100000 14.050000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(release job step) dup sw 2 div 11.250000 ex sub 14.125000 m gs 1 -1 sc sh gr -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 14.500000 11.750000 m 7.750000 11.750000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 8.150000 11.550000 m 7.750000 11.750000 l 8.150000 11.950000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 8.150000 11.550000 m 7.750000 11.750000 l 8.150000 11.950000 l cp s -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 7.750000 11.875000 m 14.500000 11.875000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 14.100000 12.075000 m 14.500000 11.875000 l 14.100000 11.675000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.100000 12.075000 m 14.500000 11.875000 l 14.100000 11.675000 l cp s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 1.250000 m 6.250000 18.500000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 1.250000 m 5.750000 1.750000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 1.920000 m 5.750000 2.420000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 2.590000 m 5.750000 3.090000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 3.260000 m 5.750000 3.760000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 3.930000 m 5.750000 4.430000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 4.600000 m 5.750000 5.100000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 5.270000 m 5.750000 5.770000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 5.940000 m 5.750000 6.440000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 6.610000 m 5.750000 7.110000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 7.280000 m 5.750000 7.780000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 7.950000 m 5.750000 8.450000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 8.620000 m 5.750000 9.120000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 9.290000 m 5.750000 9.790000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 9.960000 m 5.750000 10.460000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 10.630000 m 5.750000 11.130000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 11.300000 m 5.750000 11.800000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 11.970000 m 5.750000 12.470000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 12.640000 m 5.750000 13.140000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 13.310000 m 5.750000 13.810000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 13.980000 m 5.750000 14.480000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 14.650000 m 5.750000 15.150000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 15.320000 m 5.750000 15.820000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 15.990000 m 5.750000 16.490000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 16.660000 m 5.750000 17.160000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 17.330000 m 5.750000 17.830000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 18.000000 m 5.750000 18.500000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 21.500000 14.000000 m 21.000000 14.000000 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 21.300000 13.850000 m 21.000000 14.000000 l 21.300000 14.150000 l s -/Helvetica-latin1 ff 0.600000 scf sf -(job/job step status) dup sw 2 div 11.750000 ex sub 11.625000 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.500000 scf sf -(prolog) 21.185000 7.668330 m gs 1 -1 sc sh gr -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 20.000000 7.500000 m 21.000000 7.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 20.600000 7.700000 m 21.000000 7.500000 l 20.600000 7.300000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 20.600000 7.700000 m 21.000000 7.500000 l 20.600000 7.300000 l cp s -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 20.000000 16.500000 m 21.075000 16.535000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 20.668704 16.721878 m 21.075000 16.535000 l 20.681720 16.322090 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 20.668704 16.721878 m 21.075000 16.535000 l 20.681720 16.322090 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -(epilog) 21.285000 16.668300 m gs 1 -1 sc sh gr -showpage diff --git a/executable_names/doc/figures/arch.dia b/executable_names/doc/figures/arch.dia deleted file mode 100644 index d4347e0ae7..0000000000 --- a/executable_names/doc/figures/arch.dia +++ /dev/null @@ -1,5 +0,0 @@ - -#Letter##scancel##srun##squeue##sinfo##slurmctld -(primary)##slurmctld -(backup)##scontrol##slurmd##slurmd##slurmd##User -Commands##Controller##daemons##Compute node##daemons# diff --git a/executable_names/doc/figures/arch.eps b/executable_names/doc/figures/arch.eps deleted file mode 100644 index 71f85ce0ba..0000000000 --- a/executable_names/doc/figures/arch.eps +++ /dev/null @@ -1,3929 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: arch.dia -%%Creator: Dia v0.91 -%%CreationDate: Wed Apr 9 06:48:11 2003 -%%For: grondo -%%Orientation: Portrait -%%Magnification: 1.0000 -%%BoundingBox: 0 0 784 613 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /A /B /C /D /E -/F /G /H /I /J /K /L /M /N /O -/P /Q /R /S /T /U /V /W /X /Y -/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c -/d /e /f /g /h /i /j /k /l /m -/n /o /p /q /r /s /t /u /v /w -/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def /savematrix mtrx currentmatrix def - x y tr xrad yrad sc - 0 0 1 startangle endangle arc - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -/dpi_x 300 def -/dpi_y 300 def -/conicto { - /to_y exch def - /to_x exch def - /conic_cntrl_y exch def - /conic_cntrl_x exch def - currentpoint - /p0_y exch def - /p0_x exch def - /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def - /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def - /p2_x p1_x to_x p0_x sub 1 3 div mul add def - /p2_y p1_y to_y p0_y sub 1 3 div mul add def - p1_x p1_y p2_x p2_y to_x to_y curveto -} bind def -/start_ol { gsave 1.1 dpi_x div dup scale} bind def -/end_ol { closepath fill grestore } bind def -28.346000 -28.346000 scale --0.555625 -22.565680 translate -%%EndProlog - - -0.498039 0.498039 0.498039 srgb -n 1.750000 4.625000 m 1.750000 6.375000 l 6.000000 6.375000 l 6.000000 4.625000 l f -n 1.750000 5.500000 m 1.750000 5.500000 0.875000 0.875000 180.000000 270.000000 ellipse f -n 6.000000 5.500000 m 6.000000 5.500000 0.875000 0.875000 270.000000 360.000000 ellipse f -n 0.875000 5.500000 m 0.875000 5.500000 l 6.875000 5.500000 l 6.875000 5.500000 l f -n 1.750000 5.500000 m 1.750000 5.500000 0.875000 0.875000 90.000000 180.000000 ellipse f -n 6.000000 5.500000 m 6.000000 5.500000 0.875000 0.875000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 1.750000 4.625000 m 6.000000 4.625000 l s -n 1.750000 6.375000 m 6.000000 6.375000 l s -n 1.750000 5.500000 0.875000 0.875000 180.000000 270.000000 ellipse s -n 6.000000 5.500000 0.875000 0.875000 270.000000 360.000000 ellipse s -n 0.875000 5.500000 m 0.875000 5.500000 l s -n 6.875000 5.500000 m 6.875000 5.500000 l s -n 1.750000 5.500000 0.875000 0.875000 90.000000 180.000000 ellipse s -n 6.000000 5.500000 0.875000 0.875000 0.000000 90.000000 ellipse s -n 2.000000 7.375000 m 2.000000 9.125000 l 5.550000 9.125000 l 5.550000 7.375000 l f -n 2.000000 8.250000 m 2.000000 8.250000 0.875000 0.875000 180.000000 270.000000 ellipse f -n 5.550000 8.250000 m 5.550000 8.250000 0.875000 0.875000 270.000000 360.000000 ellipse f -n 1.125000 8.250000 m 1.125000 8.250000 l 6.425000 8.250000 l 6.425000 8.250000 l f -n 2.000000 8.250000 m 2.000000 8.250000 0.875000 0.875000 90.000000 180.000000 ellipse f -n 5.550000 8.250000 m 5.550000 8.250000 0.875000 0.875000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 2.000000 7.375000 m 5.550000 7.375000 l s -n 2.000000 9.125000 m 5.550000 9.125000 l s -n 2.000000 8.250000 0.875000 0.875000 180.000000 270.000000 ellipse s -n 5.550000 8.250000 0.875000 0.875000 270.000000 360.000000 ellipse s -n 1.125000 8.250000 m 1.125000 8.250000 l s -n 6.425000 8.250000 m 6.425000 8.250000 l s -n 2.000000 8.250000 0.875000 0.875000 90.000000 180.000000 ellipse s -n 5.550000 8.250000 0.875000 0.875000 0.000000 90.000000 ellipse s -n 2.000000 10.125000 m 2.000000 11.875000 l 5.550000 11.875000 l 5.550000 10.125000 l f -n 2.000000 11.000000 m 2.000000 11.000000 0.875000 0.875000 180.000000 270.000000 ellipse f -n 5.550000 11.000000 m 5.550000 11.000000 0.875000 0.875000 270.000000 360.000000 ellipse f -n 1.125000 11.000000 m 1.125000 11.000000 l 6.425000 11.000000 l 6.425000 11.000000 l f -n 2.000000 11.000000 m 2.000000 11.000000 0.875000 0.875000 90.000000 180.000000 ellipse f -n 5.550000 11.000000 m 5.550000 11.000000 0.875000 0.875000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 2.000000 10.125000 m 5.550000 10.125000 l s -n 2.000000 11.875000 m 5.550000 11.875000 l s -n 2.000000 11.000000 0.875000 0.875000 180.000000 270.000000 ellipse s -n 5.550000 11.000000 0.875000 0.875000 270.000000 360.000000 ellipse s -n 1.125000 11.000000 m 1.125000 11.000000 l s -n 6.425000 11.000000 m 6.425000 11.000000 l s -n 2.000000 11.000000 0.875000 0.875000 90.000000 180.000000 ellipse s -n 5.550000 11.000000 0.875000 0.875000 0.000000 90.000000 ellipse s -n 2.000000 12.875000 m 2.000000 14.625000 l 5.550000 14.625000 l 5.550000 12.875000 l f -n 2.000000 13.750000 m 2.000000 13.750000 0.875000 0.875000 180.000000 270.000000 ellipse f -n 5.550000 13.750000 m 5.550000 13.750000 0.875000 0.875000 270.000000 360.000000 ellipse f -n 1.125000 13.750000 m 1.125000 13.750000 l 6.425000 13.750000 l 6.425000 13.750000 l f -n 2.000000 13.750000 m 2.000000 13.750000 0.875000 0.875000 90.000000 180.000000 ellipse f -n 5.550000 13.750000 m 5.550000 13.750000 0.875000 0.875000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 2.000000 12.875000 m 5.550000 12.875000 l s -n 2.000000 14.625000 m 5.550000 14.625000 l s -n 2.000000 13.750000 0.875000 0.875000 180.000000 270.000000 ellipse s -n 5.550000 13.750000 0.875000 0.875000 270.000000 360.000000 ellipse s -n 1.125000 13.750000 m 1.125000 13.750000 l s -n 6.425000 13.750000 m 6.425000 13.750000 l s -n 2.000000 13.750000 0.875000 0.875000 90.000000 180.000000 ellipse s -n 5.550000 13.750000 0.875000 0.875000 0.000000 90.000000 ellipse s -n 2.000000 15.375000 m 2.000000 17.125000 l 5.550000 17.125000 l 5.550000 15.375000 l f -n 2.000000 16.250000 m 2.000000 16.250000 0.875000 0.875000 180.000000 270.000000 ellipse f -n 5.550000 16.250000 m 5.550000 16.250000 0.875000 0.875000 270.000000 360.000000 ellipse f -n 1.125000 16.250000 m 1.125000 16.250000 l 6.425000 16.250000 l 6.425000 16.250000 l f -n 2.000000 16.250000 m 2.000000 16.250000 0.875000 0.875000 90.000000 180.000000 ellipse f -n 5.550000 16.250000 m 5.550000 16.250000 0.875000 0.875000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 2.000000 15.375000 m 5.550000 15.375000 l s -n 2.000000 17.125000 m 5.550000 17.125000 l s -n 2.000000 16.250000 0.875000 0.875000 180.000000 270.000000 ellipse s -n 5.550000 16.250000 0.875000 0.875000 270.000000 360.000000 ellipse s -n 1.125000 16.250000 m 1.125000 16.250000 l s -n 6.425000 16.250000 m 6.425000 16.250000 l s -n 2.000000 16.250000 0.875000 0.875000 90.000000 180.000000 ellipse s -n 5.550000 16.250000 0.875000 0.875000 0.000000 90.000000 ellipse s -n 12.005600 9.111450 m 12.005600 12.811450 l 20.205600 12.811450 l 20.205600 9.111450 l f -n 12.005600 9.511450 m 12.005600 9.511450 0.400000 0.400000 180.000000 270.000000 ellipse f -n 20.205600 9.511450 m 20.205600 9.511450 0.400000 0.400000 270.000000 360.000000 ellipse f -n 11.605600 9.511450 m 11.605600 12.411450 l 20.605600 12.411450 l 20.605600 9.511450 l f -n 12.005600 12.411450 m 12.005600 12.411450 0.400000 0.400000 90.000000 180.000000 ellipse f -n 20.205600 12.411450 m 20.205600 12.411450 0.400000 0.400000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 12.005600 9.111450 m 20.205600 9.111450 l s -n 12.005600 12.811450 m 20.205600 12.811450 l s -n 12.005600 9.511450 0.400000 0.400000 180.000000 270.000000 ellipse s -n 20.205600 9.511450 0.400000 0.400000 270.000000 360.000000 ellipse s -n 11.605600 9.511450 m 11.605600 12.411450 l s -n 20.605600 9.511450 m 20.605600 12.411450 l s -n 12.005600 12.411450 0.400000 0.400000 90.000000 180.000000 ellipse s -n 20.205600 12.411450 0.400000 0.400000 0.000000 90.000000 ellipse s -n 16.005600 4.111450 m 16.005600 7.411450 l 22.155600 7.411450 l 22.155600 4.111450 l f -n 16.005600 4.511450 m 16.005600 4.511450 0.400000 0.400000 180.000000 270.000000 ellipse f -n 22.155600 4.511450 m 22.155600 4.511450 0.400000 0.400000 270.000000 360.000000 ellipse f -n 15.605600 4.511450 m 15.605600 7.011450 l 22.555600 7.011450 l 22.555600 4.511450 l f -n 16.005600 7.011450 m 16.005600 7.011450 0.400000 0.400000 90.000000 180.000000 ellipse f -n 22.155600 7.011450 m 22.155600 7.011450 0.400000 0.400000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 16.005600 4.111450 m 22.155600 4.111450 l s -n 16.005600 7.411450 m 22.155600 7.411450 l s -n 16.005600 4.511450 0.400000 0.400000 180.000000 270.000000 ellipse s -n 22.155600 4.511450 0.400000 0.400000 270.000000 360.000000 ellipse s -n 15.605600 4.511450 m 15.605600 7.011450 l s -n 22.555600 4.511450 m 22.555600 7.011450 l s -n 16.005600 7.011450 0.400000 0.400000 90.000000 180.000000 ellipse s -n 22.155600 7.011450 0.400000 0.400000 0.000000 90.000000 ellipse s -n 9.105630 18.261500 m 9.105630 20.111500 l 12.555630 20.111500 l 12.555630 18.261500 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 9.105630 18.261500 m 9.105630 20.111500 l 12.555630 20.111500 l 12.555630 18.261500 l cp s -n 13.355600 18.261500 m 13.355600 20.111500 l 16.805600 20.111500 l 16.805600 18.261500 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 13.355600 18.261500 m 13.355600 20.111500 l 16.805600 20.111500 l 16.805600 18.261500 l cp s -n 19.405600 18.261500 m 19.405600 20.111500 l 22.855600 20.111500 l 22.855600 18.261500 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 19.405600 18.261500 m 19.405600 20.111500 l 22.855600 20.111500 l 22.855600 18.261500 l cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 19.029394 13.188297 m 19.818300 13.840200 20.818300 15.940200 21.032535 17.239360 c s -0 slj -n 19.188643 12.995580 m 18.412700 12.678700 l 18.870144 13.381014 l f -0 slj -n 20.785867 17.280037 m 21.162700 18.028700 l 21.279204 17.198684 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 15.932418 13.359263 m 15.055600 15.386500 15.205600 16.111500 15.231197 17.200221 c s -0 slj -n 16.161875 13.458507 m 16.250000 12.625000 l 15.702961 13.260018 l f -0 slj -n 14.981266 17.206097 m 15.250000 18.000000 l 15.481128 17.194345 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 15.847040 13.409272 m 14.970300 15.436500 15.120300 16.136500 15.145839 17.225220 c s -0 slj -n 16.076500 13.508510 m 16.164600 12.675000 l 15.617580 13.310035 l f -0 slj -n 14.895908 17.231083 m 15.164600 18.025000 l 15.395770 17.219357 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 13.260655 13.105887 m 11.679900 14.170500 10.974600 16.143100 10.942543 17.231946 c s -0 slj -n 13.400307 13.313245 m 13.924200 12.659000 l 13.121003 12.898529 l f -0 slj -n 10.692651 17.224589 m 10.919000 18.031600 l 11.192435 17.239304 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 3.899328 17.846934 m 3.935120 19.603400 6.933330 22.608500 10.254266 20.478941 c s -0 slj -n 4.149276 17.841841 m 3.883030 17.047100 l 3.649380 17.852027 l f -0 slj -n 10.389217 20.689389 m 10.927700 20.047100 l 10.119316 20.268493 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 3.898465 17.854111 m 3.981360 21.665700 11.542300 23.452200 14.602661 20.587416 c s -0 slj -n 4.148405 17.848675 m 3.881070 17.054300 l 3.648524 17.859547 l f -0 slj -n 14.773509 20.769928 m 15.186700 20.040700 l 14.431812 20.404903 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 3.881413 17.876497 m 3.968900 23.338000 17.036300 23.972900 20.548604 20.660390 c s -0 slj -n 4.131381 17.872493 m 3.868600 17.076600 l 3.631445 17.880502 l f -0 slj -n 20.720132 20.842264 m 21.130600 20.111500 l 20.377076 20.478516 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 6.994366 15.537278 m 7.461400 14.799600 9.511400 12.699600 10.914957 12.127613 c s -0 slj -n 6.783140 15.403548 m 6.566430 16.213200 l 7.205592 15.671008 l f -0 slj -n 11.009305 12.359127 m 11.655800 11.825700 l 10.820609 11.896100 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 7.193068 13.184354 m 8.568690 11.946400 9.779980 11.607100 10.935189 11.190750 c s -0 slj -n 7.025835 12.998523 m 6.598410 13.719500 l 7.360301 13.370184 l f -0 slj -n 11.019954 11.425941 m 11.687800 10.919500 l 10.850423 10.955559 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 7.332861 10.696473 m 8.509050 10.303300 10.259100 10.055800 10.864442 10.026404 c s -0 slj -n 7.253603 10.459370 m 6.574130 10.950100 l 7.412120 10.933577 l f -0 slj -n 10.876568 10.276109 m 11.663500 9.987600 l 10.852316 9.776698 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 7.749201 5.419536 m 9.313720 5.386450 13.789300 5.725000 13.884019 8.225573 c s -0 slj -n 7.743915 5.169592 m 6.949380 5.436450 l 7.754487 5.669480 l f -0 slj -n 13.634198 8.235036 m 13.914300 9.025000 l 14.133840 8.216110 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 7.348807 8.149207 m 8.738980 8.085710 10.332200 8.519290 11.043573 8.836039 c s -0 slj -n 7.337400 7.899468 m 6.549640 8.185710 l 7.360214 8.398947 l f -0 slj -n 10.941882 9.064422 m 11.774400 9.161450 l 11.145264 8.607656 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 19.175935 7.920991 m 19.181065 8.439619 l s -0 slj -n 19.425923 7.918518 m 19.170000 7.321020 l 18.925947 7.923464 l f -0 slj -n 18.931077 8.442092 m 19.187000 9.039590 l 19.431053 8.437146 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -0.521569 0.580392 0.839216 srgb -n 2.151777 12.750000 m 5.758883 12.750000 l 6.256921 12.750000 6.660660 13.141751 6.660660 13.625000 c 6.660660 14.108249 6.256921 14.500000 5.758883 14.500000 c 2.151777 14.500000 l 1.653739 14.500000 1.250000 14.108249 1.250000 13.625000 c 1.250000 13.141751 1.653739 12.750000 2.151777 12.750000 c f -0.000000 0.000000 0.000000 srgb -n 2.151777 12.750000 m 5.758883 12.750000 l 6.256921 12.750000 6.660660 13.141751 6.660660 13.625000 c 6.660660 14.108249 6.256921 14.500000 5.758883 14.500000 c 2.151777 14.500000 l 1.653739 14.500000 1.250000 14.108249 1.250000 13.625000 c 1.250000 13.141751 1.653739 12.750000 2.151777 12.750000 c s -gsave 2.524463 13.825000 translate 0.035278 -0.035278 scale -start_ol -2138 1550 moveto -2214 1451 2302 1410 2435 1410 curveto -2530 1410 2632 1449 2695 1508 curveto -2739 1557 2752 1606 2752 1734 curveto -2752 1916 lineto -2752 2142 2655 2240 2448 2240 curveto -2351 2240 2293 2240 2241 2240 curveto -2032 2240 1813 2240 1551 2240 curveto -908 2240 448 1972 448 1595 curveto -448 1224 762 1036 1506 965 curveto -1793 937 1905 918 1995 885 curveto -2107 847 2176 781 2176 720 curveto -2176 612 1893 518 1551 518 curveto -1262 518 1038 577 883 695 curveto -845 831 776 894 666 894 curveto -593 894 533 856 491 781 curveto -457 727 448 679 448 533 curveto -448 355 lineto -448 226 456 178 476 129 curveto -517 43 581 0 654 0 curveto -706 0 739 0 783 0 curveto -995 0 1266 0 1568 0 curveto -2253 0 2752 278 2752 663 curveto -2752 880 2614 1082 2380 1195 curveto -2220 1275 2008 1327 1609 1374 curveto -1269 1416 1237 1421 1162 1444 curveto -1077 1473 1024 1515 1024 1557 curveto -1024 1642 1281 1722 1554 1722 curveto -1779 1722 1956 1681 2106 1591 curveto -2138 1550 lineto -end_ol grestore -gsave 2.939330 13.825000 translate 0.035278 -0.035278 scale -start_ol -2769 1898 moveto -2769 2136 2691 2240 2520 2240 curveto -2411 2240 2354 2194 2323 2085 curveto -2121 2188 1873 2240 1579 2240 curveto -799 2240 256 1759 256 1072 curveto -256 779 365 524 572 332 curveto -825 101 1146 0 1647 0 curveto -2025 0 2356 62 2568 165 curveto -2780 273 2899 407 2899 541 curveto -2899 667 2780 771 2640 771 curveto -2578 771 2531 753 2484 717 curveto -2349 622 2323 604 2225 577 curveto -2101 541 1888 518 1681 518 curveto -1074 518 768 704 768 1075 curveto -768 1247 841 1410 975 1527 curveto -1121 1659 1312 1722 1577 1722 curveto -1805 1722 1991 1681 2126 1609 curveto -2194 1568 2225 1528 2245 1446 curveto -2271 1347 2282 1319 2323 1292 curveto -2365 1256 2442 1229 2510 1229 curveto -2593 1229 2671 1265 2722 1324 curveto -2759 1364 2769 1410 2769 1527 curveto -2769 1898 lineto -end_ol grestore -gsave 3.354197 13.825000 translate 0.035278 -0.035278 scale -start_ol -1984 0 moveto -2583 0 lineto -2691 0 2762 12 2798 43 curveto -2875 99 2921 203 2921 308 curveto -2921 375 2880 438 2817 480 curveto -2766 510 2719 518 2579 518 curveto -2496 518 lineto -2496 1562 lineto -2496 1988 2112 2240 1473 2240 curveto -1213 2240 829 2173 580 2085 curveto -476 2048 424 1976 424 1867 curveto -424 1785 534 1722 681 1722 curveto -728 1722 801 1722 890 1722 curveto -1131 1722 1324 1722 1497 1722 curveto -1832 1722 1984 1660 1984 1519 curveto -1984 1423 lineto -1772 1457 1611 1472 1445 1472 curveto -984 1472 627 1346 394 1104 curveto -270 973 192 804 192 654 curveto -192 295 612 0 1124 0 curveto -1430 0 1735 51 1984 142 curveto -1984 0 lineto -1984 702 moveto -1692 579 1394 518 1108 518 curveto -879 518 704 595 704 694 curveto -704 866 1033 1024 1394 1024 curveto -1575 1024 1772 1003 1984 966 curveto -1984 702 lineto -end_ol grestore -gsave 3.769063 13.825000 translate 0.035278 -0.035278 scale -start_ol -1024 2240 moveto -541 2240 lineto -499 2240 489 2240 433 2228 curveto -283 2210 196 2103 196 1942 curveto -196 1760 310 1664 512 1658 curveto -512 492 lineto -481 492 lineto -351 492 310 482 263 458 curveto -186 413 139 330 139 246 curveto -139 172 180 93 241 49 curveto -293 15 354 0 477 0 curveto -1050 0 lineto -1158 0 1224 10 1265 34 curveto -1342 84 1388 162 1388 246 curveto -1388 325 1348 399 1282 448 curveto -1231 482 1191 492 1054 492 curveto -1024 492 lineto -1024 1387 lineto -1262 1638 1424 1722 1657 1722 curveto -1970 1722 2112 1609 2112 1368 curveto -2112 492 lineto -1914 492 1803 403 1803 246 curveto -1803 84 1916 0 2146 0 curveto -2602 0 lineto -2710 0 2776 10 2817 34 curveto -2894 79 2940 162 2940 246 curveto -2940 403 2826 492 2624 492 curveto -2624 1387 lineto -2624 1687 2527 1900 2324 2052 curveto -2157 2174 1948 2240 1720 2240 curveto -1441 2240 1268 2170 1024 1954 curveto -1024 2240 lineto -end_ol grestore -gsave 4.183930 13.825000 translate 0.035278 -0.035278 scale -start_ol -2769 1898 moveto -2769 2136 2691 2240 2520 2240 curveto -2411 2240 2354 2194 2323 2085 curveto -2121 2188 1873 2240 1579 2240 curveto -799 2240 256 1759 256 1072 curveto -256 779 365 524 572 332 curveto -825 101 1146 0 1647 0 curveto -2025 0 2356 62 2568 165 curveto -2780 273 2899 407 2899 541 curveto -2899 667 2780 771 2640 771 curveto -2578 771 2531 753 2484 717 curveto -2349 622 2323 604 2225 577 curveto -2101 541 1888 518 1681 518 curveto -1074 518 768 704 768 1075 curveto -768 1247 841 1410 975 1527 curveto -1121 1659 1312 1722 1577 1722 curveto -1805 1722 1991 1681 2126 1609 curveto -2194 1568 2225 1528 2245 1446 curveto -2271 1347 2282 1319 2323 1292 curveto -2365 1256 2442 1229 2510 1229 curveto -2593 1229 2671 1265 2722 1324 curveto -2759 1364 2769 1410 2769 1527 curveto -2769 1898 lineto -end_ol grestore -gsave 4.598797 13.825000 translate 0.035278 -0.035278 scale -start_ol -2851 896 moveto -2851 1095 lineto -2851 1756 2281 2240 1509 2240 curveto -752 2240 171 1752 171 1120 curveto -171 463 736 0 1540 0 curveto -1908 0 2436 93 2670 197 curveto -2794 254 2851 326 2851 430 curveto -2851 559 2742 660 2602 660 curveto -2556 660 2494 651 2431 638 curveto -1954 535 1825 518 1586 518 curveto -1130 518 855 638 736 896 curveto -2851 896 lineto -752 1344 moveto -829 1571 1135 1722 1514 1722 curveto -1892 1722 2193 1575 2276 1344 curveto -752 1344 lineto -end_ol grestore -gsave 5.013663 13.825000 translate 0.035278 -0.035278 scale -start_ol -1792 3200 moveto -874 3200 lineto -745 3200 698 3195 652 3164 curveto -574 3117 528 3034 528 2941 curveto -528 2858 564 2780 637 2734 curveto -684 2692 746 2682 876 2682 curveto -1280 2682 lineto -1280 518 lineto -648 518 lineto -513 518 477 513 430 482 curveto -352 435 305 347 305 259 curveto -305 181 346 98 414 52 curveto -455 16 527 0 646 0 curveto -2426 0 lineto -2529 0 2607 16 2643 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 3200 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -0.521569 0.580392 0.839216 srgb -n 2.151777 15.250000 m 5.758883 15.250000 l 6.256921 15.250000 6.660660 15.641751 6.660660 16.125000 c 6.660660 16.608249 6.256921 17.000000 5.758883 17.000000 c 2.151777 17.000000 l 1.653739 17.000000 1.250000 16.608249 1.250000 16.125000 c 1.250000 15.641751 1.653739 15.250000 2.151777 15.250000 c f -0.000000 0.000000 0.000000 srgb -n 2.151777 15.250000 m 5.758883 15.250000 l 6.256921 15.250000 6.660660 15.641751 6.660660 16.125000 c 6.660660 16.608249 6.256921 17.000000 5.758883 17.000000 c 2.151777 17.000000 l 1.653739 17.000000 1.250000 16.608249 1.250000 16.125000 c 1.250000 15.641751 1.653739 15.250000 2.151777 15.250000 c s -gsave 3.138297 16.325000 translate 0.035278 -0.035278 scale -start_ol -2138 1550 moveto -2214 1451 2302 1410 2435 1410 curveto -2530 1410 2632 1449 2695 1508 curveto -2739 1557 2752 1606 2752 1734 curveto -2752 1916 lineto -2752 2142 2655 2240 2448 2240 curveto -2351 2240 2293 2240 2241 2240 curveto -2032 2240 1813 2240 1551 2240 curveto -908 2240 448 1972 448 1595 curveto -448 1224 762 1036 1506 965 curveto -1793 937 1905 918 1995 885 curveto -2107 847 2176 781 2176 720 curveto -2176 612 1893 518 1551 518 curveto -1262 518 1038 577 883 695 curveto -845 831 776 894 666 894 curveto -593 894 533 856 491 781 curveto -457 727 448 679 448 533 curveto -448 355 lineto -448 226 456 178 476 129 curveto -517 43 581 0 654 0 curveto -706 0 739 0 783 0 curveto -995 0 1266 0 1568 0 curveto -2253 0 2752 278 2752 663 curveto -2752 880 2614 1082 2380 1195 curveto -2220 1275 2008 1327 1609 1374 curveto -1269 1416 1237 1421 1162 1444 curveto -1077 1473 1024 1515 1024 1557 curveto -1024 1642 1281 1722 1554 1722 curveto -1779 1722 1956 1681 2106 1591 curveto -2138 1550 lineto -end_ol grestore -gsave 3.553163 16.325000 translate 0.035278 -0.035278 scale -start_ol -1408 2240 moveto -720 2240 lineto -634 2240 537 2224 506 2199 curveto -430 2152 384 2069 384 1981 curveto -384 1898 425 1820 491 1774 curveto -536 1732 592 1722 719 1722 curveto -896 1722 lineto -896 518 lineto -602 518 lineto -516 518 493 513 463 482 curveto -414 435 384 347 384 259 curveto -384 181 423 98 481 52 curveto -525 16 593 0 705 0 curveto -2150 0 lineto -2252 0 2325 16 2359 36 curveto -2432 83 2476 171 2476 259 curveto -2476 342 2435 420 2367 471 curveto -2315 508 2274 518 2129 518 curveto -1408 518 lineto -1408 1349 lineto -1901 1634 2098 1722 2263 1722 curveto -2336 1722 2388 1722 2466 1722 curveto -2543 1722 2595 1722 2668 1722 curveto -2808 1722 2927 1762 2927 1810 curveto -2927 1901 2891 1962 2782 2048 curveto -2621 2179 2455 2240 2274 2240 curveto -2020 2240 1823 2155 1408 1857 curveto -1408 2240 lineto -end_ol grestore -gsave 3.968030 16.325000 translate 0.035278 -0.035278 scale -start_ol -2624 2240 moveto -1937 2240 lineto -1815 2240 1769 2235 1723 2203 curveto -1647 2156 1601 2067 1601 1978 curveto -1601 1901 1641 1819 1707 1773 curveto -1753 1732 1808 1722 1935 1722 curveto -2112 1722 lineto -2112 800 lineto -1849 572 1722 518 1469 518 curveto -1166 518 1024 614 1024 820 curveto -1024 2240 lineto -427 2240 lineto -298 2240 257 2235 211 2203 curveto -133 2156 87 2067 87 1978 curveto -87 1835 217 1722 372 1722 curveto -429 1722 lineto -512 1722 lineto -512 805 lineto -512 524 609 319 812 176 curveto -974 62 1188 0 1416 0 curveto -1695 0 1858 73 2112 316 curveto -2112 0 lineto -2601 0 lineto -2709 0 2775 13 2817 46 curveto -2894 111 2940 215 2940 326 curveto -2940 449 2826 518 2624 518 curveto -2624 2240 lineto -end_ol grestore -gsave 4.382897 16.325000 translate 0.035278 -0.035278 scale -start_ol -1024 2240 moveto -541 2240 lineto -499 2240 489 2240 433 2228 curveto -283 2210 196 2103 196 1942 curveto -196 1760 310 1664 512 1658 curveto -512 492 lineto -481 492 lineto -351 492 310 482 263 458 curveto -186 413 139 330 139 246 curveto -139 172 180 93 241 49 curveto -293 15 354 0 477 0 curveto -1050 0 lineto -1158 0 1224 10 1265 34 curveto -1342 84 1388 162 1388 246 curveto -1388 325 1348 399 1282 448 curveto -1231 482 1191 492 1054 492 curveto -1024 492 lineto -1024 1387 lineto -1262 1638 1424 1722 1657 1722 curveto -1970 1722 2112 1609 2112 1368 curveto -2112 492 lineto -1914 492 1803 403 1803 246 curveto -1803 84 1916 0 2146 0 curveto -2602 0 lineto -2710 0 2776 10 2817 34 curveto -2894 79 2940 162 2940 246 curveto -2940 403 2826 492 2624 492 curveto -2624 1387 lineto -2624 1687 2527 1900 2324 2052 curveto -2157 2174 1948 2240 1720 2240 curveto -1441 2240 1268 2170 1024 1954 curveto -1024 2240 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -0.521569 0.580392 0.839216 srgb -n 2.151777 10.000000 m 5.758883 10.000000 l 6.256921 10.000000 6.660660 10.391751 6.660660 10.875000 c 6.660660 11.358249 6.256921 11.750000 5.758883 11.750000 c 2.151777 11.750000 l 1.653739 11.750000 1.250000 11.358249 1.250000 10.875000 c 1.250000 10.391751 1.653739 10.000000 2.151777 10.000000 c f -0.000000 0.000000 0.000000 srgb -n 2.151777 10.000000 m 5.758883 10.000000 l 6.256921 10.000000 6.660660 10.391751 6.660660 10.875000 c 6.660660 11.358249 6.256921 11.750000 5.758883 11.750000 c 2.151777 11.750000 l 1.653739 11.750000 1.250000 11.358249 1.250000 10.875000 c 1.250000 10.391751 1.653739 10.000000 2.151777 10.000000 c s -gsave 2.727663 11.075000 translate 0.035278 -0.035278 scale -start_ol -2138 1550 moveto -2214 1451 2302 1410 2435 1410 curveto -2530 1410 2632 1449 2695 1508 curveto -2739 1557 2752 1606 2752 1734 curveto -2752 1916 lineto -2752 2142 2655 2240 2448 2240 curveto -2351 2240 2293 2240 2241 2240 curveto -2032 2240 1813 2240 1551 2240 curveto -908 2240 448 1972 448 1595 curveto -448 1224 762 1036 1506 965 curveto -1793 937 1905 918 1995 885 curveto -2107 847 2176 781 2176 720 curveto -2176 612 1893 518 1551 518 curveto -1262 518 1038 577 883 695 curveto -845 831 776 894 666 894 curveto -593 894 533 856 491 781 curveto -457 727 448 679 448 533 curveto -448 355 lineto -448 226 456 178 476 129 curveto -517 43 581 0 654 0 curveto -706 0 739 0 783 0 curveto -995 0 1266 0 1568 0 curveto -2253 0 2752 278 2752 663 curveto -2752 880 2614 1082 2380 1195 curveto -2220 1275 2008 1327 1609 1374 curveto -1269 1416 1237 1421 1162 1444 curveto -1077 1473 1024 1515 1024 1557 curveto -1024 1642 1281 1722 1554 1722 curveto -1779 1722 1956 1681 2106 1591 curveto -2138 1550 lineto -end_ol grestore -gsave 3.142530 11.075000 translate 0.035278 -0.035278 scale -start_ol -2240 -576 moveto -1941 -576 lineto -1817 -576 1766 -586 1725 -612 curveto -1647 -658 1601 -745 1601 -832 curveto -1601 -914 1637 -986 1704 -1037 curveto -1756 -1078 1812 -1088 1941 -1088 curveto -2837 -1088 lineto -2950 -1088 3012 -1078 3053 -1052 curveto -3131 -1001 3177 -919 3177 -832 curveto -3177 -750 3136 -673 3073 -622 curveto -3022 -586 2975 -576 2835 -576 curveto -2752 -576 lineto -2752 1722 lineto -2835 1722 lineto -2954 1722 3011 1730 3053 1749 curveto -3130 1783 3177 1849 3177 1914 curveto -3177 2018 3136 2116 3074 2181 curveto -3023 2227 2976 2240 2837 2240 curveto -2240 2240 lineto -2240 1940 lineto -1988 2157 1772 2240 1448 2240 curveto -727 2240 192 1765 192 1122 curveto -192 514 722 64 1437 64 curveto -1741 64 1972 146 2240 351 curveto -2240 -576 lineto -1467 1722 moveto -1926 1722 2240 1483 2240 1144 curveto -2240 991 2142 820 1993 714 curveto -1864 624 1688 576 1472 576 curveto -1256 576 1080 624 951 714 curveto -802 820 704 991 704 1149 curveto -704 1307 802 1478 951 1584 curveto -1085 1674 1256 1722 1467 1722 curveto -end_ol grestore -gsave 3.557397 11.075000 translate 0.035278 -0.035278 scale -start_ol -2624 2240 moveto -1937 2240 lineto -1815 2240 1769 2235 1723 2203 curveto -1647 2156 1601 2067 1601 1978 curveto -1601 1901 1641 1819 1707 1773 curveto -1753 1732 1808 1722 1935 1722 curveto -2112 1722 lineto -2112 800 lineto -1849 572 1722 518 1469 518 curveto -1166 518 1024 614 1024 820 curveto -1024 2240 lineto -427 2240 lineto -298 2240 257 2235 211 2203 curveto -133 2156 87 2067 87 1978 curveto -87 1835 217 1722 372 1722 curveto -429 1722 lineto -512 1722 lineto -512 805 lineto -512 524 609 319 812 176 curveto -974 62 1188 0 1416 0 curveto -1695 0 1858 73 2112 316 curveto -2112 0 lineto -2601 0 lineto -2709 0 2775 13 2817 46 curveto -2894 111 2940 215 2940 326 curveto -2940 449 2826 518 2624 518 curveto -2624 2240 lineto -end_ol grestore -gsave 3.972263 11.075000 translate 0.035278 -0.035278 scale -start_ol -2851 896 moveto -2851 1095 lineto -2851 1756 2281 2240 1509 2240 curveto -752 2240 171 1752 171 1120 curveto -171 463 736 0 1540 0 curveto -1908 0 2436 93 2670 197 curveto -2794 254 2851 326 2851 430 curveto -2851 559 2742 660 2602 660 curveto -2556 660 2494 651 2431 638 curveto -1954 535 1825 518 1586 518 curveto -1130 518 855 638 736 896 curveto -2851 896 lineto -752 1344 moveto -829 1571 1135 1722 1514 1722 curveto -1892 1722 2193 1575 2276 1344 curveto -752 1344 lineto -end_ol grestore -gsave 4.387130 11.075000 translate 0.035278 -0.035278 scale -start_ol -2624 2240 moveto -1937 2240 lineto -1815 2240 1769 2235 1723 2203 curveto -1647 2156 1601 2067 1601 1978 curveto -1601 1901 1641 1819 1707 1773 curveto -1753 1732 1808 1722 1935 1722 curveto -2112 1722 lineto -2112 800 lineto -1849 572 1722 518 1469 518 curveto -1166 518 1024 614 1024 820 curveto -1024 2240 lineto -427 2240 lineto -298 2240 257 2235 211 2203 curveto -133 2156 87 2067 87 1978 curveto -87 1835 217 1722 372 1722 curveto -429 1722 lineto -512 1722 lineto -512 805 lineto -512 524 609 319 812 176 curveto -974 62 1188 0 1416 0 curveto -1695 0 1858 73 2112 316 curveto -2112 0 lineto -2601 0 lineto -2709 0 2775 13 2817 46 curveto -2894 111 2940 215 2940 326 curveto -2940 449 2826 518 2624 518 curveto -2624 2240 lineto -end_ol grestore -gsave 4.801997 11.075000 translate 0.035278 -0.035278 scale -start_ol -2851 896 moveto -2851 1095 lineto -2851 1756 2281 2240 1509 2240 curveto -752 2240 171 1752 171 1120 curveto -171 463 736 0 1540 0 curveto -1908 0 2436 93 2670 197 curveto -2794 254 2851 326 2851 430 curveto -2851 559 2742 660 2602 660 curveto -2556 660 2494 651 2431 638 curveto -1954 535 1825 518 1586 518 curveto -1130 518 855 638 736 896 curveto -2851 896 lineto -752 1344 moveto -829 1571 1135 1722 1514 1722 curveto -1892 1722 2193 1575 2276 1344 curveto -752 1344 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -0.521569 0.580392 0.839216 srgb -n 2.151777 7.250000 m 5.758883 7.250000 l 6.256921 7.250000 6.660660 7.641751 6.660660 8.125000 c 6.660660 8.608249 6.256921 9.000000 5.758883 9.000000 c 2.151777 9.000000 l 1.653739 9.000000 1.250000 8.608249 1.250000 8.125000 c 1.250000 7.641751 1.653739 7.250000 2.151777 7.250000 c f -0.000000 0.000000 0.000000 srgb -n 2.151777 7.250000 m 5.758883 7.250000 l 6.256921 7.250000 6.660660 7.641751 6.660660 8.125000 c 6.660660 8.608249 6.256921 9.000000 5.758883 9.000000 c 2.151777 9.000000 l 1.653739 9.000000 1.250000 8.608249 1.250000 8.125000 c 1.250000 7.641751 1.653739 7.250000 2.151777 7.250000 c s -gsave 2.935097 8.325000 translate 0.035278 -0.035278 scale -start_ol -2138 1550 moveto -2214 1451 2302 1410 2435 1410 curveto -2530 1410 2632 1449 2695 1508 curveto -2739 1557 2752 1606 2752 1734 curveto -2752 1916 lineto -2752 2142 2655 2240 2448 2240 curveto -2351 2240 2293 2240 2241 2240 curveto -2032 2240 1813 2240 1551 2240 curveto -908 2240 448 1972 448 1595 curveto -448 1224 762 1036 1506 965 curveto -1793 937 1905 918 1995 885 curveto -2107 847 2176 781 2176 720 curveto -2176 612 1893 518 1551 518 curveto -1262 518 1038 577 883 695 curveto -845 831 776 894 666 894 curveto -593 894 533 856 491 781 curveto -457 727 448 679 448 533 curveto -448 355 lineto -448 226 456 178 476 129 curveto -517 43 581 0 654 0 curveto -706 0 739 0 783 0 curveto -995 0 1266 0 1568 0 curveto -2253 0 2752 278 2752 663 curveto -2752 880 2614 1082 2380 1195 curveto -2220 1275 2008 1327 1609 1374 curveto -1269 1416 1237 1421 1162 1444 curveto -1077 1473 1024 1515 1024 1557 curveto -1024 1642 1281 1722 1554 1722 curveto -1779 1722 1956 1681 2106 1591 curveto -2138 1550 lineto -end_ol grestore -gsave 3.349963 8.325000 translate 0.035278 -0.035278 scale -start_ol -1792 2240 moveto -855 2240 lineto -718 2240 676 2235 628 2204 curveto -549 2157 502 2069 502 1981 curveto -502 1898 544 1820 611 1774 curveto -658 1732 720 1722 850 1722 curveto -1280 1722 lineto -1280 518 lineto -621 518 lineto -486 518 450 513 403 482 curveto -326 435 279 347 279 259 curveto -279 176 321 98 389 52 curveto -431 16 504 0 624 0 curveto -2422 0 lineto -2527 0 2605 16 2642 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 2240 lineto -1728 3200 moveto -1088 3200 lineto -1088 2656 lineto -1728 2656 lineto -1728 3200 lineto -end_ol grestore -gsave 3.764830 8.325000 translate 0.035278 -0.035278 scale -start_ol -1024 2240 moveto -541 2240 lineto -499 2240 489 2240 433 2228 curveto -283 2210 196 2103 196 1942 curveto -196 1760 310 1664 512 1658 curveto -512 492 lineto -481 492 lineto -351 492 310 482 263 458 curveto -186 413 139 330 139 246 curveto -139 172 180 93 241 49 curveto -293 15 354 0 477 0 curveto -1050 0 lineto -1158 0 1224 10 1265 34 curveto -1342 84 1388 162 1388 246 curveto -1388 325 1348 399 1282 448 curveto -1231 482 1191 492 1054 492 curveto -1024 492 lineto -1024 1387 lineto -1262 1638 1424 1722 1657 1722 curveto -1970 1722 2112 1609 2112 1368 curveto -2112 492 lineto -1914 492 1803 403 1803 246 curveto -1803 84 1916 0 2146 0 curveto -2602 0 lineto -2710 0 2776 10 2817 34 curveto -2894 79 2940 162 2940 246 curveto -2940 403 2826 492 2624 492 curveto -2624 1387 lineto -2624 1687 2527 1900 2324 2052 curveto -2157 2174 1948 2240 1720 2240 curveto -1441 2240 1268 2170 1024 1954 curveto -1024 2240 lineto -end_ol grestore -gsave 4.179697 8.325000 translate 0.035278 -0.035278 scale -start_ol -1536 1722 moveto -2319 1722 lineto -2433 1722 2495 1732 2537 1758 curveto -2614 1810 2661 1893 2661 1981 curveto -2661 2064 2620 2142 2552 2193 curveto -2500 2230 2459 2240 2319 2240 curveto -1536 2240 lineto -1536 2430 lineto -1536 2600 1676 2682 1971 2682 curveto -2132 2682 2381 2682 2557 2682 curveto -2619 2682 2671 2682 2702 2682 curveto -2837 2682 2946 2765 2946 2874 curveto -2946 2993 2869 3081 2729 3117 curveto -2564 3164 2238 3200 2021 3200 curveto -1406 3200 1024 2920 1024 2467 curveto -1024 2240 lineto -786 2240 lineto -646 2240 609 2235 563 2204 curveto -485 2157 438 2069 438 1981 curveto -438 1898 479 1820 547 1774 curveto -593 1732 656 1722 780 1722 curveto -1024 1722 lineto -1024 518 lineto -723 518 lineto -588 518 552 513 505 482 curveto -428 435 381 347 381 259 curveto -381 181 422 98 484 52 curveto -531 16 603 0 722 0 curveto -2258 0 lineto -2361 0 2439 16 2475 36 curveto -2552 88 2599 171 2599 259 curveto -2599 342 2558 420 2495 471 curveto -2444 508 2397 518 2257 518 curveto -1536 518 lineto -1536 1722 lineto -end_ol grestore -gsave 4.594563 8.325000 translate 0.035278 -0.035278 scale -start_ol -1552 2240 moveto -781 2240 192 1755 192 1120 curveto -192 495 786 0 1536 0 curveto -2286 0 2880 495 2880 1120 curveto -2880 1740 2286 2240 1552 2240 curveto -1547 1722 moveto -2005 1722 2368 1455 2368 1120 curveto -2368 781 2005 518 1536 518 curveto -1067 518 704 781 704 1120 curveto -704 1464 1067 1722 1547 1722 curveto -end_ol grestore -0.462745 0.615686 0.462745 srgb -n 12.150000 9.000000 m 12.150000 12.650000 l 20.350000 12.650000 l 20.350000 9.000000 l f -n 12.150000 9.400000 m 12.150000 9.400000 0.400000 0.400000 180.000000 270.000000 ellipse f -n 20.350000 9.400000 m 20.350000 9.400000 0.400000 0.400000 270.000000 360.000000 ellipse f -n 11.750000 9.400000 m 11.750000 12.250000 l 20.750000 12.250000 l 20.750000 9.400000 l f -n 12.150000 12.250000 m 12.150000 12.250000 0.400000 0.400000 90.000000 180.000000 ellipse f -n 20.350000 12.250000 m 20.350000 12.250000 0.400000 0.400000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 12.150000 9.000000 m 20.350000 9.000000 l s -n 12.150000 12.650000 m 20.350000 12.650000 l s -n 12.150000 9.400000 0.400000 0.400000 180.000000 270.000000 ellipse s -n 20.350000 9.400000 0.400000 0.400000 270.000000 360.000000 ellipse s -n 11.750000 9.400000 m 11.750000 12.250000 l s -n 20.750000 9.400000 m 20.750000 12.250000 l s -n 12.150000 12.250000 0.400000 0.400000 90.000000 180.000000 ellipse s -n 20.350000 12.250000 0.400000 0.400000 0.000000 90.000000 ellipse s -gsave 14.378867 10.575000 translate 0.035278 -0.035278 scale -start_ol -2138 1550 moveto -2214 1451 2302 1410 2435 1410 curveto -2530 1410 2632 1449 2695 1508 curveto -2739 1557 2752 1606 2752 1734 curveto -2752 1916 lineto -2752 2142 2655 2240 2448 2240 curveto -2351 2240 2293 2240 2241 2240 curveto -2032 2240 1813 2240 1551 2240 curveto -908 2240 448 1972 448 1595 curveto -448 1224 762 1036 1506 965 curveto -1793 937 1905 918 1995 885 curveto -2107 847 2176 781 2176 720 curveto -2176 612 1893 518 1551 518 curveto -1262 518 1038 577 883 695 curveto -845 831 776 894 666 894 curveto -593 894 533 856 491 781 curveto -457 727 448 679 448 533 curveto -448 355 lineto -448 226 456 178 476 129 curveto -517 43 581 0 654 0 curveto -706 0 739 0 783 0 curveto -995 0 1266 0 1568 0 curveto -2253 0 2752 278 2752 663 curveto -2752 880 2614 1082 2380 1195 curveto -2220 1275 2008 1327 1609 1374 curveto -1269 1416 1237 1421 1162 1444 curveto -1077 1473 1024 1515 1024 1557 curveto -1024 1642 1281 1722 1554 1722 curveto -1779 1722 1956 1681 2106 1591 curveto -2138 1550 lineto -end_ol grestore -gsave 14.793733 10.575000 translate 0.035278 -0.035278 scale -start_ol -1792 3200 moveto -874 3200 lineto -745 3200 698 3195 652 3164 curveto -574 3117 528 3034 528 2941 curveto -528 2858 564 2780 637 2734 curveto -684 2692 746 2682 876 2682 curveto -1280 2682 lineto -1280 518 lineto -648 518 lineto -513 518 477 513 430 482 curveto -352 435 305 347 305 259 curveto -305 181 346 98 414 52 curveto -455 16 527 0 646 0 curveto -2426 0 lineto -2529 0 2607 16 2643 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 3200 lineto -end_ol grestore -gsave 15.208600 10.575000 translate 0.035278 -0.035278 scale -start_ol -2624 2240 moveto -1937 2240 lineto -1815 2240 1769 2235 1723 2203 curveto -1647 2156 1601 2067 1601 1978 curveto -1601 1901 1641 1819 1707 1773 curveto -1753 1732 1808 1722 1935 1722 curveto -2112 1722 lineto -2112 800 lineto -1849 572 1722 518 1469 518 curveto -1166 518 1024 614 1024 820 curveto -1024 2240 lineto -427 2240 lineto -298 2240 257 2235 211 2203 curveto -133 2156 87 2067 87 1978 curveto -87 1835 217 1722 372 1722 curveto -429 1722 lineto -512 1722 lineto -512 805 lineto -512 524 609 319 812 176 curveto -974 62 1188 0 1416 0 curveto -1695 0 1858 73 2112 316 curveto -2112 0 lineto -2601 0 lineto -2709 0 2775 13 2817 46 curveto -2894 111 2940 215 2940 326 curveto -2940 449 2826 518 2624 518 curveto -2624 2240 lineto -end_ol grestore -gsave 15.623467 10.575000 translate 0.035278 -0.035278 scale -start_ol -1408 2240 moveto -720 2240 lineto -634 2240 537 2224 506 2199 curveto -430 2152 384 2069 384 1981 curveto -384 1898 425 1820 491 1774 curveto -536 1732 592 1722 719 1722 curveto -896 1722 lineto -896 518 lineto -602 518 lineto -516 518 493 513 463 482 curveto -414 435 384 347 384 259 curveto -384 181 423 98 481 52 curveto -525 16 593 0 705 0 curveto -2150 0 lineto -2252 0 2325 16 2359 36 curveto -2432 83 2476 171 2476 259 curveto -2476 342 2435 420 2367 471 curveto -2315 508 2274 518 2129 518 curveto -1408 518 lineto -1408 1349 lineto -1901 1634 2098 1722 2263 1722 curveto -2336 1722 2388 1722 2466 1722 curveto -2543 1722 2595 1722 2668 1722 curveto -2808 1722 2927 1762 2927 1810 curveto -2927 1901 2891 1962 2782 2048 curveto -2621 2179 2455 2240 2274 2240 curveto -2020 2240 1823 2155 1408 1857 curveto -1408 2240 lineto -end_ol grestore -gsave 16.038333 10.575000 translate 0.035278 -0.035278 scale -start_ol -704 2240 moveto -226 2240 lineto -184 2240 174 2240 118 2227 curveto --32 2207 -119 2084 -119 1914 curveto --119 1755 -5 1663 192 1658 curveto -192 492 lineto --5 492 -119 403 -119 246 curveto --119 172 -78 93 -11 49 curveto -36 15 103 0 227 0 curveto -681 0 lineto -789 0 856 10 897 34 curveto -975 84 1021 162 1021 246 curveto -1021 403 907 492 704 492 curveto -704 1501 lineto -860 1668 958 1722 1098 1722 curveto -1228 1722 1280 1668 1280 1530 curveto -1280 0 lineto -1784 0 lineto -1897 0 1966 10 2009 34 curveto -2090 84 2138 162 2138 246 curveto -2138 399 2011 492 1792 492 curveto -1792 1501 lineto -1988 1678 2080 1722 2230 1722 curveto -2380 1722 2432 1673 2432 1530 curveto -2432 0 lineto -2916 0 lineto -3142 0 3255 84 3255 246 curveto -3255 403 3141 492 2944 492 curveto -2944 1569 lineto -2944 1953 2640 2240 2233 2240 curveto -2011 2240 1837 2162 1669 1986 curveto -1514 2157 1344 2240 1143 2240 curveto -988 2240 885 2199 704 2071 curveto -704 2240 lineto -end_ol grestore -gsave 16.453200 10.575000 translate 0.035278 -0.035278 scale -start_ol -2769 1898 moveto -2769 2136 2691 2240 2520 2240 curveto -2411 2240 2354 2194 2323 2085 curveto -2121 2188 1873 2240 1579 2240 curveto -799 2240 256 1759 256 1072 curveto -256 779 365 524 572 332 curveto -825 101 1146 0 1647 0 curveto -2025 0 2356 62 2568 165 curveto -2780 273 2899 407 2899 541 curveto -2899 667 2780 771 2640 771 curveto -2578 771 2531 753 2484 717 curveto -2349 622 2323 604 2225 577 curveto -2101 541 1888 518 1681 518 curveto -1074 518 768 704 768 1075 curveto -768 1247 841 1410 975 1527 curveto -1121 1659 1312 1722 1577 1722 curveto -1805 1722 1991 1681 2126 1609 curveto -2194 1568 2225 1528 2245 1446 curveto -2271 1347 2282 1319 2323 1292 curveto -2365 1256 2442 1229 2510 1229 curveto -2593 1229 2671 1265 2722 1324 curveto -2759 1364 2769 1410 2769 1527 curveto -2769 1898 lineto -end_ol grestore -gsave 16.868067 10.575000 translate 0.035278 -0.035278 scale -start_ol -1088 1722 moveto -2026 1722 lineto -2140 1722 2202 1732 2244 1758 curveto -2321 1805 2368 1893 2368 1981 curveto -2368 2064 2327 2142 2264 2193 curveto -2207 2230 2166 2240 2026 2240 curveto -1088 2240 lineto -1088 2679 lineto -1088 2809 1083 2843 1052 2888 curveto -1006 2963 919 3008 832 3008 curveto -750 3008 673 2968 627 2908 curveto -586 2858 576 2809 576 2679 curveto -576 2240 lineto -395 2240 lineto -260 2240 224 2235 177 2204 curveto -99 2157 52 2069 52 1981 curveto -52 1903 94 1820 156 1774 curveto -208 1732 265 1722 395 1722 curveto -576 1722 lineto -576 699 lineto -576 268 943 0 1532 0 curveto -1801 0 2209 88 2463 207 curveto -2659 295 2721 363 2721 487 curveto -2721 622 2612 732 2472 732 curveto -2415 732 2379 722 2291 680 curveto -2057 570 1809 518 1534 518 curveto -1337 518 1192 551 1129 613 curveto -1098 646 1088 689 1088 789 curveto -1088 1722 lineto -end_ol grestore -gsave 17.282933 10.575000 translate 0.035278 -0.035278 scale -start_ol -1792 3200 moveto -874 3200 lineto -745 3200 698 3195 652 3164 curveto -574 3117 528 3034 528 2941 curveto -528 2858 564 2780 637 2734 curveto -684 2692 746 2682 876 2682 curveto -1280 2682 lineto -1280 518 lineto -648 518 lineto -513 518 477 513 430 482 curveto -352 435 305 347 305 259 curveto -305 181 346 98 414 52 curveto -455 16 527 0 646 0 curveto -2426 0 lineto -2529 0 2607 16 2643 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 3200 lineto -end_ol grestore -gsave 17.697800 10.575000 translate 0.035278 -0.035278 scale -start_ol -2752 3137 moveto -2156 3137 lineto -2022 3137 1987 3132 1940 3101 curveto -1863 3054 1817 2966 1817 2883 curveto -1817 2800 1858 2722 1920 2671 curveto -1972 2634 2024 2624 2158 2624 curveto -2240 2624 lineto -2240 1981 lineto -2019 2157 1777 2240 1468 2240 curveto -1077 2240 789 2139 552 1927 curveto -315 1715 192 1436 192 1122 curveto -192 804 315 530 552 313 curveto -789 101 1077 0 1463 0 curveto -1767 0 1967 67 2240 254 curveto -2240 0 lineto -2837 0 lineto -2956 0 3012 13 3053 46 curveto -3131 106 3177 219 3177 332 curveto -3177 392 3136 447 3073 485 curveto -3022 511 2975 518 2835 518 curveto -2752 518 lineto -2752 3137 lineto -1467 1722 moveto -1725 1722 1890 1667 2039 1540 curveto -2168 1427 2240 1277 2240 1113 curveto -2240 968 2168 813 2039 700 curveto -1895 577 1719 518 1472 518 curveto -1225 518 1049 577 905 700 curveto -776 818 704 968 704 1122 curveto -704 1272 776 1427 905 1540 curveto -1049 1667 1219 1722 1467 1722 curveto -end_ol grestore -gsave 14.472000 11.475000 translate 0.035278 -0.035278 scale -start_ol -2241 3276 moveto -2127 3276 2065 3230 1946 3043 curveto -1567 2478 1344 1814 1344 1260 curveto -1344 689 1531 93 1899 -492 curveto -2050 -736 2117 -793 2241 -793 curveto -2392 -793 2506 -679 2506 -539 curveto -2506 -477 2496 -446 2444 -363 curveto -2086 218 1920 715 1920 1244 curveto -1920 1768 2081 2265 2444 2846 curveto -2496 2929 2506 2960 2506 3022 curveto -2506 3162 2392 3276 2241 3276 curveto -end_ol grestore -gsave 14.886867 11.475000 translate 0.035278 -0.035278 scale -start_ol -896 351 moveto -1164 146 1391 64 1696 64 curveto -2413 64 2944 514 2944 1122 curveto -2944 1760 2407 2240 1685 2240 curveto -1365 2240 1149 2157 896 1940 curveto -896 2240 lineto -299 2240 lineto -175 2240 129 2227 83 2194 curveto -5 2136 -41 2025 -41 1914 curveto --41 1853 0 1795 63 1757 curveto -114 1730 166 1722 301 1722 curveto -384 1722 lineto -384 -576 lineto -301 -576 lineto -177 -576 130 -581 83 -612 curveto -6 -658 -41 -745 -41 -832 curveto --41 -914 0 -991 62 -1037 curveto -114 -1078 170 -1088 299 -1088 curveto -1197 -1088 lineto -1310 -1088 1372 -1078 1413 -1052 curveto -1491 -1001 1537 -919 1537 -832 curveto -1537 -750 1501 -673 1434 -622 curveto -1382 -586 1330 -576 1196 -576 curveto -896 -576 lineto -896 351 lineto -1667 1722 moveto -1879 1722 2049 1679 2184 1584 curveto -2334 1483 2432 1307 2432 1149 curveto -2432 815 2111 576 1667 576 curveto -1211 576 896 815 896 1154 curveto -896 1307 994 1483 1144 1584 curveto -1279 1679 1449 1722 1667 1722 curveto -end_ol grestore -gsave 15.301733 11.475000 translate 0.035278 -0.035278 scale -start_ol -1408 2240 moveto -720 2240 lineto -634 2240 537 2224 506 2199 curveto -430 2152 384 2069 384 1981 curveto -384 1898 425 1820 491 1774 curveto -536 1732 592 1722 719 1722 curveto -896 1722 lineto -896 518 lineto -602 518 lineto -516 518 493 513 463 482 curveto -414 435 384 347 384 259 curveto -384 181 423 98 481 52 curveto -525 16 593 0 705 0 curveto -2150 0 lineto -2252 0 2325 16 2359 36 curveto -2432 83 2476 171 2476 259 curveto -2476 342 2435 420 2367 471 curveto -2315 508 2274 518 2129 518 curveto -1408 518 lineto -1408 1349 lineto -1901 1634 2098 1722 2263 1722 curveto -2336 1722 2388 1722 2466 1722 curveto -2543 1722 2595 1722 2668 1722 curveto -2808 1722 2927 1762 2927 1810 curveto -2927 1901 2891 1962 2782 2048 curveto -2621 2179 2455 2240 2274 2240 curveto -2020 2240 1823 2155 1408 1857 curveto -1408 2240 lineto -end_ol grestore -gsave 15.716600 11.475000 translate 0.035278 -0.035278 scale -start_ol -1792 2240 moveto -855 2240 lineto -718 2240 676 2235 628 2204 curveto -549 2157 502 2069 502 1981 curveto -502 1898 544 1820 611 1774 curveto -658 1732 720 1722 850 1722 curveto -1280 1722 lineto -1280 518 lineto -621 518 lineto -486 518 450 513 403 482 curveto -326 435 279 347 279 259 curveto -279 176 321 98 389 52 curveto -431 16 504 0 624 0 curveto -2422 0 lineto -2527 0 2605 16 2642 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 2240 lineto -1728 3200 moveto -1088 3200 lineto -1088 2656 lineto -1728 2656 lineto -1728 3200 lineto -end_ol grestore -gsave 16.131467 11.475000 translate 0.035278 -0.035278 scale -start_ol -704 2240 moveto -226 2240 lineto -184 2240 174 2240 118 2227 curveto --32 2207 -119 2084 -119 1914 curveto --119 1755 -5 1663 192 1658 curveto -192 492 lineto --5 492 -119 403 -119 246 curveto --119 172 -78 93 -11 49 curveto -36 15 103 0 227 0 curveto -681 0 lineto -789 0 856 10 897 34 curveto -975 84 1021 162 1021 246 curveto -1021 403 907 492 704 492 curveto -704 1501 lineto -860 1668 958 1722 1098 1722 curveto -1228 1722 1280 1668 1280 1530 curveto -1280 0 lineto -1784 0 lineto -1897 0 1966 10 2009 34 curveto -2090 84 2138 162 2138 246 curveto -2138 399 2011 492 1792 492 curveto -1792 1501 lineto -1988 1678 2080 1722 2230 1722 curveto -2380 1722 2432 1673 2432 1530 curveto -2432 0 lineto -2916 0 lineto -3142 0 3255 84 3255 246 curveto -3255 403 3141 492 2944 492 curveto -2944 1569 lineto -2944 1953 2640 2240 2233 2240 curveto -2011 2240 1837 2162 1669 1986 curveto -1514 2157 1344 2240 1143 2240 curveto -988 2240 885 2199 704 2071 curveto -704 2240 lineto -end_ol grestore -gsave 16.546333 11.475000 translate 0.035278 -0.035278 scale -start_ol -1984 0 moveto -2583 0 lineto -2691 0 2762 12 2798 43 curveto -2875 99 2921 203 2921 308 curveto -2921 375 2880 438 2817 480 curveto -2766 510 2719 518 2579 518 curveto -2496 518 lineto -2496 1562 lineto -2496 1988 2112 2240 1473 2240 curveto -1213 2240 829 2173 580 2085 curveto -476 2048 424 1976 424 1867 curveto -424 1785 534 1722 681 1722 curveto -728 1722 801 1722 890 1722 curveto -1131 1722 1324 1722 1497 1722 curveto -1832 1722 1984 1660 1984 1519 curveto -1984 1423 lineto -1772 1457 1611 1472 1445 1472 curveto -984 1472 627 1346 394 1104 curveto -270 973 192 804 192 654 curveto -192 295 612 0 1124 0 curveto -1430 0 1735 51 1984 142 curveto -1984 0 lineto -1984 702 moveto -1692 579 1394 518 1108 518 curveto -879 518 704 595 704 694 curveto -704 866 1033 1024 1394 1024 curveto -1575 1024 1772 1003 1984 966 curveto -1984 702 lineto -end_ol grestore -gsave 16.961200 11.475000 translate 0.035278 -0.035278 scale -start_ol -1408 2240 moveto -720 2240 lineto -634 2240 537 2224 506 2199 curveto -430 2152 384 2069 384 1981 curveto -384 1898 425 1820 491 1774 curveto -536 1732 592 1722 719 1722 curveto -896 1722 lineto -896 518 lineto -602 518 lineto -516 518 493 513 463 482 curveto -414 435 384 347 384 259 curveto -384 181 423 98 481 52 curveto -525 16 593 0 705 0 curveto -2150 0 lineto -2252 0 2325 16 2359 36 curveto -2432 83 2476 171 2476 259 curveto -2476 342 2435 420 2367 471 curveto -2315 508 2274 518 2129 518 curveto -1408 518 lineto -1408 1349 lineto -1901 1634 2098 1722 2263 1722 curveto -2336 1722 2388 1722 2466 1722 curveto -2543 1722 2595 1722 2668 1722 curveto -2808 1722 2927 1762 2927 1810 curveto -2927 1901 2891 1962 2782 2048 curveto -2621 2179 2455 2240 2274 2240 curveto -2020 2240 1823 2155 1408 1857 curveto -1408 2240 lineto -end_ol grestore -gsave 17.376067 11.475000 translate 0.035278 -0.035278 scale -start_ol -1255 -15 moveto -969 -576 lineto -451 -576 lineto -327 -576 280 -586 233 -612 curveto -156 -658 109 -745 109 -832 curveto -109 -914 150 -991 218 -1037 curveto -264 -1078 321 -1088 451 -1088 curveto -1566 -1088 lineto -1680 -1088 1742 -1078 1783 -1052 curveto -1861 -1001 1908 -919 1908 -832 curveto -1908 -750 1866 -673 1804 -622 curveto -1752 -586 1700 -576 1566 -576 curveto -1540 -576 lineto -2732 1720 lineto -2903 1736 3002 1829 3002 1980 curveto -3002 2063 2965 2141 2893 2193 curveto -2846 2230 2794 2240 2659 2240 curveto -2182 2240 lineto -2141 2240 2131 2240 2074 2230 curveto -1923 2214 1835 2120 1835 1980 curveto -1835 1814 1954 1720 2167 1720 curveto -1545 562 lineto -954 1720 lineto -1151 1725 1260 1819 1260 1980 curveto -1260 2063 1218 2141 1156 2193 curveto -1104 2230 1052 2240 918 2240 curveto -451 2240 lineto -415 2240 404 2240 347 2230 curveto -197 2214 109 2120 109 1980 curveto -109 1834 202 1741 363 1720 curveto -1255 -15 lineto -end_ol grestore -gsave 17.790933 11.475000 translate 0.035278 -0.035278 scale -start_ol -895 3276 moveto -744 3276 630 3162 630 3022 curveto -630 2960 640 2929 692 2846 curveto -1050 2265 1216 1768 1216 1239 curveto -1216 715 1055 218 692 -363 curveto -640 -446 630 -477 630 -539 curveto -630 -679 744 -793 895 -793 curveto -1009 -793 1071 -746 1190 -565 curveto -1569 5 1792 669 1792 1223 curveto -1792 1794 1605 2390 1237 2976 curveto -1087 3219 1019 3276 895 3276 curveto -end_ol grestore -0.870588 0.870588 0.870588 srgb -n 16.150000 4.000000 m 16.150000 7.250000 l 22.350000 7.250000 l 22.350000 4.000000 l f -n 16.150000 4.400000 m 16.150000 4.400000 0.400000 0.400000 180.000000 270.000000 ellipse f -n 22.350000 4.400000 m 22.350000 4.400000 0.400000 0.400000 270.000000 360.000000 ellipse f -n 15.750000 4.400000 m 15.750000 6.850000 l 22.750000 6.850000 l 22.750000 4.400000 l f -n 16.150000 6.850000 m 16.150000 6.850000 0.400000 0.400000 90.000000 180.000000 ellipse f -n 22.350000 6.850000 m 22.350000 6.850000 0.400000 0.400000 0.000000 90.000000 ellipse f -0.050000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 16.150000 4.000000 m 22.350000 4.000000 l s -n 16.150000 7.250000 m 22.350000 7.250000 l s -n 16.150000 4.400000 0.400000 0.400000 180.000000 270.000000 ellipse s -n 22.350000 4.400000 0.400000 0.400000 270.000000 360.000000 ellipse s -n 15.750000 4.400000 m 15.750000 6.850000 l s -n 22.750000 4.400000 m 22.750000 6.850000 l s -n 16.150000 6.850000 0.400000 0.400000 90.000000 180.000000 ellipse s -n 22.350000 6.850000 0.400000 0.400000 0.000000 90.000000 ellipse s -gsave 17.378867 5.375000 translate 0.035278 -0.035278 scale -start_ol -2138 1550 moveto -2214 1451 2302 1410 2435 1410 curveto -2530 1410 2632 1449 2695 1508 curveto -2739 1557 2752 1606 2752 1734 curveto -2752 1916 lineto -2752 2142 2655 2240 2448 2240 curveto -2351 2240 2293 2240 2241 2240 curveto -2032 2240 1813 2240 1551 2240 curveto -908 2240 448 1972 448 1595 curveto -448 1224 762 1036 1506 965 curveto -1793 937 1905 918 1995 885 curveto -2107 847 2176 781 2176 720 curveto -2176 612 1893 518 1551 518 curveto -1262 518 1038 577 883 695 curveto -845 831 776 894 666 894 curveto -593 894 533 856 491 781 curveto -457 727 448 679 448 533 curveto -448 355 lineto -448 226 456 178 476 129 curveto -517 43 581 0 654 0 curveto -706 0 739 0 783 0 curveto -995 0 1266 0 1568 0 curveto -2253 0 2752 278 2752 663 curveto -2752 880 2614 1082 2380 1195 curveto -2220 1275 2008 1327 1609 1374 curveto -1269 1416 1237 1421 1162 1444 curveto -1077 1473 1024 1515 1024 1557 curveto -1024 1642 1281 1722 1554 1722 curveto -1779 1722 1956 1681 2106 1591 curveto -2138 1550 lineto -end_ol grestore -gsave 17.793733 5.375000 translate 0.035278 -0.035278 scale -start_ol -1792 3200 moveto -874 3200 lineto -745 3200 698 3195 652 3164 curveto -574 3117 528 3034 528 2941 curveto -528 2858 564 2780 637 2734 curveto -684 2692 746 2682 876 2682 curveto -1280 2682 lineto -1280 518 lineto -648 518 lineto -513 518 477 513 430 482 curveto -352 435 305 347 305 259 curveto -305 181 346 98 414 52 curveto -455 16 527 0 646 0 curveto -2426 0 lineto -2529 0 2607 16 2643 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 3200 lineto -end_ol grestore -gsave 18.208600 5.375000 translate 0.035278 -0.035278 scale -start_ol -2624 2240 moveto -1937 2240 lineto -1815 2240 1769 2235 1723 2203 curveto -1647 2156 1601 2067 1601 1978 curveto -1601 1901 1641 1819 1707 1773 curveto -1753 1732 1808 1722 1935 1722 curveto -2112 1722 lineto -2112 800 lineto -1849 572 1722 518 1469 518 curveto -1166 518 1024 614 1024 820 curveto -1024 2240 lineto -427 2240 lineto -298 2240 257 2235 211 2203 curveto -133 2156 87 2067 87 1978 curveto -87 1835 217 1722 372 1722 curveto -429 1722 lineto -512 1722 lineto -512 805 lineto -512 524 609 319 812 176 curveto -974 62 1188 0 1416 0 curveto -1695 0 1858 73 2112 316 curveto -2112 0 lineto -2601 0 lineto -2709 0 2775 13 2817 46 curveto -2894 111 2940 215 2940 326 curveto -2940 449 2826 518 2624 518 curveto -2624 2240 lineto -end_ol grestore -gsave 18.623467 5.375000 translate 0.035278 -0.035278 scale -start_ol -1408 2240 moveto -720 2240 lineto -634 2240 537 2224 506 2199 curveto -430 2152 384 2069 384 1981 curveto -384 1898 425 1820 491 1774 curveto -536 1732 592 1722 719 1722 curveto -896 1722 lineto -896 518 lineto -602 518 lineto -516 518 493 513 463 482 curveto -414 435 384 347 384 259 curveto -384 181 423 98 481 52 curveto -525 16 593 0 705 0 curveto -2150 0 lineto -2252 0 2325 16 2359 36 curveto -2432 83 2476 171 2476 259 curveto -2476 342 2435 420 2367 471 curveto -2315 508 2274 518 2129 518 curveto -1408 518 lineto -1408 1349 lineto -1901 1634 2098 1722 2263 1722 curveto -2336 1722 2388 1722 2466 1722 curveto -2543 1722 2595 1722 2668 1722 curveto -2808 1722 2927 1762 2927 1810 curveto -2927 1901 2891 1962 2782 2048 curveto -2621 2179 2455 2240 2274 2240 curveto -2020 2240 1823 2155 1408 1857 curveto -1408 2240 lineto -end_ol grestore -gsave 19.038333 5.375000 translate 0.035278 -0.035278 scale -start_ol -704 2240 moveto -226 2240 lineto -184 2240 174 2240 118 2227 curveto --32 2207 -119 2084 -119 1914 curveto --119 1755 -5 1663 192 1658 curveto -192 492 lineto --5 492 -119 403 -119 246 curveto --119 172 -78 93 -11 49 curveto -36 15 103 0 227 0 curveto -681 0 lineto -789 0 856 10 897 34 curveto -975 84 1021 162 1021 246 curveto -1021 403 907 492 704 492 curveto -704 1501 lineto -860 1668 958 1722 1098 1722 curveto -1228 1722 1280 1668 1280 1530 curveto -1280 0 lineto -1784 0 lineto -1897 0 1966 10 2009 34 curveto -2090 84 2138 162 2138 246 curveto -2138 399 2011 492 1792 492 curveto -1792 1501 lineto -1988 1678 2080 1722 2230 1722 curveto -2380 1722 2432 1673 2432 1530 curveto -2432 0 lineto -2916 0 lineto -3142 0 3255 84 3255 246 curveto -3255 403 3141 492 2944 492 curveto -2944 1569 lineto -2944 1953 2640 2240 2233 2240 curveto -2011 2240 1837 2162 1669 1986 curveto -1514 2157 1344 2240 1143 2240 curveto -988 2240 885 2199 704 2071 curveto -704 2240 lineto -end_ol grestore -gsave 19.453200 5.375000 translate 0.035278 -0.035278 scale -start_ol -2769 1898 moveto -2769 2136 2691 2240 2520 2240 curveto -2411 2240 2354 2194 2323 2085 curveto -2121 2188 1873 2240 1579 2240 curveto -799 2240 256 1759 256 1072 curveto -256 779 365 524 572 332 curveto -825 101 1146 0 1647 0 curveto -2025 0 2356 62 2568 165 curveto -2780 273 2899 407 2899 541 curveto -2899 667 2780 771 2640 771 curveto -2578 771 2531 753 2484 717 curveto -2349 622 2323 604 2225 577 curveto -2101 541 1888 518 1681 518 curveto -1074 518 768 704 768 1075 curveto -768 1247 841 1410 975 1527 curveto -1121 1659 1312 1722 1577 1722 curveto -1805 1722 1991 1681 2126 1609 curveto -2194 1568 2225 1528 2245 1446 curveto -2271 1347 2282 1319 2323 1292 curveto -2365 1256 2442 1229 2510 1229 curveto -2593 1229 2671 1265 2722 1324 curveto -2759 1364 2769 1410 2769 1527 curveto -2769 1898 lineto -end_ol grestore -gsave 19.868067 5.375000 translate 0.035278 -0.035278 scale -start_ol -1088 1722 moveto -2026 1722 lineto -2140 1722 2202 1732 2244 1758 curveto -2321 1805 2368 1893 2368 1981 curveto -2368 2064 2327 2142 2264 2193 curveto -2207 2230 2166 2240 2026 2240 curveto -1088 2240 lineto -1088 2679 lineto -1088 2809 1083 2843 1052 2888 curveto -1006 2963 919 3008 832 3008 curveto -750 3008 673 2968 627 2908 curveto -586 2858 576 2809 576 2679 curveto -576 2240 lineto -395 2240 lineto -260 2240 224 2235 177 2204 curveto -99 2157 52 2069 52 1981 curveto -52 1903 94 1820 156 1774 curveto -208 1732 265 1722 395 1722 curveto -576 1722 lineto -576 699 lineto -576 268 943 0 1532 0 curveto -1801 0 2209 88 2463 207 curveto -2659 295 2721 363 2721 487 curveto -2721 622 2612 732 2472 732 curveto -2415 732 2379 722 2291 680 curveto -2057 570 1809 518 1534 518 curveto -1337 518 1192 551 1129 613 curveto -1098 646 1088 689 1088 789 curveto -1088 1722 lineto -end_ol grestore -gsave 20.282933 5.375000 translate 0.035278 -0.035278 scale -start_ol -1792 3200 moveto -874 3200 lineto -745 3200 698 3195 652 3164 curveto -574 3117 528 3034 528 2941 curveto -528 2858 564 2780 637 2734 curveto -684 2692 746 2682 876 2682 curveto -1280 2682 lineto -1280 518 lineto -648 518 lineto -513 518 477 513 430 482 curveto -352 435 305 347 305 259 curveto -305 181 346 98 414 52 curveto -455 16 527 0 646 0 curveto -2426 0 lineto -2529 0 2607 16 2643 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 3200 lineto -end_ol grestore -gsave 20.697800 5.375000 translate 0.035278 -0.035278 scale -start_ol -2752 3137 moveto -2156 3137 lineto -2022 3137 1987 3132 1940 3101 curveto -1863 3054 1817 2966 1817 2883 curveto -1817 2800 1858 2722 1920 2671 curveto -1972 2634 2024 2624 2158 2624 curveto -2240 2624 lineto -2240 1981 lineto -2019 2157 1777 2240 1468 2240 curveto -1077 2240 789 2139 552 1927 curveto -315 1715 192 1436 192 1122 curveto -192 804 315 530 552 313 curveto -789 101 1077 0 1463 0 curveto -1767 0 1967 67 2240 254 curveto -2240 0 lineto -2837 0 lineto -2956 0 3012 13 3053 46 curveto -3131 106 3177 219 3177 332 curveto -3177 392 3136 447 3073 485 curveto -3022 511 2975 518 2835 518 curveto -2752 518 lineto -2752 3137 lineto -1467 1722 moveto -1725 1722 1890 1667 2039 1540 curveto -2168 1427 2240 1277 2240 1113 curveto -2240 968 2168 813 2039 700 curveto -1895 577 1719 518 1472 518 curveto -1225 518 1049 577 905 700 curveto -776 818 704 968 704 1122 curveto -704 1272 776 1427 905 1540 curveto -1049 1667 1219 1722 1467 1722 curveto -end_ol grestore -gsave 17.679433 6.275000 translate 0.035278 -0.035278 scale -start_ol -2241 3276 moveto -2127 3276 2065 3230 1946 3043 curveto -1567 2478 1344 1814 1344 1260 curveto -1344 689 1531 93 1899 -492 curveto -2050 -736 2117 -793 2241 -793 curveto -2392 -793 2506 -679 2506 -539 curveto -2506 -477 2496 -446 2444 -363 curveto -2086 218 1920 715 1920 1244 curveto -1920 1768 2081 2265 2444 2846 curveto -2496 2929 2506 2960 2506 3022 curveto -2506 3162 2392 3276 2241 3276 curveto -end_ol grestore -gsave 18.094300 6.275000 translate 0.035278 -0.035278 scale -start_ol -896 3137 moveto -299 3137 lineto -175 3137 129 3132 83 3101 curveto -5 3054 -41 2966 -41 2878 curveto --41 2795 0 2717 63 2665 curveto -114 2628 166 2618 301 2618 curveto -384 2618 lineto -384 518 lineto -301 518 lineto -171 518 130 514 83 492 curveto -6 458 -41 395 -41 332 curveto --41 226 0 126 62 60 curveto -108 20 175 0 299 0 curveto -896 0 lineto -896 254 lineto -1164 67 1371 0 1675 0 curveto -2057 0 2346 101 2583 313 curveto -2820 530 2944 804 2944 1118 curveto -2944 1436 2820 1715 2583 1927 curveto -2346 2139 2057 2240 1670 2240 curveto -1360 2240 1118 2157 896 1981 curveto -896 3137 lineto -1667 1722 moveto -1915 1722 2080 1667 2230 1540 curveto -2354 1427 2432 1272 2432 1122 curveto -2432 968 2360 813 2230 700 curveto -2085 577 1910 518 1667 518 curveto -1211 518 896 768 896 1127 curveto -896 1277 968 1427 1098 1540 curveto -1243 1667 1413 1722 1667 1722 curveto -end_ol grestore -gsave 18.509167 6.275000 translate 0.035278 -0.035278 scale -start_ol -1984 0 moveto -2583 0 lineto -2691 0 2762 12 2798 43 curveto -2875 99 2921 203 2921 308 curveto -2921 375 2880 438 2817 480 curveto -2766 510 2719 518 2579 518 curveto -2496 518 lineto -2496 1562 lineto -2496 1988 2112 2240 1473 2240 curveto -1213 2240 829 2173 580 2085 curveto -476 2048 424 1976 424 1867 curveto -424 1785 534 1722 681 1722 curveto -728 1722 801 1722 890 1722 curveto -1131 1722 1324 1722 1497 1722 curveto -1832 1722 1984 1660 1984 1519 curveto -1984 1423 lineto -1772 1457 1611 1472 1445 1472 curveto -984 1472 627 1346 394 1104 curveto -270 973 192 804 192 654 curveto -192 295 612 0 1124 0 curveto -1430 0 1735 51 1984 142 curveto -1984 0 lineto -1984 702 moveto -1692 579 1394 518 1108 518 curveto -879 518 704 595 704 694 curveto -704 866 1033 1024 1394 1024 curveto -1575 1024 1772 1003 1984 966 curveto -1984 702 lineto -end_ol grestore -gsave 18.924033 6.275000 translate 0.035278 -0.035278 scale -start_ol -2769 1898 moveto -2769 2136 2691 2240 2520 2240 curveto -2411 2240 2354 2194 2323 2085 curveto -2121 2188 1873 2240 1579 2240 curveto -799 2240 256 1759 256 1072 curveto -256 779 365 524 572 332 curveto -825 101 1146 0 1647 0 curveto -2025 0 2356 62 2568 165 curveto -2780 273 2899 407 2899 541 curveto -2899 667 2780 771 2640 771 curveto -2578 771 2531 753 2484 717 curveto -2349 622 2323 604 2225 577 curveto -2101 541 1888 518 1681 518 curveto -1074 518 768 704 768 1075 curveto -768 1247 841 1410 975 1527 curveto -1121 1659 1312 1722 1577 1722 curveto -1805 1722 1991 1681 2126 1609 curveto -2194 1568 2225 1528 2245 1446 curveto -2271 1347 2282 1319 2323 1292 curveto -2365 1256 2442 1229 2510 1229 curveto -2593 1229 2671 1265 2722 1324 curveto -2759 1364 2769 1410 2769 1527 curveto -2769 1898 lineto -end_ol grestore -gsave 19.338900 6.275000 translate 0.035278 -0.035278 scale -start_ol -1088 843 moveto -1181 914 lineto -1715 451 lineto -1653 384 1632 332 1632 259 curveto -1632 88 1746 0 1974 0 curveto -2586 0 lineto -2701 0 2768 10 2810 36 curveto -2887 88 2934 171 2934 259 curveto -2934 342 2892 420 2825 471 curveto -2773 508 2731 518 2586 518 curveto -2415 518 lineto -1586 1234 lineto -2197 1722 lineto -2343 1722 lineto -2462 1722 2519 1732 2561 1758 curveto -2638 1810 2685 1893 2685 1981 curveto -2685 2064 2649 2142 2581 2193 curveto -2529 2230 2472 2240 2343 2240 curveto -1762 2240 lineto -1638 2240 1581 2230 1539 2204 curveto -1462 2152 1415 2069 1415 1981 curveto -1415 1908 1436 1862 1498 1789 curveto -1088 1468 lineto -1088 3209 lineto -476 3209 lineto -350 3209 302 3204 255 3173 curveto -175 3126 128 3038 128 2950 curveto -128 2867 172 2789 237 2738 curveto -292 2701 347 2691 489 2691 curveto -576 2691 lineto -576 518 lineto -489 518 lineto -352 518 308 513 259 482 curveto -177 435 128 347 128 259 curveto -128 88 244 0 476 0 curveto -1088 0 lineto -1088 843 lineto -end_ol grestore -gsave 19.753767 6.275000 translate 0.035278 -0.035278 scale -start_ol -2624 2240 moveto -1937 2240 lineto -1815 2240 1769 2235 1723 2203 curveto -1647 2156 1601 2067 1601 1978 curveto -1601 1901 1641 1819 1707 1773 curveto -1753 1732 1808 1722 1935 1722 curveto -2112 1722 lineto -2112 800 lineto -1849 572 1722 518 1469 518 curveto -1166 518 1024 614 1024 820 curveto -1024 2240 lineto -427 2240 lineto -298 2240 257 2235 211 2203 curveto -133 2156 87 2067 87 1978 curveto -87 1835 217 1722 372 1722 curveto -429 1722 lineto -512 1722 lineto -512 805 lineto -512 524 609 319 812 176 curveto -974 62 1188 0 1416 0 curveto -1695 0 1858 73 2112 316 curveto -2112 0 lineto -2601 0 lineto -2709 0 2775 13 2817 46 curveto -2894 111 2940 215 2940 326 curveto -2940 449 2826 518 2624 518 curveto -2624 2240 lineto -end_ol grestore -gsave 20.168633 6.275000 translate 0.035278 -0.035278 scale -start_ol -896 351 moveto -1164 146 1391 64 1696 64 curveto -2413 64 2944 514 2944 1122 curveto -2944 1760 2407 2240 1685 2240 curveto -1365 2240 1149 2157 896 1940 curveto -896 2240 lineto -299 2240 lineto -175 2240 129 2227 83 2194 curveto -5 2136 -41 2025 -41 1914 curveto --41 1853 0 1795 63 1757 curveto -114 1730 166 1722 301 1722 curveto -384 1722 lineto -384 -576 lineto -301 -576 lineto -177 -576 130 -581 83 -612 curveto -6 -658 -41 -745 -41 -832 curveto --41 -914 0 -991 62 -1037 curveto -114 -1078 170 -1088 299 -1088 curveto -1197 -1088 lineto -1310 -1088 1372 -1078 1413 -1052 curveto -1491 -1001 1537 -919 1537 -832 curveto -1537 -750 1501 -673 1434 -622 curveto -1382 -586 1330 -576 1196 -576 curveto -896 -576 lineto -896 351 lineto -1667 1722 moveto -1879 1722 2049 1679 2184 1584 curveto -2334 1483 2432 1307 2432 1149 curveto -2432 815 2111 576 1667 576 curveto -1211 576 896 815 896 1154 curveto -896 1307 994 1483 1144 1584 curveto -1279 1679 1449 1722 1667 1722 curveto -end_ol grestore -gsave 20.583500 6.275000 translate 0.035278 -0.035278 scale -start_ol -895 3276 moveto -744 3276 630 3162 630 3022 curveto -630 2960 640 2929 692 2846 curveto -1050 2265 1216 1768 1216 1239 curveto -1216 715 1055 218 692 -363 curveto -640 -446 630 -477 630 -539 curveto -630 -679 744 -793 895 -793 curveto -1009 -793 1071 -746 1190 -565 curveto -1569 5 1792 669 1792 1223 curveto -1792 1794 1605 2390 1237 2976 curveto -1087 3219 1019 3276 895 3276 curveto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0 slj -0 slc -0 slj -[] 0 sd -0.462745 0.619608 0.462745 srgb -n 2.001777 4.500000 m 6.008883 4.500000 l 6.562150 4.500000 7.010660 4.891751 7.010660 5.375000 c 7.010660 5.858249 6.562150 6.250000 6.008883 6.250000 c 2.001777 6.250000 l 1.448510 6.250000 1.000000 5.858249 1.000000 5.375000 c 1.000000 4.891751 1.448510 4.500000 2.001777 4.500000 c f -0.000000 0.000000 0.000000 srgb -n 2.001777 4.500000 m 6.008883 4.500000 l 6.562150 4.500000 7.010660 4.891751 7.010660 5.375000 c 7.010660 5.858249 6.562150 6.250000 6.008883 6.250000 c 2.001777 6.250000 l 1.448510 6.250000 1.000000 5.858249 1.000000 5.375000 c 1.000000 4.891751 1.448510 4.500000 2.001777 4.500000 c s -gsave 2.367030 5.575000 translate 0.035278 -0.035278 scale -start_ol -2138 1550 moveto -2214 1451 2302 1410 2435 1410 curveto -2530 1410 2632 1449 2695 1508 curveto -2739 1557 2752 1606 2752 1734 curveto -2752 1916 lineto -2752 2142 2655 2240 2448 2240 curveto -2351 2240 2293 2240 2241 2240 curveto -2032 2240 1813 2240 1551 2240 curveto -908 2240 448 1972 448 1595 curveto -448 1224 762 1036 1506 965 curveto -1793 937 1905 918 1995 885 curveto -2107 847 2176 781 2176 720 curveto -2176 612 1893 518 1551 518 curveto -1262 518 1038 577 883 695 curveto -845 831 776 894 666 894 curveto -593 894 533 856 491 781 curveto -457 727 448 679 448 533 curveto -448 355 lineto -448 226 456 178 476 129 curveto -517 43 581 0 654 0 curveto -706 0 739 0 783 0 curveto -995 0 1266 0 1568 0 curveto -2253 0 2752 278 2752 663 curveto -2752 880 2614 1082 2380 1195 curveto -2220 1275 2008 1327 1609 1374 curveto -1269 1416 1237 1421 1162 1444 curveto -1077 1473 1024 1515 1024 1557 curveto -1024 1642 1281 1722 1554 1722 curveto -1779 1722 1956 1681 2106 1591 curveto -2138 1550 lineto -end_ol grestore -gsave 2.781897 5.575000 translate 0.035278 -0.035278 scale -start_ol -2769 1898 moveto -2769 2136 2691 2240 2520 2240 curveto -2411 2240 2354 2194 2323 2085 curveto -2121 2188 1873 2240 1579 2240 curveto -799 2240 256 1759 256 1072 curveto -256 779 365 524 572 332 curveto -825 101 1146 0 1647 0 curveto -2025 0 2356 62 2568 165 curveto -2780 273 2899 407 2899 541 curveto -2899 667 2780 771 2640 771 curveto -2578 771 2531 753 2484 717 curveto -2349 622 2323 604 2225 577 curveto -2101 541 1888 518 1681 518 curveto -1074 518 768 704 768 1075 curveto -768 1247 841 1410 975 1527 curveto -1121 1659 1312 1722 1577 1722 curveto -1805 1722 1991 1681 2126 1609 curveto -2194 1568 2225 1528 2245 1446 curveto -2271 1347 2282 1319 2323 1292 curveto -2365 1256 2442 1229 2510 1229 curveto -2593 1229 2671 1265 2722 1324 curveto -2759 1364 2769 1410 2769 1527 curveto -2769 1898 lineto -end_ol grestore -gsave 3.196763 5.575000 translate 0.035278 -0.035278 scale -start_ol -1552 2240 moveto -781 2240 192 1755 192 1120 curveto -192 495 786 0 1536 0 curveto -2286 0 2880 495 2880 1120 curveto -2880 1740 2286 2240 1552 2240 curveto -1547 1722 moveto -2005 1722 2368 1455 2368 1120 curveto -2368 781 2005 518 1536 518 curveto -1067 518 704 781 704 1120 curveto -704 1464 1067 1722 1547 1722 curveto -end_ol grestore -gsave 3.611630 5.575000 translate 0.035278 -0.035278 scale -start_ol -1024 2240 moveto -541 2240 lineto -499 2240 489 2240 433 2228 curveto -283 2210 196 2103 196 1942 curveto -196 1760 310 1664 512 1658 curveto -512 492 lineto -481 492 lineto -351 492 310 482 263 458 curveto -186 413 139 330 139 246 curveto -139 172 180 93 241 49 curveto -293 15 354 0 477 0 curveto -1050 0 lineto -1158 0 1224 10 1265 34 curveto -1342 84 1388 162 1388 246 curveto -1388 325 1348 399 1282 448 curveto -1231 482 1191 492 1054 492 curveto -1024 492 lineto -1024 1387 lineto -1262 1638 1424 1722 1657 1722 curveto -1970 1722 2112 1609 2112 1368 curveto -2112 492 lineto -1914 492 1803 403 1803 246 curveto -1803 84 1916 0 2146 0 curveto -2602 0 lineto -2710 0 2776 10 2817 34 curveto -2894 79 2940 162 2940 246 curveto -2940 403 2826 492 2624 492 curveto -2624 1387 lineto -2624 1687 2527 1900 2324 2052 curveto -2157 2174 1948 2240 1720 2240 curveto -1441 2240 1268 2170 1024 1954 curveto -1024 2240 lineto -end_ol grestore -gsave 4.026497 5.575000 translate 0.035278 -0.035278 scale -start_ol -1088 1722 moveto -2026 1722 lineto -2140 1722 2202 1732 2244 1758 curveto -2321 1805 2368 1893 2368 1981 curveto -2368 2064 2327 2142 2264 2193 curveto -2207 2230 2166 2240 2026 2240 curveto -1088 2240 lineto -1088 2679 lineto -1088 2809 1083 2843 1052 2888 curveto -1006 2963 919 3008 832 3008 curveto -750 3008 673 2968 627 2908 curveto -586 2858 576 2809 576 2679 curveto -576 2240 lineto -395 2240 lineto -260 2240 224 2235 177 2204 curveto -99 2157 52 2069 52 1981 curveto -52 1903 94 1820 156 1774 curveto -208 1732 265 1722 395 1722 curveto -576 1722 lineto -576 699 lineto -576 268 943 0 1532 0 curveto -1801 0 2209 88 2463 207 curveto -2659 295 2721 363 2721 487 curveto -2721 622 2612 732 2472 732 curveto -2415 732 2379 722 2291 680 curveto -2057 570 1809 518 1534 518 curveto -1337 518 1192 551 1129 613 curveto -1098 646 1088 689 1088 789 curveto -1088 1722 lineto -end_ol grestore -gsave 4.441363 5.575000 translate 0.035278 -0.035278 scale -start_ol -1408 2240 moveto -720 2240 lineto -634 2240 537 2224 506 2199 curveto -430 2152 384 2069 384 1981 curveto -384 1898 425 1820 491 1774 curveto -536 1732 592 1722 719 1722 curveto -896 1722 lineto -896 518 lineto -602 518 lineto -516 518 493 513 463 482 curveto -414 435 384 347 384 259 curveto -384 181 423 98 481 52 curveto -525 16 593 0 705 0 curveto -2150 0 lineto -2252 0 2325 16 2359 36 curveto -2432 83 2476 171 2476 259 curveto -2476 342 2435 420 2367 471 curveto -2315 508 2274 518 2129 518 curveto -1408 518 lineto -1408 1349 lineto -1901 1634 2098 1722 2263 1722 curveto -2336 1722 2388 1722 2466 1722 curveto -2543 1722 2595 1722 2668 1722 curveto -2808 1722 2927 1762 2927 1810 curveto -2927 1901 2891 1962 2782 2048 curveto -2621 2179 2455 2240 2274 2240 curveto -2020 2240 1823 2155 1408 1857 curveto -1408 2240 lineto -end_ol grestore -gsave 4.856230 5.575000 translate 0.035278 -0.035278 scale -start_ol -1552 2240 moveto -781 2240 192 1755 192 1120 curveto -192 495 786 0 1536 0 curveto -2286 0 2880 495 2880 1120 curveto -2880 1740 2286 2240 1552 2240 curveto -1547 1722 moveto -2005 1722 2368 1455 2368 1120 curveto -2368 781 2005 518 1536 518 curveto -1067 518 704 781 704 1120 curveto -704 1464 1067 1722 1547 1722 curveto -end_ol grestore -gsave 5.271097 5.575000 translate 0.035278 -0.035278 scale -start_ol -1792 3200 moveto -874 3200 lineto -745 3200 698 3195 652 3164 curveto -574 3117 528 3034 528 2941 curveto -528 2858 564 2780 637 2734 curveto -684 2692 746 2682 876 2682 curveto -1280 2682 lineto -1280 518 lineto -648 518 lineto -513 518 477 513 430 482 curveto -352 435 305 347 305 259 curveto -305 181 346 98 414 52 curveto -455 16 527 0 646 0 curveto -2426 0 lineto -2529 0 2607 16 2643 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 3200 lineto -end_ol grestore -0.462745 0.619608 0.462745 srgb -n 9.250000 18.000000 m 9.250000 20.000000 l 12.750000 20.000000 l 12.750000 18.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 9.250000 18.000000 m 9.250000 20.000000 l 12.750000 20.000000 l 12.750000 18.000000 l cp s -gsave 9.751167 19.200000 translate 0.035278 -0.035278 scale -start_ol -2138 1550 moveto -2214 1451 2302 1410 2435 1410 curveto -2530 1410 2632 1449 2695 1508 curveto -2739 1557 2752 1606 2752 1734 curveto -2752 1916 lineto -2752 2142 2655 2240 2448 2240 curveto -2351 2240 2293 2240 2241 2240 curveto -2032 2240 1813 2240 1551 2240 curveto -908 2240 448 1972 448 1595 curveto -448 1224 762 1036 1506 965 curveto -1793 937 1905 918 1995 885 curveto -2107 847 2176 781 2176 720 curveto -2176 612 1893 518 1551 518 curveto -1262 518 1038 577 883 695 curveto -845 831 776 894 666 894 curveto -593 894 533 856 491 781 curveto -457 727 448 679 448 533 curveto -448 355 lineto -448 226 456 178 476 129 curveto -517 43 581 0 654 0 curveto -706 0 739 0 783 0 curveto -995 0 1266 0 1568 0 curveto -2253 0 2752 278 2752 663 curveto -2752 880 2614 1082 2380 1195 curveto -2220 1275 2008 1327 1609 1374 curveto -1269 1416 1237 1421 1162 1444 curveto -1077 1473 1024 1515 1024 1557 curveto -1024 1642 1281 1722 1554 1722 curveto -1779 1722 1956 1681 2106 1591 curveto -2138 1550 lineto -end_ol grestore -gsave 10.166033 19.200000 translate 0.035278 -0.035278 scale -start_ol -1792 3200 moveto -874 3200 lineto -745 3200 698 3195 652 3164 curveto -574 3117 528 3034 528 2941 curveto -528 2858 564 2780 637 2734 curveto -684 2692 746 2682 876 2682 curveto -1280 2682 lineto -1280 518 lineto -648 518 lineto -513 518 477 513 430 482 curveto -352 435 305 347 305 259 curveto -305 181 346 98 414 52 curveto -455 16 527 0 646 0 curveto -2426 0 lineto -2529 0 2607 16 2643 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 3200 lineto -end_ol grestore -gsave 10.580900 19.200000 translate 0.035278 -0.035278 scale -start_ol -2624 2240 moveto -1937 2240 lineto -1815 2240 1769 2235 1723 2203 curveto -1647 2156 1601 2067 1601 1978 curveto -1601 1901 1641 1819 1707 1773 curveto -1753 1732 1808 1722 1935 1722 curveto -2112 1722 lineto -2112 800 lineto -1849 572 1722 518 1469 518 curveto -1166 518 1024 614 1024 820 curveto -1024 2240 lineto -427 2240 lineto -298 2240 257 2235 211 2203 curveto -133 2156 87 2067 87 1978 curveto -87 1835 217 1722 372 1722 curveto -429 1722 lineto -512 1722 lineto -512 805 lineto -512 524 609 319 812 176 curveto -974 62 1188 0 1416 0 curveto -1695 0 1858 73 2112 316 curveto -2112 0 lineto -2601 0 lineto -2709 0 2775 13 2817 46 curveto -2894 111 2940 215 2940 326 curveto -2940 449 2826 518 2624 518 curveto -2624 2240 lineto -end_ol grestore -gsave 10.995767 19.200000 translate 0.035278 -0.035278 scale -start_ol -1408 2240 moveto -720 2240 lineto -634 2240 537 2224 506 2199 curveto -430 2152 384 2069 384 1981 curveto -384 1898 425 1820 491 1774 curveto -536 1732 592 1722 719 1722 curveto -896 1722 lineto -896 518 lineto -602 518 lineto -516 518 493 513 463 482 curveto -414 435 384 347 384 259 curveto -384 181 423 98 481 52 curveto -525 16 593 0 705 0 curveto -2150 0 lineto -2252 0 2325 16 2359 36 curveto -2432 83 2476 171 2476 259 curveto -2476 342 2435 420 2367 471 curveto -2315 508 2274 518 2129 518 curveto -1408 518 lineto -1408 1349 lineto -1901 1634 2098 1722 2263 1722 curveto -2336 1722 2388 1722 2466 1722 curveto -2543 1722 2595 1722 2668 1722 curveto -2808 1722 2927 1762 2927 1810 curveto -2927 1901 2891 1962 2782 2048 curveto -2621 2179 2455 2240 2274 2240 curveto -2020 2240 1823 2155 1408 1857 curveto -1408 2240 lineto -end_ol grestore -gsave 11.410633 19.200000 translate 0.035278 -0.035278 scale -start_ol -704 2240 moveto -226 2240 lineto -184 2240 174 2240 118 2227 curveto --32 2207 -119 2084 -119 1914 curveto --119 1755 -5 1663 192 1658 curveto -192 492 lineto --5 492 -119 403 -119 246 curveto --119 172 -78 93 -11 49 curveto -36 15 103 0 227 0 curveto -681 0 lineto -789 0 856 10 897 34 curveto -975 84 1021 162 1021 246 curveto -1021 403 907 492 704 492 curveto -704 1501 lineto -860 1668 958 1722 1098 1722 curveto -1228 1722 1280 1668 1280 1530 curveto -1280 0 lineto -1784 0 lineto -1897 0 1966 10 2009 34 curveto -2090 84 2138 162 2138 246 curveto -2138 399 2011 492 1792 492 curveto -1792 1501 lineto -1988 1678 2080 1722 2230 1722 curveto -2380 1722 2432 1673 2432 1530 curveto -2432 0 lineto -2916 0 lineto -3142 0 3255 84 3255 246 curveto -3255 403 3141 492 2944 492 curveto -2944 1569 lineto -2944 1953 2640 2240 2233 2240 curveto -2011 2240 1837 2162 1669 1986 curveto -1514 2157 1344 2240 1143 2240 curveto -988 2240 885 2199 704 2071 curveto -704 2240 lineto -end_ol grestore -gsave 11.825500 19.200000 translate 0.035278 -0.035278 scale -start_ol -2752 3137 moveto -2156 3137 lineto -2022 3137 1987 3132 1940 3101 curveto -1863 3054 1817 2966 1817 2883 curveto -1817 2800 1858 2722 1920 2671 curveto -1972 2634 2024 2624 2158 2624 curveto -2240 2624 lineto -2240 1981 lineto -2019 2157 1777 2240 1468 2240 curveto -1077 2240 789 2139 552 1927 curveto -315 1715 192 1436 192 1122 curveto -192 804 315 530 552 313 curveto -789 101 1077 0 1463 0 curveto -1767 0 1967 67 2240 254 curveto -2240 0 lineto -2837 0 lineto -2956 0 3012 13 3053 46 curveto -3131 106 3177 219 3177 332 curveto -3177 392 3136 447 3073 485 curveto -3022 511 2975 518 2835 518 curveto -2752 518 lineto -2752 3137 lineto -1467 1722 moveto -1725 1722 1890 1667 2039 1540 curveto -2168 1427 2240 1277 2240 1113 curveto -2240 968 2168 813 2039 700 curveto -1895 577 1719 518 1472 518 curveto -1225 518 1049 577 905 700 curveto -776 818 704 968 704 1122 curveto -704 1272 776 1427 905 1540 curveto -1049 1667 1219 1722 1467 1722 curveto -end_ol grestore -0.462745 0.619608 0.462745 srgb -n 19.500000 18.000000 m 19.500000 20.000000 l 23.000000 20.000000 l 23.000000 18.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 19.500000 18.000000 m 19.500000 20.000000 l 23.000000 20.000000 l 23.000000 18.000000 l cp s -gsave 20.001167 19.200000 translate 0.035278 -0.035278 scale -start_ol -2138 1550 moveto -2214 1451 2302 1410 2435 1410 curveto -2530 1410 2632 1449 2695 1508 curveto -2739 1557 2752 1606 2752 1734 curveto -2752 1916 lineto -2752 2142 2655 2240 2448 2240 curveto -2351 2240 2293 2240 2241 2240 curveto -2032 2240 1813 2240 1551 2240 curveto -908 2240 448 1972 448 1595 curveto -448 1224 762 1036 1506 965 curveto -1793 937 1905 918 1995 885 curveto -2107 847 2176 781 2176 720 curveto -2176 612 1893 518 1551 518 curveto -1262 518 1038 577 883 695 curveto -845 831 776 894 666 894 curveto -593 894 533 856 491 781 curveto -457 727 448 679 448 533 curveto -448 355 lineto -448 226 456 178 476 129 curveto -517 43 581 0 654 0 curveto -706 0 739 0 783 0 curveto -995 0 1266 0 1568 0 curveto -2253 0 2752 278 2752 663 curveto -2752 880 2614 1082 2380 1195 curveto -2220 1275 2008 1327 1609 1374 curveto -1269 1416 1237 1421 1162 1444 curveto -1077 1473 1024 1515 1024 1557 curveto -1024 1642 1281 1722 1554 1722 curveto -1779 1722 1956 1681 2106 1591 curveto -2138 1550 lineto -end_ol grestore -gsave 20.416033 19.200000 translate 0.035278 -0.035278 scale -start_ol -1792 3200 moveto -874 3200 lineto -745 3200 698 3195 652 3164 curveto -574 3117 528 3034 528 2941 curveto -528 2858 564 2780 637 2734 curveto -684 2692 746 2682 876 2682 curveto -1280 2682 lineto -1280 518 lineto -648 518 lineto -513 518 477 513 430 482 curveto -352 435 305 347 305 259 curveto -305 181 346 98 414 52 curveto -455 16 527 0 646 0 curveto -2426 0 lineto -2529 0 2607 16 2643 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 3200 lineto -end_ol grestore -gsave 20.830900 19.200000 translate 0.035278 -0.035278 scale -start_ol -2624 2240 moveto -1937 2240 lineto -1815 2240 1769 2235 1723 2203 curveto -1647 2156 1601 2067 1601 1978 curveto -1601 1901 1641 1819 1707 1773 curveto -1753 1732 1808 1722 1935 1722 curveto -2112 1722 lineto -2112 800 lineto -1849 572 1722 518 1469 518 curveto -1166 518 1024 614 1024 820 curveto -1024 2240 lineto -427 2240 lineto -298 2240 257 2235 211 2203 curveto -133 2156 87 2067 87 1978 curveto -87 1835 217 1722 372 1722 curveto -429 1722 lineto -512 1722 lineto -512 805 lineto -512 524 609 319 812 176 curveto -974 62 1188 0 1416 0 curveto -1695 0 1858 73 2112 316 curveto -2112 0 lineto -2601 0 lineto -2709 0 2775 13 2817 46 curveto -2894 111 2940 215 2940 326 curveto -2940 449 2826 518 2624 518 curveto -2624 2240 lineto -end_ol grestore -gsave 21.245767 19.200000 translate 0.035278 -0.035278 scale -start_ol -1408 2240 moveto -720 2240 lineto -634 2240 537 2224 506 2199 curveto -430 2152 384 2069 384 1981 curveto -384 1898 425 1820 491 1774 curveto -536 1732 592 1722 719 1722 curveto -896 1722 lineto -896 518 lineto -602 518 lineto -516 518 493 513 463 482 curveto -414 435 384 347 384 259 curveto -384 181 423 98 481 52 curveto -525 16 593 0 705 0 curveto -2150 0 lineto -2252 0 2325 16 2359 36 curveto -2432 83 2476 171 2476 259 curveto -2476 342 2435 420 2367 471 curveto -2315 508 2274 518 2129 518 curveto -1408 518 lineto -1408 1349 lineto -1901 1634 2098 1722 2263 1722 curveto -2336 1722 2388 1722 2466 1722 curveto -2543 1722 2595 1722 2668 1722 curveto -2808 1722 2927 1762 2927 1810 curveto -2927 1901 2891 1962 2782 2048 curveto -2621 2179 2455 2240 2274 2240 curveto -2020 2240 1823 2155 1408 1857 curveto -1408 2240 lineto -end_ol grestore -gsave 21.660633 19.200000 translate 0.035278 -0.035278 scale -start_ol -704 2240 moveto -226 2240 lineto -184 2240 174 2240 118 2227 curveto --32 2207 -119 2084 -119 1914 curveto --119 1755 -5 1663 192 1658 curveto -192 492 lineto --5 492 -119 403 -119 246 curveto --119 172 -78 93 -11 49 curveto -36 15 103 0 227 0 curveto -681 0 lineto -789 0 856 10 897 34 curveto -975 84 1021 162 1021 246 curveto -1021 403 907 492 704 492 curveto -704 1501 lineto -860 1668 958 1722 1098 1722 curveto -1228 1722 1280 1668 1280 1530 curveto -1280 0 lineto -1784 0 lineto -1897 0 1966 10 2009 34 curveto -2090 84 2138 162 2138 246 curveto -2138 399 2011 492 1792 492 curveto -1792 1501 lineto -1988 1678 2080 1722 2230 1722 curveto -2380 1722 2432 1673 2432 1530 curveto -2432 0 lineto -2916 0 lineto -3142 0 3255 84 3255 246 curveto -3255 403 3141 492 2944 492 curveto -2944 1569 lineto -2944 1953 2640 2240 2233 2240 curveto -2011 2240 1837 2162 1669 1986 curveto -1514 2157 1344 2240 1143 2240 curveto -988 2240 885 2199 704 2071 curveto -704 2240 lineto -end_ol grestore -gsave 22.075500 19.200000 translate 0.035278 -0.035278 scale -start_ol -2752 3137 moveto -2156 3137 lineto -2022 3137 1987 3132 1940 3101 curveto -1863 3054 1817 2966 1817 2883 curveto -1817 2800 1858 2722 1920 2671 curveto -1972 2634 2024 2624 2158 2624 curveto -2240 2624 lineto -2240 1981 lineto -2019 2157 1777 2240 1468 2240 curveto -1077 2240 789 2139 552 1927 curveto -315 1715 192 1436 192 1122 curveto -192 804 315 530 552 313 curveto -789 101 1077 0 1463 0 curveto -1767 0 1967 67 2240 254 curveto -2240 0 lineto -2837 0 lineto -2956 0 3012 13 3053 46 curveto -3131 106 3177 219 3177 332 curveto -3177 392 3136 447 3073 485 curveto -3022 511 2975 518 2835 518 curveto -2752 518 lineto -2752 3137 lineto -1467 1722 moveto -1725 1722 1890 1667 2039 1540 curveto -2168 1427 2240 1277 2240 1113 curveto -2240 968 2168 813 2039 700 curveto -1895 577 1719 518 1472 518 curveto -1225 518 1049 577 905 700 curveto -776 818 704 968 704 1122 curveto -704 1272 776 1427 905 1540 curveto -1049 1667 1219 1722 1467 1722 curveto -end_ol grestore -0.462745 0.619608 0.462745 srgb -n 13.500000 18.000000 m 13.500000 20.000000 l 17.000000 20.000000 l 17.000000 18.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 13.500000 18.000000 m 13.500000 20.000000 l 17.000000 20.000000 l 17.000000 18.000000 l cp s -gsave 14.001167 19.200000 translate 0.035278 -0.035278 scale -start_ol -2138 1550 moveto -2214 1451 2302 1410 2435 1410 curveto -2530 1410 2632 1449 2695 1508 curveto -2739 1557 2752 1606 2752 1734 curveto -2752 1916 lineto -2752 2142 2655 2240 2448 2240 curveto -2351 2240 2293 2240 2241 2240 curveto -2032 2240 1813 2240 1551 2240 curveto -908 2240 448 1972 448 1595 curveto -448 1224 762 1036 1506 965 curveto -1793 937 1905 918 1995 885 curveto -2107 847 2176 781 2176 720 curveto -2176 612 1893 518 1551 518 curveto -1262 518 1038 577 883 695 curveto -845 831 776 894 666 894 curveto -593 894 533 856 491 781 curveto -457 727 448 679 448 533 curveto -448 355 lineto -448 226 456 178 476 129 curveto -517 43 581 0 654 0 curveto -706 0 739 0 783 0 curveto -995 0 1266 0 1568 0 curveto -2253 0 2752 278 2752 663 curveto -2752 880 2614 1082 2380 1195 curveto -2220 1275 2008 1327 1609 1374 curveto -1269 1416 1237 1421 1162 1444 curveto -1077 1473 1024 1515 1024 1557 curveto -1024 1642 1281 1722 1554 1722 curveto -1779 1722 1956 1681 2106 1591 curveto -2138 1550 lineto -end_ol grestore -gsave 14.416033 19.200000 translate 0.035278 -0.035278 scale -start_ol -1792 3200 moveto -874 3200 lineto -745 3200 698 3195 652 3164 curveto -574 3117 528 3034 528 2941 curveto -528 2858 564 2780 637 2734 curveto -684 2692 746 2682 876 2682 curveto -1280 2682 lineto -1280 518 lineto -648 518 lineto -513 518 477 513 430 482 curveto -352 435 305 347 305 259 curveto -305 181 346 98 414 52 curveto -455 16 527 0 646 0 curveto -2426 0 lineto -2529 0 2607 16 2643 36 curveto -2720 88 2767 171 2767 259 curveto -2767 342 2725 420 2658 471 curveto -2606 508 2564 518 2424 518 curveto -1792 518 lineto -1792 3200 lineto -end_ol grestore -gsave 14.830900 19.200000 translate 0.035278 -0.035278 scale -start_ol -2624 2240 moveto -1937 2240 lineto -1815 2240 1769 2235 1723 2203 curveto -1647 2156 1601 2067 1601 1978 curveto -1601 1901 1641 1819 1707 1773 curveto -1753 1732 1808 1722 1935 1722 curveto -2112 1722 lineto -2112 800 lineto -1849 572 1722 518 1469 518 curveto -1166 518 1024 614 1024 820 curveto -1024 2240 lineto -427 2240 lineto -298 2240 257 2235 211 2203 curveto -133 2156 87 2067 87 1978 curveto -87 1835 217 1722 372 1722 curveto -429 1722 lineto -512 1722 lineto -512 805 lineto -512 524 609 319 812 176 curveto -974 62 1188 0 1416 0 curveto -1695 0 1858 73 2112 316 curveto -2112 0 lineto -2601 0 lineto -2709 0 2775 13 2817 46 curveto -2894 111 2940 215 2940 326 curveto -2940 449 2826 518 2624 518 curveto -2624 2240 lineto -end_ol grestore -gsave 15.245767 19.200000 translate 0.035278 -0.035278 scale -start_ol -1408 2240 moveto -720 2240 lineto -634 2240 537 2224 506 2199 curveto -430 2152 384 2069 384 1981 curveto -384 1898 425 1820 491 1774 curveto -536 1732 592 1722 719 1722 curveto -896 1722 lineto -896 518 lineto -602 518 lineto -516 518 493 513 463 482 curveto -414 435 384 347 384 259 curveto -384 181 423 98 481 52 curveto -525 16 593 0 705 0 curveto -2150 0 lineto -2252 0 2325 16 2359 36 curveto -2432 83 2476 171 2476 259 curveto -2476 342 2435 420 2367 471 curveto -2315 508 2274 518 2129 518 curveto -1408 518 lineto -1408 1349 lineto -1901 1634 2098 1722 2263 1722 curveto -2336 1722 2388 1722 2466 1722 curveto -2543 1722 2595 1722 2668 1722 curveto -2808 1722 2927 1762 2927 1810 curveto -2927 1901 2891 1962 2782 2048 curveto -2621 2179 2455 2240 2274 2240 curveto -2020 2240 1823 2155 1408 1857 curveto -1408 2240 lineto -end_ol grestore -gsave 15.660633 19.200000 translate 0.035278 -0.035278 scale -start_ol -704 2240 moveto -226 2240 lineto -184 2240 174 2240 118 2227 curveto --32 2207 -119 2084 -119 1914 curveto --119 1755 -5 1663 192 1658 curveto -192 492 lineto --5 492 -119 403 -119 246 curveto --119 172 -78 93 -11 49 curveto -36 15 103 0 227 0 curveto -681 0 lineto -789 0 856 10 897 34 curveto -975 84 1021 162 1021 246 curveto -1021 403 907 492 704 492 curveto -704 1501 lineto -860 1668 958 1722 1098 1722 curveto -1228 1722 1280 1668 1280 1530 curveto -1280 0 lineto -1784 0 lineto -1897 0 1966 10 2009 34 curveto -2090 84 2138 162 2138 246 curveto -2138 399 2011 492 1792 492 curveto -1792 1501 lineto -1988 1678 2080 1722 2230 1722 curveto -2380 1722 2432 1673 2432 1530 curveto -2432 0 lineto -2916 0 lineto -3142 0 3255 84 3255 246 curveto -3255 403 3141 492 2944 492 curveto -2944 1569 lineto -2944 1953 2640 2240 2233 2240 curveto -2011 2240 1837 2162 1669 1986 curveto -1514 2157 1344 2240 1143 2240 curveto -988 2240 885 2199 704 2071 curveto -704 2240 lineto -end_ol grestore -gsave 16.075500 19.200000 translate 0.035278 -0.035278 scale -start_ol -2752 3137 moveto -2156 3137 lineto -2022 3137 1987 3132 1940 3101 curveto -1863 3054 1817 2966 1817 2883 curveto -1817 2800 1858 2722 1920 2671 curveto -1972 2634 2024 2624 2158 2624 curveto -2240 2624 lineto -2240 1981 lineto -2019 2157 1777 2240 1468 2240 curveto -1077 2240 789 2139 552 1927 curveto -315 1715 192 1436 192 1122 curveto -192 804 315 530 552 313 curveto -789 101 1077 0 1463 0 curveto -1767 0 1967 67 2240 254 curveto -2240 0 lineto -2837 0 lineto -2956 0 3012 13 3053 46 curveto -3131 106 3177 219 3177 332 curveto -3177 392 3136 447 3073 485 curveto -3022 511 2975 518 2835 518 curveto -2752 518 lineto -2752 3137 lineto -1467 1722 moveto -1725 1722 1890 1667 2039 1540 curveto -2168 1427 2240 1277 2240 1113 curveto -2240 968 2168 813 2039 700 curveto -1895 577 1719 518 1472 518 curveto -1225 518 1049 577 905 700 curveto -776 818 704 968 704 1122 curveto -704 1272 776 1427 905 1540 curveto -1049 1667 1219 1722 1467 1722 curveto -end_ol grestore -0.200000 slw -[1.000000] 0 sd -[0.200000] 0 sd -0 slc -n 17.500000 19.000000 m 19.000000 19.000000 l s -gsave 3.000000 2.500000 translate 0.035278 -0.035278 scale -start_ol -3200 4224 moveto -3200 1357 lineto -3200 808 2787 472 2106 472 curveto -1792 472 1536 545 1332 685 curveto -1123 842 1024 1049 1024 1357 curveto -1024 4224 lineto -512 4224 lineto -512 1348 lineto -512 517 1118 0 2106 0 curveto -3083 0 3712 528 3712 1348 curveto -3712 4224 lineto -3200 4224 lineto -end_ol grestore -gsave 3.550333 2.500000 translate 0.035278 -0.035278 scale -start_ol -2624 2128 moveto -2624 2691 2211 3008 1476 3008 curveto -736 3008 256 2675 256 2162 curveto -256 1729 496 1522 1204 1364 curveto -1649 1263 lineto -1981 1189 2112 1078 2112 878 curveto -2112 618 1835 444 1421 444 curveto -1167 444 952 512 833 626 curveto -759 704 725 782 697 974 curveto -256 974 lineto -256 316 638 0 1409 0 curveto -2152 0 2624 344 2624 878 curveto -2624 1290 2373 1517 1779 1649 curveto -1322 1750 lineto -934 1834 768 1951 768 2146 curveto -768 2400 1038 2564 1465 2564 curveto -1886 2564 2112 2413 2112 2128 curveto -2624 2128 lineto -end_ol grestore -gsave 3.931333 2.500000 translate 0.035278 -0.035278 scale -start_ol -2955 1344 moveto -2955 1780 2920 2042 2834 2255 curveto -2638 2724 2177 3008 1613 3008 curveto -772 3008 230 2399 230 1463 curveto -230 558 755 0 1601 0 curveto -2292 0 2771 362 2892 969 curveto -2408 969 lineto -2275 624 2004 444 1619 444 curveto -1313 444 1054 564 893 784 curveto -778 934 737 1084 732 1344 curveto -2955 1344 lineto -743 1728 moveto -783 2235 1123 2564 1607 2564 curveto -2079 2564 2442 2209 2442 1759 curveto -2442 1749 2442 1739 2436 1728 curveto -743 1728 lineto -end_ol grestore -gsave 4.354667 2.500000 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1561 lineto -896 1992 1005 2273 1236 2440 curveto -1386 2549 1530 2583 1864 2589 curveto -1864 3008 lineto -1781 3008 1740 3008 1675 3008 curveto -1357 3008 1115 2849 832 2463 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 3.000000 3.500000 translate 0.035278 -0.035278 scale -start_ol -3769 2899 moveto -3603 3790 3077 4224 2161 4224 curveto -1601 4224 1149 4053 840 3721 curveto -462 3323 256 2748 256 2095 curveto -256 1432 468 862 863 470 curveto -1183 149 1595 0 2138 0 curveto -3157 0 3729 533 3855 1604 curveto -3302 1604 lineto -3256 1331 3198 1145 3112 986 curveto -2939 658 2582 472 2133 472 curveto -1298 472 768 1106 768 2101 curveto -768 3123 1275 3752 2087 3752 curveto -2427 3752 2744 3654 2917 3500 curveto -3072 3364 3159 3194 3222 2899 curveto -3769 2899 lineto -end_ol grestore -gsave 3.550333 3.500000 translate 0.035278 -0.035278 scale -start_ol -1562 3008 moveto -709 3008 192 2446 192 1504 curveto -192 562 703 0 1568 0 curveto -2421 0 2944 562 2944 1483 curveto -2944 2451 2439 3008 1562 3008 curveto -1568 2564 moveto -2109 2564 2432 2164 2432 1488 curveto -2432 849 2098 444 1568 444 curveto -1032 444 704 844 704 1504 curveto -704 2159 1032 2564 1568 2564 curveto -end_ol grestore -gsave 3.973667 3.500000 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1827 lineto -896 2249 1216 2588 1612 2588 curveto -1972 2588 2176 2377 2176 2005 curveto -2176 0 lineto -2688 0 lineto -2688 1827 lineto -2688 2249 2992 2588 3368 2588 curveto -3705 2588 3904 2371 3904 2005 curveto -3904 0 lineto -4416 0 lineto -4416 2193 lineto -4416 2718 4108 3008 3550 3008 curveto -3151 3008 2912 2888 2633 2549 curveto -2448 2870 2198 3008 1792 3008 curveto -1375 3008 1100 2859 832 2499 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 4.608667 3.500000 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1827 lineto -896 2249 1216 2588 1612 2588 curveto -1972 2588 2176 2377 2176 2005 curveto -2176 0 lineto -2688 0 lineto -2688 1827 lineto -2688 2249 2992 2588 3368 2588 curveto -3705 2588 3904 2371 3904 2005 curveto -3904 0 lineto -4416 0 lineto -4416 2193 lineto -4416 2718 4108 3008 3550 3008 curveto -3151 3008 2912 2888 2633 2549 curveto -2448 2870 2198 3008 1792 3008 curveto -1375 3008 1100 2859 832 2499 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 5.243667 3.500000 translate 0.035278 -0.035278 scale -start_ol -3115 414 moveto -3063 420 3040 420 3011 420 curveto -2844 420 2752 492 2752 618 curveto -2752 2221 lineto -2752 2733 2333 3008 1538 3008 curveto -1070 3008 681 2888 466 2675 curveto -318 2528 256 2364 256 2080 curveto -881 2080 lineto -921 2413 1136 2564 1577 2564 curveto -2002 2564 2240 2416 2240 2152 curveto -2240 2035 lineto -2240 1850 2120 1771 1743 1729 curveto -1068 1649 965 1628 782 1560 curveto -433 1427 256 1179 256 819 curveto -256 317 634 0 1240 0 curveto -1618 0 1921 132 2259 441 curveto -2295 137 2451 0 2774 0 curveto -2876 0 2953 12 3115 54 curveto -3115 414 lineto -2240 1019 moveto -2240 873 2195 784 2053 665 curveto -1861 503 1629 420 1351 420 curveto -983 420 768 581 768 857 curveto -768 1144 977 1289 1481 1357 curveto -1980 1420 2081 1440 2240 1508 curveto -2240 1019 lineto -end_ol grestore -gsave 5.667000 3.500000 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1605 lineto -896 2199 1211 2588 1696 2588 curveto -2067 2588 2304 2366 2304 2016 curveto -2304 0 lineto -2816 0 lineto -2816 2210 lineto -2816 2695 2437 3008 1847 3008 curveto -1392 3008 1100 2837 832 2421 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 6.090333 3.500000 translate 0.035278 -0.035278 scale -start_ol -2880 4224 moveto -2368 4224 lineto -2368 2543 lineto -2165 2847 1840 3008 1434 3008 curveto -644 3008 128 2425 128 1531 curveto -128 583 621 0 1421 0 curveto -1829 0 2113 153 2368 522 curveto -2368 0 lineto -2880 0 lineto -2880 4224 lineto -1518 2559 moveto -2039 2559 2368 2143 2368 1494 curveto -2368 865 2033 449 1524 449 curveto -993 449 640 870 640 1504 curveto -640 2138 993 2559 1518 2559 curveto -end_ol grestore -gsave 6.513667 3.500000 translate 0.035278 -0.035278 scale -start_ol -2624 2128 moveto -2624 2691 2211 3008 1476 3008 curveto -736 3008 256 2675 256 2162 curveto -256 1729 496 1522 1204 1364 curveto -1649 1263 lineto -1981 1189 2112 1078 2112 878 curveto -2112 618 1835 444 1421 444 curveto -1167 444 952 512 833 626 curveto -759 704 725 782 697 974 curveto -256 974 lineto -256 316 638 0 1409 0 curveto -2152 0 2624 344 2624 878 curveto -2624 1290 2373 1517 1779 1649 curveto -1322 1750 lineto -934 1834 768 1951 768 2146 curveto -768 2400 1038 2564 1465 2564 curveto -1886 2564 2112 2413 2112 2128 curveto -2624 2128 lineto -end_ol grestore -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -0.003922 0.003922 0.003922 srgb -n 1.500000 1.750000 m 0.912500 1.000000 l 0.625000 1.237500 l 1.387500 2.212500 l 0.975000 3.675000 l 1.437500 3.675000 l 1.687500 2.725000 l 1.925000 3.675000 l 2.350000 3.675000 l 2.025000 2.425000 l 2.662500 2.800000 l 2.837500 2.475000 l 1.962500 1.925000 l 1.925000 1.737500 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 1.725000 1.484686 0.338980 0.338980 121.081372 58.918628 ellipse s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -0.000000 0.000000 0.000000 srgb -n 19.116694 13.159597 m 19.905600 13.811500 20.905600 15.911500 21.119835 17.210660 c s -0 slj -n 19.275943 12.966880 m 18.500000 12.650000 l 18.957444 13.352314 l f -0 slj -n 20.873167 17.251337 m 21.250000 18.000000 l 21.366504 17.169984 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 15.932418 13.384263 m 15.055600 15.411500 15.205600 16.111500 15.231197 17.200221 c s -0 slj -n 16.161875 13.483507 m 16.250000 12.650000 l 15.702961 13.285018 l f -0 slj -n 14.981266 17.206097 m 15.250000 18.000000 l 15.481128 17.194345 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 13.336446 13.096873 m 11.755600 14.161500 11.055600 16.111500 11.023543 17.200346 c s -0 slj -n 13.476094 13.304234 m 14.000000 12.650000 l 13.196798 12.889513 l f -0 slj -n 10.773651 17.192989 m 11.000000 18.000000 l 11.273435 17.207704 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 3.968143 17.799897 m 4.055630 23.261500 17.155600 23.861500 20.668004 20.548890 c s -0 slj -n 4.218111 17.795893 m 3.955330 17.000000 l 3.718175 17.803902 l f -0 slj -n 20.839532 20.730764 m 21.250000 20.000000 l 20.496476 20.367017 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 3.972726 17.799811 m 4.055630 21.611500 11.605600 23.411500 14.665961 20.546716 c s -0 slj -n 4.222667 17.794375 m 3.955330 17.000000 l 3.722785 17.805247 l f -0 slj -n 14.836809 20.729228 m 15.250000 20.000000 l 14.495112 20.364203 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 3.971625 17.799834 m 4.007410 19.556300 7.005630 22.561500 10.326574 20.431853 c s -0 slj -n 4.221573 17.794742 m 3.955330 17.000000 l 3.721677 17.804926 l f -0 slj -n 10.461528 20.642299 m 11.000000 20.000000 l 10.191620 20.221407 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 7.088617 15.449091 m 7.555630 14.711500 9.605630 12.611500 11.009171 12.039446 c s -0 slj -n 6.877396 15.315355 m 6.660660 16.125000 l 7.299839 15.582828 l f -0 slj -n 11.103529 12.270956 m 11.750000 11.737500 l 10.914812 11.807937 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 7.255303 13.089837 m 8.630940 11.851800 10.345700 11.324200 10.996210 11.092957 c s -0 slj -n 7.088065 12.904011 m 6.660660 13.625000 l 7.422542 13.275663 l f -0 slj -n 11.079947 11.328516 m 11.750000 10.825000 l 10.912474 10.857398 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 7.419391 10.621373 m 8.595580 10.228200 10.345700 9.980740 10.950943 9.951329 c s -0 slj -n 7.340133 10.384270 m 6.660660 10.875000 l 7.498650 10.858477 l f -0 slj -n 10.963077 10.201034 m 11.750000 9.912500 l 10.938809 9.701624 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 7.459827 8.088497 m 8.850000 8.025000 10.425000 8.475000 11.136373 8.791749 c s -0 slj -n 7.448420 7.838758 m 6.660660 8.125000 l 7.471234 8.338237 l f -0 slj -n 11.034682 9.020132 m 11.867200 9.117160 l 11.238064 8.563366 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 7.810481 5.358086 m 9.375000 5.325000 13.875000 5.700000 13.969719 8.200573 c s -0 slj -n 7.805195 5.108142 m 7.010660 5.375000 l 7.815767 5.608030 l f -0 slj -n 13.719898 8.210036 m 14.000000 9.000000 l 14.219540 8.191110 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 19.255935 7.849971 m 19.261065 8.368599 l s -0 slj -n 19.505923 7.847498 m 19.250000 7.250000 l 19.005947 7.852444 l f -0 slj -n 19.011077 8.371072 m 19.267000 8.968570 l 19.511053 8.366126 l f -gsave 21.329800 8.843570 translate 0.035278 -0.035278 scale -start_ol -3769 2899 moveto -3603 3790 3077 4224 2161 4224 curveto -1601 4224 1149 4053 840 3721 curveto -462 3323 256 2748 256 2095 curveto -256 1432 468 862 863 470 curveto -1183 149 1595 0 2138 0 curveto -3157 0 3729 533 3855 1604 curveto -3302 1604 lineto -3256 1331 3198 1145 3112 986 curveto -2939 658 2582 472 2133 472 curveto -1298 472 768 1106 768 2101 curveto -768 3123 1275 3752 2087 3752 curveto -2427 3752 2744 3654 2917 3500 curveto -3072 3364 3159 3194 3222 2899 curveto -3769 2899 lineto -end_ol grestore -gsave 21.880133 8.843570 translate 0.035278 -0.035278 scale -start_ol -1562 3008 moveto -709 3008 192 2446 192 1504 curveto -192 562 703 0 1568 0 curveto -2421 0 2944 562 2944 1483 curveto -2944 2451 2439 3008 1562 3008 curveto -1568 2564 moveto -2109 2564 2432 2164 2432 1488 curveto -2432 849 2098 444 1568 444 curveto -1032 444 704 844 704 1504 curveto -704 2159 1032 2564 1568 2564 curveto -end_ol grestore -gsave 22.303467 8.843570 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1605 lineto -896 2199 1211 2588 1696 2588 curveto -2067 2588 2304 2366 2304 2016 curveto -2304 0 lineto -2816 0 lineto -2816 2210 lineto -2816 2695 2437 3008 1847 3008 curveto -1392 3008 1100 2837 832 2421 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 22.726800 8.843570 translate 0.035278 -0.035278 scale -start_ol -1519 3008 moveto -1024 3008 lineto -1024 3837 lineto -512 3837 lineto -512 3008 lineto -103 3008 lineto -103 2616 lineto -512 2616 lineto -512 469 lineto -512 170 727 0 1114 0 curveto -1233 0 1352 11 1519 40 curveto -1519 436 lineto -1456 420 1381 420 1289 420 curveto -1082 420 1024 474 1024 674 curveto -1024 2616 lineto -1519 2616 lineto -1519 3008 lineto -end_ol grestore -gsave 22.938467 8.843570 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1561 lineto -896 1992 1005 2273 1236 2440 curveto -1386 2549 1530 2583 1864 2589 curveto -1864 3008 lineto -1781 3008 1740 3008 1675 3008 curveto -1357 3008 1115 2849 832 2463 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 23.192467 8.843570 translate 0.035278 -0.035278 scale -start_ol -1562 3008 moveto -709 3008 192 2446 192 1504 curveto -192 562 703 0 1568 0 curveto -2421 0 2944 562 2944 1483 curveto -2944 2451 2439 3008 1562 3008 curveto -1568 2564 moveto -2109 2564 2432 2164 2432 1488 curveto -2432 849 2098 444 1568 444 curveto -1032 444 704 844 704 1504 curveto -704 2159 1032 2564 1568 2564 curveto -end_ol grestore -gsave 23.615800 8.843570 translate 0.035278 -0.035278 scale -start_ol -896 4224 moveto -384 4224 lineto -384 0 lineto -896 0 lineto -896 4224 lineto -end_ol grestore -gsave 23.785133 8.843570 translate 0.035278 -0.035278 scale -start_ol -896 4224 moveto -384 4224 lineto -384 0 lineto -896 0 lineto -896 4224 lineto -end_ol grestore -gsave 23.954467 8.843570 translate 0.035278 -0.035278 scale -start_ol -2955 1344 moveto -2955 1780 2920 2042 2834 2255 curveto -2638 2724 2177 3008 1613 3008 curveto -772 3008 230 2399 230 1463 curveto -230 558 755 0 1601 0 curveto -2292 0 2771 362 2892 969 curveto -2408 969 lineto -2275 624 2004 444 1619 444 curveto -1313 444 1054 564 893 784 curveto -778 934 737 1084 732 1344 curveto -2955 1344 lineto -743 1728 moveto -783 2235 1123 2564 1607 2564 curveto -2079 2564 2442 2209 2442 1759 curveto -2442 1749 2442 1739 2436 1728 curveto -743 1728 lineto -end_ol grestore -gsave 24.377800 8.843570 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1561 lineto -896 1992 1005 2273 1236 2440 curveto -1386 2549 1530 2583 1864 2589 curveto -1864 3008 lineto -1781 3008 1740 3008 1675 3008 curveto -1357 3008 1115 2849 832 2463 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 21.417600 9.593570 translate 0.035278 -0.035278 scale -start_ol -2880 4224 moveto -2368 4224 lineto -2368 2543 lineto -2165 2847 1840 3008 1434 3008 curveto -644 3008 128 2425 128 1531 curveto -128 583 621 0 1421 0 curveto -1829 0 2113 153 2368 522 curveto -2368 0 lineto -2880 0 lineto -2880 4224 lineto -1518 2559 moveto -2039 2559 2368 2143 2368 1494 curveto -2368 865 2033 449 1524 449 curveto -993 449 640 870 640 1504 curveto -640 2138 993 2559 1518 2559 curveto -end_ol grestore -gsave 21.840933 9.593570 translate 0.035278 -0.035278 scale -start_ol -3115 414 moveto -3063 420 3040 420 3011 420 curveto -2844 420 2752 492 2752 618 curveto -2752 2221 lineto -2752 2733 2333 3008 1538 3008 curveto -1070 3008 681 2888 466 2675 curveto -318 2528 256 2364 256 2080 curveto -881 2080 lineto -921 2413 1136 2564 1577 2564 curveto -2002 2564 2240 2416 2240 2152 curveto -2240 2035 lineto -2240 1850 2120 1771 1743 1729 curveto -1068 1649 965 1628 782 1560 curveto -433 1427 256 1179 256 819 curveto -256 317 634 0 1240 0 curveto -1618 0 1921 132 2259 441 curveto -2295 137 2451 0 2774 0 curveto -2876 0 2953 12 3115 54 curveto -3115 414 lineto -2240 1019 moveto -2240 873 2195 784 2053 665 curveto -1861 503 1629 420 1351 420 curveto -983 420 768 581 768 857 curveto -768 1144 977 1289 1481 1357 curveto -1980 1420 2081 1440 2240 1508 curveto -2240 1019 lineto -end_ol grestore -gsave 22.264267 9.593570 translate 0.035278 -0.035278 scale -start_ol -2955 1344 moveto -2955 1780 2920 2042 2834 2255 curveto -2638 2724 2177 3008 1613 3008 curveto -772 3008 230 2399 230 1463 curveto -230 558 755 0 1601 0 curveto -2292 0 2771 362 2892 969 curveto -2408 969 lineto -2275 624 2004 444 1619 444 curveto -1313 444 1054 564 893 784 curveto -778 934 737 1084 732 1344 curveto -2955 1344 lineto -743 1728 moveto -783 2235 1123 2564 1607 2564 curveto -2079 2564 2442 2209 2442 1759 curveto -2442 1749 2442 1739 2436 1728 curveto -743 1728 lineto -end_ol grestore -gsave 22.687600 9.593570 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1827 lineto -896 2249 1216 2588 1612 2588 curveto -1972 2588 2176 2377 2176 2005 curveto -2176 0 lineto -2688 0 lineto -2688 1827 lineto -2688 2249 2992 2588 3368 2588 curveto -3705 2588 3904 2371 3904 2005 curveto -3904 0 lineto -4416 0 lineto -4416 2193 lineto -4416 2718 4108 3008 3550 3008 curveto -3151 3008 2912 2888 2633 2549 curveto -2448 2870 2198 3008 1792 3008 curveto -1375 3008 1100 2859 832 2499 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 23.322600 9.593570 translate 0.035278 -0.035278 scale -start_ol -1562 3008 moveto -709 3008 192 2446 192 1504 curveto -192 562 703 0 1568 0 curveto -2421 0 2944 562 2944 1483 curveto -2944 2451 2439 3008 1562 3008 curveto -1568 2564 moveto -2109 2564 2432 2164 2432 1488 curveto -2432 849 2098 444 1568 444 curveto -1032 444 704 844 704 1504 curveto -704 2159 1032 2564 1568 2564 curveto -end_ol grestore -gsave 23.745933 9.593570 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1605 lineto -896 2199 1211 2588 1696 2588 curveto -2067 2588 2304 2366 2304 2016 curveto -2304 0 lineto -2816 0 lineto -2816 2210 lineto -2816 2695 2437 3008 1847 3008 curveto -1392 3008 1100 2837 832 2421 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 24.169267 9.593570 translate 0.035278 -0.035278 scale -start_ol -2624 2128 moveto -2624 2691 2211 3008 1476 3008 curveto -736 3008 256 2675 256 2162 curveto -256 1729 496 1522 1204 1364 curveto -1649 1263 lineto -1981 1189 2112 1078 2112 878 curveto -2112 618 1835 444 1421 444 curveto -1167 444 952 512 833 626 curveto -759 704 725 782 697 974 curveto -256 974 lineto -256 316 638 0 1409 0 curveto -2152 0 2624 344 2624 878 curveto -2624 1290 2373 1517 1779 1649 curveto -1322 1750 lineto -934 1834 768 1951 768 2146 curveto -768 2400 1038 2564 1465 2564 curveto -1886 2564 2112 2413 2112 2128 curveto -2624 2128 lineto -end_ol grestore -gsave 23.320533 18.817300 translate 0.035278 -0.035278 scale -start_ol -3769 2899 moveto -3603 3790 3077 4224 2161 4224 curveto -1601 4224 1149 4053 840 3721 curveto -462 3323 256 2748 256 2095 curveto -256 1432 468 862 863 470 curveto -1183 149 1595 0 2138 0 curveto -3157 0 3729 533 3855 1604 curveto -3302 1604 lineto -3256 1331 3198 1145 3112 986 curveto -2939 658 2582 472 2133 472 curveto -1298 472 768 1106 768 2101 curveto -768 3123 1275 3752 2087 3752 curveto -2427 3752 2744 3654 2917 3500 curveto -3072 3364 3159 3194 3222 2899 curveto -3769 2899 lineto -end_ol grestore -gsave 23.870867 18.817300 translate 0.035278 -0.035278 scale -start_ol -1562 3008 moveto -709 3008 192 2446 192 1504 curveto -192 562 703 0 1568 0 curveto -2421 0 2944 562 2944 1483 curveto -2944 2451 2439 3008 1562 3008 curveto -1568 2564 moveto -2109 2564 2432 2164 2432 1488 curveto -2432 849 2098 444 1568 444 curveto -1032 444 704 844 704 1504 curveto -704 2159 1032 2564 1568 2564 curveto -end_ol grestore -gsave 24.294200 18.817300 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1827 lineto -896 2249 1216 2588 1612 2588 curveto -1972 2588 2176 2377 2176 2005 curveto -2176 0 lineto -2688 0 lineto -2688 1827 lineto -2688 2249 2992 2588 3368 2588 curveto -3705 2588 3904 2371 3904 2005 curveto -3904 0 lineto -4416 0 lineto -4416 2193 lineto -4416 2718 4108 3008 3550 3008 curveto -3151 3008 2912 2888 2633 2549 curveto -2448 2870 2198 3008 1792 3008 curveto -1375 3008 1100 2859 832 2499 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 24.929200 18.817300 translate 0.035278 -0.035278 scale -start_ol -320 -1270 moveto -832 -1270 lineto -832 449 lineto -1081 138 1358 0 1742 0 curveto -2505 0 3008 583 3008 1477 curveto -3008 2419 2517 3008 1722 3008 curveto -1317 3008 991 2827 768 2476 curveto -768 3008 lineto -320 3008 lineto -320 -1270 lineto -1647 2559 moveto -2161 2559 2496 2138 2496 1488 curveto -2496 870 2155 449 1647 449 curveto -1156 449 832 865 832 1504 curveto -832 2143 1156 2559 1647 2559 curveto -end_ol grestore -gsave 25.352533 18.817300 translate 0.035278 -0.035278 scale -start_ol -2816 0 moveto -2816 3008 lineto -2304 3008 lineto -2304 1386 lineto -2304 802 1990 420 1502 420 curveto -1132 420 896 638 896 982 curveto -896 3008 lineto -384 3008 lineto -384 786 lineto -384 308 749 0 1322 0 curveto -1754 0 2029 154 2304 546 curveto -2304 0 lineto -2816 0 lineto -end_ol grestore -gsave 25.775867 18.817300 translate 0.035278 -0.035278 scale -start_ol -1519 3008 moveto -1024 3008 lineto -1024 3837 lineto -512 3837 lineto -512 3008 lineto -103 3008 lineto -103 2616 lineto -512 2616 lineto -512 469 lineto -512 170 727 0 1114 0 curveto -1233 0 1352 11 1519 40 curveto -1519 436 lineto -1456 420 1381 420 1289 420 curveto -1082 420 1024 474 1024 674 curveto -1024 2616 lineto -1519 2616 lineto -1519 3008 lineto -end_ol grestore -gsave 25.987533 18.817300 translate 0.035278 -0.035278 scale -start_ol -2955 1344 moveto -2955 1780 2920 2042 2834 2255 curveto -2638 2724 2177 3008 1613 3008 curveto -772 3008 230 2399 230 1463 curveto -230 558 755 0 1601 0 curveto -2292 0 2771 362 2892 969 curveto -2408 969 lineto -2275 624 2004 444 1619 444 curveto -1313 444 1054 564 893 784 curveto -778 934 737 1084 732 1344 curveto -2955 1344 lineto -743 1728 moveto -783 2235 1123 2564 1607 2564 curveto -2079 2564 2442 2209 2442 1759 curveto -2442 1749 2442 1739 2436 1728 curveto -743 1728 lineto -end_ol grestore -gsave 26.410867 18.817300 translate 0.035278 -0.035278 scale -start_ol -end_ol grestore -gsave 26.622533 18.817300 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1605 lineto -896 2199 1211 2588 1696 2588 curveto -2067 2588 2304 2366 2304 2016 curveto -2304 0 lineto -2816 0 lineto -2816 2210 lineto -2816 2695 2437 3008 1847 3008 curveto -1392 3008 1100 2837 832 2421 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 27.045867 18.817300 translate 0.035278 -0.035278 scale -start_ol -1562 3008 moveto -709 3008 192 2446 192 1504 curveto -192 562 703 0 1568 0 curveto -2421 0 2944 562 2944 1483 curveto -2944 2451 2439 3008 1562 3008 curveto -1568 2564 moveto -2109 2564 2432 2164 2432 1488 curveto -2432 849 2098 444 1568 444 curveto -1032 444 704 844 704 1504 curveto -704 2159 1032 2564 1568 2564 curveto -end_ol grestore -gsave 27.469200 18.817300 translate 0.035278 -0.035278 scale -start_ol -2880 4224 moveto -2368 4224 lineto -2368 2543 lineto -2165 2847 1840 3008 1434 3008 curveto -644 3008 128 2425 128 1531 curveto -128 583 621 0 1421 0 curveto -1829 0 2113 153 2368 522 curveto -2368 0 lineto -2880 0 lineto -2880 4224 lineto -1518 2559 moveto -2039 2559 2368 2143 2368 1494 curveto -2368 865 2033 449 1524 449 curveto -993 449 640 870 640 1504 curveto -640 2138 993 2559 1518 2559 curveto -end_ol grestore -gsave 27.892533 18.817300 translate 0.035278 -0.035278 scale -start_ol -2955 1344 moveto -2955 1780 2920 2042 2834 2255 curveto -2638 2724 2177 3008 1613 3008 curveto -772 3008 230 2399 230 1463 curveto -230 558 755 0 1601 0 curveto -2292 0 2771 362 2892 969 curveto -2408 969 lineto -2275 624 2004 444 1619 444 curveto -1313 444 1054 564 893 784 curveto -778 934 737 1084 732 1344 curveto -2955 1344 lineto -743 1728 moveto -783 2235 1123 2564 1607 2564 curveto -2079 2564 2442 2209 2442 1759 curveto -2442 1749 2442 1739 2436 1728 curveto -743 1728 lineto -end_ol grestore -gsave 24.242400 19.514800 translate 0.035278 -0.035278 scale -start_ol -2880 4224 moveto -2368 4224 lineto -2368 2543 lineto -2165 2847 1840 3008 1434 3008 curveto -644 3008 128 2425 128 1531 curveto -128 583 621 0 1421 0 curveto -1829 0 2113 153 2368 522 curveto -2368 0 lineto -2880 0 lineto -2880 4224 lineto -1518 2559 moveto -2039 2559 2368 2143 2368 1494 curveto -2368 865 2033 449 1524 449 curveto -993 449 640 870 640 1504 curveto -640 2138 993 2559 1518 2559 curveto -end_ol grestore -gsave 24.665733 19.514800 translate 0.035278 -0.035278 scale -start_ol -3115 414 moveto -3063 420 3040 420 3011 420 curveto -2844 420 2752 492 2752 618 curveto -2752 2221 lineto -2752 2733 2333 3008 1538 3008 curveto -1070 3008 681 2888 466 2675 curveto -318 2528 256 2364 256 2080 curveto -881 2080 lineto -921 2413 1136 2564 1577 2564 curveto -2002 2564 2240 2416 2240 2152 curveto -2240 2035 lineto -2240 1850 2120 1771 1743 1729 curveto -1068 1649 965 1628 782 1560 curveto -433 1427 256 1179 256 819 curveto -256 317 634 0 1240 0 curveto -1618 0 1921 132 2259 441 curveto -2295 137 2451 0 2774 0 curveto -2876 0 2953 12 3115 54 curveto -3115 414 lineto -2240 1019 moveto -2240 873 2195 784 2053 665 curveto -1861 503 1629 420 1351 420 curveto -983 420 768 581 768 857 curveto -768 1144 977 1289 1481 1357 curveto -1980 1420 2081 1440 2240 1508 curveto -2240 1019 lineto -end_ol grestore -gsave 25.089067 19.514800 translate 0.035278 -0.035278 scale -start_ol -2955 1344 moveto -2955 1780 2920 2042 2834 2255 curveto -2638 2724 2177 3008 1613 3008 curveto -772 3008 230 2399 230 1463 curveto -230 558 755 0 1601 0 curveto -2292 0 2771 362 2892 969 curveto -2408 969 lineto -2275 624 2004 444 1619 444 curveto -1313 444 1054 564 893 784 curveto -778 934 737 1084 732 1344 curveto -2955 1344 lineto -743 1728 moveto -783 2235 1123 2564 1607 2564 curveto -2079 2564 2442 2209 2442 1759 curveto -2442 1749 2442 1739 2436 1728 curveto -743 1728 lineto -end_ol grestore -gsave 25.512400 19.514800 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1827 lineto -896 2249 1216 2588 1612 2588 curveto -1972 2588 2176 2377 2176 2005 curveto -2176 0 lineto -2688 0 lineto -2688 1827 lineto -2688 2249 2992 2588 3368 2588 curveto -3705 2588 3904 2371 3904 2005 curveto -3904 0 lineto -4416 0 lineto -4416 2193 lineto -4416 2718 4108 3008 3550 3008 curveto -3151 3008 2912 2888 2633 2549 curveto -2448 2870 2198 3008 1792 3008 curveto -1375 3008 1100 2859 832 2499 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 26.147400 19.514800 translate 0.035278 -0.035278 scale -start_ol -1562 3008 moveto -709 3008 192 2446 192 1504 curveto -192 562 703 0 1568 0 curveto -2421 0 2944 562 2944 1483 curveto -2944 2451 2439 3008 1562 3008 curveto -1568 2564 moveto -2109 2564 2432 2164 2432 1488 curveto -2432 849 2098 444 1568 444 curveto -1032 444 704 844 704 1504 curveto -704 2159 1032 2564 1568 2564 curveto -end_ol grestore -gsave 26.570733 19.514800 translate 0.035278 -0.035278 scale -start_ol -384 3008 moveto -384 0 lineto -896 0 lineto -896 1605 lineto -896 2199 1211 2588 1696 2588 curveto -2067 2588 2304 2366 2304 2016 curveto -2304 0 lineto -2816 0 lineto -2816 2210 lineto -2816 2695 2437 3008 1847 3008 curveto -1392 3008 1100 2837 832 2421 curveto -832 3008 lineto -384 3008 lineto -end_ol grestore -gsave 26.994067 19.514800 translate 0.035278 -0.035278 scale -start_ol -2624 2128 moveto -2624 2691 2211 3008 1476 3008 curveto -736 3008 256 2675 256 2162 curveto -256 1729 496 1522 1204 1364 curveto -1649 1263 lineto -1981 1189 2112 1078 2112 878 curveto -2112 618 1835 444 1421 444 curveto -1167 444 952 512 833 626 curveto -759 704 725 782 697 974 curveto -256 974 lineto -256 316 638 0 1409 0 curveto -2152 0 2624 344 2624 878 curveto -2624 1290 2373 1517 1779 1649 curveto -1322 1750 lineto -934 1834 768 1951 768 2146 curveto -768 2400 1038 2564 1465 2564 curveto -1886 2564 2112 2413 2112 2128 curveto -2624 2128 lineto -end_ol grestore -showpage diff --git a/executable_names/doc/figures/arch2.eps b/executable_names/doc/figures/arch2.eps deleted file mode 100644 index 1af55df6b0..0000000000 --- a/executable_names/doc/figures/arch2.eps +++ /dev/null @@ -1,2591 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /g/g0/jette/sigops/figure2.eps -%%CreationDate: Wed Feb 1 14:13:04 2006 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 663 460 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 444.960000 translate -648.000000 -444.960000 scale -% Image geometry -900 618 8 -% Transformation matrix -[ 900 0 0 618 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 900 string def -/gstr 900 string def -/bstr 900 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 128522 ASCII Bytes -colorimage -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$L]?$-JcC<$JcDABJ,~> -JcC<$L]?$-JcC<$JcDABJ,~> -JcC<$L]?$-JcC<$JcDABJ,~> -JcC<$OT3?$JcC<$JcD\KJ,~> -JcC<$OT3?$JcC<$JcD\KJ,~> -JcC<$OT3?$JcC<$JcD\KJ,~> -JcC<$QN+PsJcC<$JcDnQJ,~> -JcC<$QN+PsJcC<$JcDnQJ,~> -JcC<$QN+PsJcC<$JcDnQJ,~> -JcC<$S,_^QiW&-BJcC<$JcE(VJ,~> -JcC<$S,_^QiW&-BJcC<$JcE(VJ,~> -JcC<$S,_^QiW&-BJcC<$JcE(VJ,~> -JcC<$T)\<\bQ%)4JcC<$JcE1YJ,~> -JcC<$T)\<\bQ%)4JcC<$JcE1YJ,~> -JcC<$T)\<\bQ%)4JcC<$JcE1YJ,~> -JcC<$U&X`b^]3p+JcC<$JcE:\J,~> -JcC<$U&X`b^]3p+JcC<$JcE:\J,~> -JcC<$U&X`b^]3p+JcC<$JcE:\J,~> -JcC<$U]:&g[K#t$JcC<$JcE@^J,~> -JcC<$U]:&g[K#t$JcC<$JcE@^J,~> -JcC<$U]:&g[K#t$JcC<$JcE@^J,~> -JcC<$V>p>kXoJ1sJcC<$JcEF`J,~> -JcC<$V>p>kXoJ1sJcC<$JcEF`J,~> -JcC<$V>p>kXoJ1sJcC<$JcEF`J,~> -li3d]JcD,;qZ*PoqZ)3IJcC<$^Ai]~> -li3d]JcD,;qZ*PoqZ)3IJcC<$^Ai]~> -li3d]JcD,;qZ*PoqZ)3IJcC<$^Ai]~> -li3d]JcD,;r;`Vmr;_EKJcC<$^Ai]~> -li3d]JcD,;r;`Vmr;_EKJcC<$^Ai]~> -li3d]JcD,;r;`Vmr;_EKJcC<$^Ai]~> -li3d]JcD,;rW&Ylr;_EKJcC<$^]/f~> -li3d]JcD,;rW&Ylr;_EKJcC<$^]/f~> -li3d]JcD,;rW&Ylr;_EKJcC<$^]/f~> -li6qaX8i/!JcD/ -li6qaX8i/!JcD/ -li6qaX8i/!JcD/ -li6qaX8i/!JcD,;r;`VmquD -li6qaX8i/!JcD,;r;`VmquD -li6qaX8i/!JcD,;r;`VmquD -li6qaX8i/!JcD,;qZ*Poq>c*HJcC<$^]/f~> -li6qaX8i/!JcD,;qZ*Poq>c*HJcC<$^]/f~> -li6qaX8i/!JcD,;qZ*Poq>c*HJcC<$^]/f~> -li6qaX8i/!JcD,;p].GrpAfdEJcC<$^]/f~> -li6qaX8i/!JcD,;p].GrpAfdEJcC<$^]/f~> -li6qaX8i/!JcD,;p].GrpAfdEJcC<$^]/f~> -li6qaX8i/!JcD,;oDl -li6qaX8i/!JcD,;oDl -li6qaX8i/!JcD,;oDl -li6qaX8i/!JcD,;rW)uuoDlZ+oDnmjrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)uuoDlZ+oDnmjrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)uuoDlZ+oDnmjrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)lrnGpc4nGrIdrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)lrnGpc4nGrIdrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)lrnGpc4nGrIdrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)coklB]BklCMYrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)coklB]BklCMYrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)coklB]BklCMYrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)Tj])_I&rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)Tj])_I&rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)Tj])_I&rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)Bd`rPN,rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)Bd`rPN,rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)Bd`rPN,rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)'[f`:+5rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)'[f`:+5rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)'[f`:+5rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW(pWrrBq9rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW(pWrrBq9rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW(pWrrBq9rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)$ZquFV6rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)$ZquFV6rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)$ZquFV6rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)$ZquFV6rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)$ZquFV6rW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW)$ZquFV6rW%NLJcC<$^]/f~> -li6qa])Ma1oDediJcD,;rW(sXrW)9a!!(^PrW%NLJcC<$^]/f~> -li6qa])Ma1oDediJcD,;rW(sXrW)9a!!(^PrW%NLJcC<$^]/f~> -li6qa])Ma1oDediJcD,;rW(sXrW)9a!!(^PrW%NLJcC<$^]/f~> -li6qa]Dqm2oDediqYpNqJcDDCrW(sXrW) -li6qa]Dqm2oDediqYpNqJcDDCrW(sXrW) -li6qa]Dqm2oDediqYpNqJcDDCrW(sXrW) -li6qa]`7s2oDedir;Z`rJcDDCrW(sXrW)?crW(XOrW%NLJcC<$^]/f~> -li6qa]`7s2oDedir;Z`rJcDDCrW(sXrW)?crW(XOrW%NLJcC<$^]/f~> -li6qa]`7s2oDedir;Z`rJcDDCrW(sXrW)?crW(XOrW%NLJcC<$^]/f~> -li6qa]`7s2oDedirr;osJcDABrW(sXrW)?crW(XOrW%NLJcC<$^]/f~> -li6qa]`7s2oDedirr;osJcDABrW(sXrW)?crW(XOrW%NLJcC<$^]/f~> -li6qa]`7s2oDedirr;osJcDABrW(sXrW)?crW(XOrW%NLJcC<$^]/f~> -li6qaoDedip](0lo`+mjp&G!kqu?TpoDedi!<;rsJcD>ArW)-]rW)uurW)cor;c]or;cWmr;c![ -rW%NLJcC<$^]/f~> -li6qaoDedip](0lo`+mjp&G!kqu?TpoDedi!<;rsJcD>ArW)-]rW)uurW)cor;c]or;cWmr;c![ -rW%NLJcC<$^]/f~> -li6qaoDedip](0lo`+mjp&G!kqu?TpoDedi!<;rsJcD>ArW)-]rW)uurW)cor;c]or;cWmr;c![ -rW%NLJcC<$^]/f~> -li6qap&Fgfr;ZQmq>^6jqZ$?ks8ViopAamfJcD>ArW)3_pAk*jq#LEop]19mq#KXYrW%NLJcC<$ -^]/f~> -li6qap&Fgfr;ZQmq>^6jqZ$?ks8ViopAamfJcD>ArW)3_pAk*jq#LEop]19mq#KXYrW%NLJcC<$ -^]/f~> -li6qap&Fgfr;ZQmq>^6jqZ$?ks8ViopAamfJcD>ArW)3_pAk*jq#LEop]19mq#KXYrW%NLJcC<$ -^]/f~> -li6qapAb-mrVuisrVuisrVuisqu?Wqrr;osr;Z`rrr;oss8Voqp&FgfJcD;@rW)6`rW)osr;ccq -rW)osrW)rtq>gKorW)osrW)3_rW%NLJcC<$^]/f~> -li6qapAb-mrVuisrVuisrVuisqu?Wqrr;osr;Z`rrr;oss8Voqp&FgfJcD;@rW)6`rW)osr;ccq -rW)osrW)rtq>gKorW)osrW)3_rW%NLJcC<$^]/f~> -li6qapAb-mrVuisrVuisrVuisqu?Wqrr;osr;Z`rrr;oss8Voqp&FgfJcD;@rW)6`rW)osr;ccq -rW)osrW)rtq>gKorW)osrW)3_rW%NLJcC<$^]/f~> -li6qapAb-mr;ZcsrVuisrVuisr;Z`rr;Z]qrr;rtr;Z]qs8W#tp&BRCO9"VHrW)iqrW)lrrW)os -rW)osr;c`prW)osrW)3_rW%NLJcC<$^]/f~> -li6qapAb-mr;ZcsrVuisrVuisr;Z`rr;Z]qrr;rtr;Z]qs8W#tp&BRCO9"VHrW)iqrW)lrrW)os -rW)osr;c`prW)osrW)3_rW%NLJcC<$^]/f~> -li6qapAb-mr;ZcsrVuisrVuisr;Z`rr;Z]qrr;rtr;Z]qs8W#tp&BRCO9"VHrW)iqrW)lrrW)os -rW)osr;c`prW)osrW)3_rW%NLJcC<$^]/f~> -li6qap](3mr;Zcsrr;osrVufrrVultqu?Tprr;uuqu?Tps8W#tp]#dENWADFrW)iqrW)osr;cfr -r;cisr;ccqr;cfrr;c-_rW%NLJcC<$^]/f~> -li6qap](3mr;Zcsrr;osrVufrrVultqu?Tprr;uuqu?Tps8W#tp]#dENWADFrW)iqrW)osr;cfr -r;cisr;ccqr;cfrr;c-_rW%NLJcC<$^]/f~> -li6qap](3mr;Zcsrr;osrVufrrVultqu?Tprr;uuqu?Tps8W#tp]#dENWADFrW)iqrW)osr;cfr -r;cisr;ccqr;cfrr;c-_rW%NLJcC<$^]/f~> -li6qap](0lp](6nr;Z]qrr;rtqZ$Qqrr;rtqZ$Qqrr;osp]#dENWAGGrW)fprW)lrrrDusr;cis -r;c`prrDusr;c-_rW%NLJcC<$^]/f~> -li6qap](0lp](6nr;Z]qrr;rtqZ$Qqrr;rtqZ$Qqrr;osp]#dENWAGGrW)fprW)lrrrDusr;cis -r;c`prrDusr;c-_rW%NLJcC<$^]/f~> -li6qap](0lp](6nr;Z]qrr;rtqZ$Qqrr;rtqZ$Qqrr;osp]#dENWAGGrW)fprW)lrrrDusr;cis -r;c`prrDusr;c-_rW%NLJcC<$^]/f~> -li6qapAb$joDe^grr;rtp&G!kp&Fsjp&FadJcD;@rW) -li6qapAb$joDe^grr;rtp&G!kp&Fsjp&FadJcD;@rW) -li6qapAb$joDe^grr;rtp&G!kp&Fsjp&FadJcD;@rW) -li6qap&Fmhq#C-irr;rtp&G!kp&FsjoDeUdJcD;@rW) -li6qap&Fmhq#C-irr;rtp&G!kp&FsjoDeUdJcD;@rW) -li6qap&Fmhq#C-irr;rtp&G!kp&FsjoDeUdJcD;@rW) -li6qao`+dgqZ$Nps8W#ts8W#tpAb'kp&FsjoDeRcJcD>ArW)?cr;c]orW)fprW)uur;cisr;cZn -rW)uur;c-_rW%NLJcC<$^]/f~> -li6qao`+dgqZ$Nps8W#ts8W#tpAb'kp&FsjoDeRcJcD>ArW)?cr;c]orW)fprW)uur;cisr;cZn -rW)uur;c-_rW%NLJcC<$^]/f~> -li6qao`+dgqZ$Nps8W#ts8W#tpAb'kp&FsjoDeRcJcD>ArW)?cr;c]orW)fprW)uur;cisr;cZn -rW)uur;c-_rW%NLJcC<$^]/f~> -li6qaoDe[frVuisrVufrs8W#tpAb'kp&FsjoDedi!<;rsJcD>ArW)?cr;c]orW)lrrW)osr;cis -r;c`prW)osr;c-_rW%NLJcC<$^]/f~> -li6qaoDe[frVuisrVufrs8W#tpAb'kp&FsjoDedi!<;rsJcD>ArW)?cr;c]orW)lrrW)osr;cis -r;c`prW)osr;c-_rW%NLJcC<$^]/f~> -li6qaoDe[frVuisrVufrs8W#tpAb'kp&FsjoDedi!<;rsJcD>ArW)?cr;c]orW)lrrW)osr;cis -r;c`prW)osr;c-_rW%NLJcC<$^]/f~> -li6qapAY*mrVucqrr;rtrVufrrr;rtp&G!kp&FsjoDedirr;osJcDABrW) -li6qapAY*mrVucqrr;rtrVufrrr;rtp&G!kp&FsjoDedirr;osJcDABrW) -li6qapAY*mrVucqrr;rtrVufrrr;rtp&G!kp&FsjoDedirr;osJcDABrW) -li6qapAY*mr;Z]qs8W#trVufrrr;osqZ$Qqs8W#tqZ$Qqs8W#toDedir;Z`rJcDDCrW) -li6qapAY*mr;Z]qs8W#trVufrrr;osqZ$Qqs8W#tqZ$Qqs8W#toDedir;Z`rJcDDCrW) -li6qapAY*mr;Z]qs8W#trVufrrr;osqZ$Qqs8W#tqZ$Qqs8W#toDedir;Z`rJcDDCrW) -li6qapAY*mqu?Wqs8W#trVufrrr;lrqu6Wrrr;lrqu6Wrrr;osoDediqYpNqJcDDCrW) -li6qapAY*mqu?Wqs8W#trVufrrr;lrqu6Wrrr;lrqu6Wrrr;osoDediqYpNqJcDDCrW) -li6qapAY*mqu?Wqs8W#trVufrrr;lrqu6Wrrr;lrqu6Wrrr;osoDediqYpNqJcDDCrW) -li6qapAY*mqu?Wqs8W#trr;lrrVuQkrVuQkrr;oss8N'!pAb*lJcD,;rW)9ar;ccqr;cisr;cis -quH`rr;clt!W`9#r;cisquH$^rW%NLJcC<$^]/f~> -li6qapAY*mqu?Wqs8W#trr;lrrVuQkrVuQkrr;oss8N'!pAb*lJcD,;rW)9ar;ccqr;cisr;cis -quH`rr;clt!W`9#r;cisquH$^rW%NLJcC<$^]/f~> -li6qapAY*mqu?Wqs8W#trr;lrrVuQkrVuQkrr;oss8N'!pAb*lJcD,;rW)9ar;ccqr;cisr;cis -quH`rr;clt!W`9#r;cisquH$^rW%NLJcC<$^]/f~> -li6qapAb-mr;Zcsrr;Qirr;`nqu?EkrVu]opAb*lJcD,;rW)6`oDnpko)Jdjq>gQqo)S.WrW%NL -JcC<$^]/f~> -li6qapAb-mr;Zcsrr;Qirr;`nqu?EkrVu]opAb*lJcD,;rW)6`oDnpko)Jdjq>gQqo)S.WrW%NL -JcC<$^]/f~> -li6qapAb-mr;Zcsrr;Qirr;`nqu?EkrVu]opAb*lJcD,;rW)6`oDnpko)Jdjq>gQqo)S.WrW%NL -JcC<$^]/f~> -li6qapAapgr;ZWos8W#tr;ZTnq>^9kqu?Qop&G!kJcD,;rW)3_qZ$Wrr;cfrqZ-Zrr;cisquH]q -qZ-Zrr;c0`rW%NLJcC<$^]/f~> -li6qapAapgr;ZWos8W#tr;ZTnq>^9kqu?Qop&G!kJcD,;rW)3_qZ$Wrr;cfrqZ-Zrr;cisquH]q -qZ-Zrr;c0`rW%NLJcC<$^]/f~> -li6qapAapgr;ZWos8W#tr;ZTnq>^9kqu?Qop&G!kJcD,;rW)3_qZ$Wrr;cfrqZ-Zrr;cisquH]q -qZ-Zrr;c0`rW%NLJcC<$^]/f~> -li6qapAY0os8W&uq#C?or;Q`sq#C -li6qapAY0os8W&uq#C?or;Q`sq#C -li6qapAY0os8W&uq#C?or;Q`sq#C -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li6qaX8i/!JcD,;rW&VkrW%NLJcC<$^]/f~> -li3d]JcD,;rW&VkrW%NLJcC<$^]/f~> -li3d]JcD,;rW&VkrW%NLJcC<$^]/f~> -li3d]JcD,;rW&VkrW%NLJcC<$^]/f~> -li3d]JcD,;rW&VkrW%NLJcC<$^]/f~> -li3d]JcD,;rW&VkrW%NLJcC<$^]/f~> -li3d]JcD,;rW&VkrW%NLJcC<$^]/f~> -li3d]JcD,;rW(mVquHcsrW)fprrCRKrW%NLJcC<$^]/f~> -li3d]JcD,;rW(mVquHcsrW)fprrCRKrW%NLJcC<$^]/f~> -li3d]JcD,;rW(mVquHcsrW)fprrCRKrW%NLJcC<$^]/f~> -JcC<$VZ6VqirAZOrVucqeGoLJJcC<$JcELbJ,~> -JcC<$VZ6VqirAZOrVucqeGoLJJcC<$JcELbJ,~> -JcC<$VZ6VqirAZOrVucqeGoLJJcC<$JcELbJ,~> -JcC<$VZ6Vqj8])Yrr;fprr;iqeGoLJJcC<$JcELbJ,~> -JcC<$VZ6Vqj8])Yrr;fprr;iqeGoLJJcC<$JcELbJ,~> -JcC<$VZ6Vqj8])Yrr;fprr;iqeGoLJJcC<$JcELbJ,~> -JcC<$VZ6Vqj8])Yrr;uus8W&uqu?WqeGoLJJcC<$JcELbJ,~> -JcC<$VZ6Vqj8])Yrr;uus8W&uqu?WqeGoLJJcC<$JcELbJ,~> -JcC<$VZ6Vqj8])Yrr;uus8W&uqu?WqeGoLJJcC<$JcELbJ,~> -JcC<$VZ6Vqj8])Ync/RgeGoLJJcC<$JcELbJ,~> -JcC<$VZ6Vqj8])Ync/RgeGoLJJcC<$JcELbJ,~> -JcC<$VZ6Vqj8])Ync/RgeGoLJJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/Ync/RgeGoLJJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/Ync/RgeGoLJJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/Ync/RgeGoLJJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/Ync/RgeGoLJJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/Ync/RgeGoLJJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/Ync/RgeGoLJJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/Ync/Rgq#C -JcC<$VZ6VqjT#/Ync/Rgq#C -JcC<$VZ6VqjT#/Ync/Rgq#C -JcC<$VZ6Vqk5Y/Urr;rtqu?WqqZ$BlirAuXJcC<$JcELbJ,~> -JcC<$VZ6Vqk5Y/Urr;rtqu?WqqZ$BlirAuXJcC<$JcELbJ,~> -JcC<$VZ6Vqk5Y/Urr;rtqu?WqqZ$BlirAuXJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/Yr;ZZpqu?Wqqu?Zrrr;osj8])YJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/Yr;ZZpqu?Wqqu?Zrrr;osj8])YJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/Yr;ZZpqu?Wqqu?Zrrr;osj8])YJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqr;Zcsr;Z]qjT#2ZJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqr;Zcsr;Z]qjT#2ZJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqr;Zcsr;Z]qjT#2ZJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuisr;Z]qjT#2ZJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuisr;Z]qjT#2ZJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuisr;Z]qjT#2ZJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuKijo>;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuKijo>;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuKijo>;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuKijo>;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuKijo>;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuKijo>;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;rtgAh-PJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;rtgAh-PJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;rtgAh-PJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;osg].6QJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;osg].6QJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;osg].6QJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;osg].6QJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;osg].6QJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;osg].6QJcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;osq#:;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;osq#:;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?Wqrr;osq#:;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuisq#:;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuisq#:;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVuisq#:;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVufrqZ$Qqjo>;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVufrqZ$Qqjo>;[JcC<$JcELbJ,~> -JcC<$VZ6VqjT#/YqZ$Npqu?WqrVufrqZ$Qqjo>;[JcC<$JcELbJ,~> -li2M9quDjK7jT#/YqZ$Npqu?Wqr;ZZprr;rtjT#2ZJcC<$JcELbJ,~> -li2M9quDjK7jT#/YqZ$Npqu?Wqr;ZZprr;rtjT#2ZJcC<$JcELbJ,~> -li2M9quDjK7jT#/YqZ$Npqu?Wqr;ZZprr;rtjT#2ZJcC<$JcELbJ,~> -li2M9quDjK7jT#/YqZ$Kor;Z]qrVuTlj8])YJcC<$JcELbJ,~> -li2M9quDjK7jT#/YqZ$Kor;Z]qrVuTlj8])YJcC<$JcELbJ,~> -li2M9quDjK7jT#/YqZ$Kor;Z]qrVuTlj8])YJcC<$JcELbJ,~> -li2M9quDjK7k5Y5Wrr;fps8VoqrVuZnirAuXJcC<$JcELbJ,~> -li2M9quDjK7k5Y5Wrr;fps8VoqrVuZnirAuXJcC<$JcELbJ,~> -li2M9quDjK7k5Y5Wrr;fps8VoqrVuZnirAuXJcC<$JcELbJ,~> -li6qaK)bfMJcERdrW'q;r;bdUrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW'q;r;bdUrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW'q;r;bdUrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&VkrW%NLJcC<$^]/f~> -li6qaK)bfMJcERdrW&Ylr;_EKJcC<$^]/f~> -li6qaK)bfMJcERdrW&Ylr;_EKJcC<$^]/f~> -li6qaK)bfMJcERdrW&Ylr;_EKJcC<$^]/f~> -li6qaK)bfMJcERdrW&YlrW%NLJcC<$^Ai]~> -li6qaK)bfMJcERdrW&YlrW%NLJcC<$^Ai]~> -li6qaK)bfMJcERdrW&YlrW%NLJcC<$^Ai]~> -li6qaK)bfMJcERdquESnquD -li6qaK)bfMJcERdquESnquD -li6qaK)bfMJcERdquESnquD -li6qaK)bfMJcEOcqZ*VqqZ)3IJcC<$^&NT~> -li6qaK)bfMJcEOcqZ*VqqZ)3IJcC<$^&NT~> -li6qaK)bfMJcEOcqZ*VqqZ)3IJcC<$^&NT~> -li6qaK)bfMJcELbq#IVuq#H!GJcC<$]`3K~> -li6qaK)bfMJcELbq#IVuq#H!GJcC<$]`3K~> -li6qaK)bfMJcELbq#IVuq#H!GJcC<$]`3K~> -li6qaK)bfMJcEIap&MT%p&K[DJcC<$]DmB~> -li6qaK)bfMJcEIap&MT%p&K[DJcC<$]DmB~> -li6qaK)bfMJcEIap&MT%p&K[DJcC<$]DmB~> -li6qaK)bfMJcE@^o)Q].o)O@AJcC<$\Gq'~> -li6qaK)bfMJcE@^o)Q].o)O@AJcC<$\Gq'~> -li6qaK)bfMJcE@^o)Q].o)O@AJcC<$\Gq'~> -li6qaP5kO^oDediJcE7[mf:c8mf7q=JcC<$[Jta~> -li6qaP5kO^oDediJcE7[mf:c8mf7q=JcC<$[Jta~> -li6qaP5kO^oDediJcE7[mf:c8mf7q=JcC<$[Jta~> -li6qaQ2ga^oDediJcE+WjoF`IjoBu4JcC<$Z2]=~> -li6qaQ2ga^oDediJcE+WjoF`IjoBu4JcC<$Z2]=~> -li6qaQ2ga^oDediJcE+WjoF`IjoBu4JcC<$Z2]=~> -li6qaQN-g^oDediJcDqR^B!6mJH4p7JcC<$jSs`~> -li6qaQN-g^oDediJcDqR^B!6mJH4p7JcC<$jSs`~> -li6qaQN-g^oDediJcDqR^B!6mJH4p7JcC<$jSs`~> -li6qa[f6=-huEZUoDediJcD\KblHJtJH4p7JcC<$jSs`~> -li6qa[f6=-huEZUoDediJcD\KblHJtJH4p7JcC<$jSs`~> -li6qa[f6=-huEZUoDediJcD\KblHJtJH4p7JcC<$jSs`~> -li6qa\,ZI.huEZUoDediJcD8?jT*U+JH4p7JcC<$jSs`~> -li6qa\,ZI.huEZUoDediJcD8?jT*U+JH4p7JcC<$jSs`~> -li6qa\,ZI.huEZUoDediJcD8?jT*U+JH4p7JcC<$jSs`~> -li6qa\GuO.huEZUoDediJcCf2rW'h8rW%NLn,N@eJcC<$jSs`~> -li6qa\GuO.huEZUoDediJcCf2rW'h8rW%NLn,N@eJcC<$jSs`~> -li6qa\GuO.huEZUoDediJcCf2rW'h8rW%NLn,N@eJcC<$jSs`~> -li6qa\GuO.huEZUoDediJcCi3r;a_7rW%NLn,N@eJcC<$jSs`~> -li6qa\GuO.huEZUoDediJcCi3r;a_7rW%NLn,N@eJcC<$jSs`~> -li6qa\GuO.huEZUoDediJcCi3r;a_7rW%NLn,N@eJcC<$jSs`~> -li6qaoDedip&G!kp&G!kp&>!lrr;uuqZ$Koq#:Hss8N'!q>^Eoq#C -li6qaoDedip&G!kp&G!kp&>!lrr;uuqZ$Koq#:Hss8N'!q>^Eoq#C -li6qaoDedip&G!kp&G!kp&>!lrr;uuqZ$Koq#:Hss8N'!q>^Eoq#C -li6qap&Fgfqu?HlqZ$?kqZ$Ko!<;orrr;`nrr;os!<;utrVuZnqZ$NpoDediJcCl4qZ+P6rW%NL -n,N@eJcC<$jSs`~> -li6qap&Fgfqu?HlqZ$?kqZ$Ko!<;orrr;`nrr;os!<;utrVuZnqZ$NpoDediJcCl4qZ+P6rW%NL -n,N@eJcC<$jSs`~> -li6qap&Fgfqu?HlqZ$?kqZ$Ko!<;orrr;`nrr;os!<;utrVuZnqZ$NpoDediJcCl4qZ+P6rW%NL -n,N@eJcC<$jSs`~> -li6qapAb-mrVuisr;Z`rrr;osr;Z`rrVuisrVuHhrr;fps8V`ls8W&urVuisqu?WqoDediJcCl4 -q>eJ6rW%NLn,N@eJcC<$jSs`~> -li6qapAb-mrVuisr;Z`rrr;osr;Z`rrVuisrVuHhrr;fps8V`ls8W&urVuisqu?WqoDediJcCl4 -q>eJ6rW%NLn,N@eJcC<$jSs`~> -li6qapAb-mrVuisr;Z`rrr;osr;Z`rrVuisrVuHhrr;fps8V`ls8W&urVuisqu?WqoDediJcCl4 -q>eJ6rW%NLn,N@eJcC<$jSs`~> -li6qapAb-mr;ZcsrVuisr;Z]qrr;rtqu?Wqr;ZZprVuisrVufrqu?Qo!<<#us8W&uqu?Wqr;Z`r -oDediJcCo5q#JA5rW%NLn,N@eJcC<$jSs`~> -li6qapAb-mr;ZcsrVuisr;Z]qrr;rtqu?Wqr;ZZprVuisrVufrqu?Qo!<<#us8W&uqu?Wqr;Z`r -oDediJcCo5q#JA5rW%NLn,N@eJcC<$jSs`~> -li6qapAb-mr;ZcsrVuisr;Z]qrr;rtqu?Wqr;ZZprVuisrVufrqu?Qo!<<#us8W&uqu?Wqr;Z`r -oDediJcCo5q#JA5rW%NLn,N@eJcC<$jSs`~> -li6qap](3mr;ZcsrVultqu?Tps8W#tqu?TprVufrr;Z`rrVufrqu?Tpqu?Tpqu?TprVuisoDedi -JcCo5p]/;5rW%NLn,N@eJcC<$jSs`~> -li6qap](3mr;ZcsrVultqu?Tps8W#tqu?TprVufrr;Z`rrVufrqu?Tpqu?Tpqu?TprVuisoDedi -JcCo5p]/;5rW%NLn,N@eJcC<$jSs`~> -li6qap](3mr;ZcsrVultqu?Tps8W#tqu?TprVufrr;Z`rrVufrqu?Tpqu?Tpqu?TprVuisoDedi -JcCo5p]/;5rW%NLn,N@eJcC<$jSs`~> -li6qap](0lq#C^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rtp]($hJcCu7 -pAi24rW%NLn,N@eJcC<$jSs`~> -li6qap](0lq#C^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rtp]($hJcCu7 -pAi24rW%NLn,N@eJcC<$jSs`~> -li6qap](0lq#C^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rtp]($hJcCu7 -pAi24rW%NLn,N@eJcC<$jSs`~> -li6qapAb$jqZ$Npp&G!kq>^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rtpAaX_JcD;@p&N,4 -rW%NLn,N@eJcC<$jSs`~> -li6qapAb$jqZ$Npp&G!kq>^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rtpAaX_JcD;@p&N,4 -rW%NLn,N@eJcC<$jSs`~> -li6qapAb$jqZ$Npp&G!kq>^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rtpAaX_JcD;@p&N,4 -rW%NLn,N@eJcC<$jSs`~> -li6qap&Fmhr;Z`rp&G!kq>^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rtpAa[`JcD8?p&N,4 -rW%NLn,N@eJcC<$jSs`~> -li6qap&Fmhr;Z`rp&G!kq>^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rtpAa[`JcD8?p&N,4 -rW%NLn,N@eJcC<$jSs`~> -li6qap&Fmhr;Z`rp&G!kq>^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rtpAa[`JcD8?p&N,4 -rW%NLn,N@eJcC<$jSs`~> -li6qao`+dgrr;ospAb'kq>^BnrVuisr;Z]qrr;osqu?Tpr;Z]qq>^Bnrr;rtp&F[bJcD5>oDlr3 -rW%NLn,N@eJcC<$jSs`~> -li6qao`+dgrr;ospAb'kq>^BnrVuisr;Z]qrr;osqu?Tpr;Z]qq>^Bnrr;rtp&F[bJcD5>oDlr3 -rW%NLn,N@eJcC<$jSs`~> -li6qao`+dgrr;ospAb'kq>^BnrVuisr;Z]qrr;osqu?Tpr;Z]qq>^Bnrr;rtp&F[bJcD5>oDlr3 -rW%NLn,N@eJcC<$jSs`~> -li6qaoDe[fs8W#tp&G!kq>^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rto`+[dJcD/ -li6qaoDe[fs8W#tp&G!kq>^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rto`+[dJcD/ -li6qaoDe[fs8W#tp&G!kq>^BnrVuisr;Z]qrr;osqu?Tpqu?Wqq>^Bnrr;rto`+[dJcD/ -li6qapAY*mrVucqs8W&up&FsjqZ$KorVuisr;Z]qrr;osqu?Tpqu?TpqZ$Korr;rto`+XcJcD5> -rW)rtrW)rtrW(%>rW)*\rrB2$rrDThrrD]krW%NLJcFg2J,~> -li6qapAY*mrVucqs8W&up&FsjqZ$KorVuisr;Z]qrr;osqu?Tpqu?TpqZ$Korr;rto`+XcJcD5> -rW)rtrW)rtrW(%>rW)*\rrB2$rrDThrrD]krW%NLJcFg2J,~> -li6qapAY*mrVucqs8W&up&FsjqZ$KorVuisr;Z]qrr;osqu?Tpqu?TpqZ$Korr;rto`+XcJcD5> -rW)rtrW)rtrW(%>rW)*\rrB2$rrDThrrD]krW%NLJcFg2J,~> -li6qapAY*mr;Z]qs8W#tqZ$Qqs8W#tqZ$Npr;Z`rr;Z]qrr;osqu?Tpqu?TpqZ$NprVuisoDeLa -JcD;@!!)rsrW)lr!!(+?rW)3_quEu$quHBhquHBhrW%NLJcFg2J,~> -li6qapAY*mr;Z]qs8W#tqZ$Qqs8W#tqZ$Npr;Z`rr;Z]qrr;osqu?Tpqu?TpqZ$NprVuisoDeLa -JcD;@!!)rsrW)lr!!(+?rW)3_quEu$quHBhquHBhrW%NLJcFg2J,~> -li6qapAY*mr;Z]qs8W#tqZ$Qqs8W#tqZ$Npr;Z`rr;Z]qrr;osqu?Tpqu?TpqZ$NprVuisoDeLa -JcD;@!!)rsrW)lr!!(+?rW)3_quEu$quHBhquHBhrW%NLJcFg2J,~> -li6qapAY*mqu?Wqs8Vusqu6Wrrr;osqZ$Npr;Z`rr;Z]qrr;osqu?Tpqu?TpqZ$NprVuisoDe^g -!<;orJcD,;rW'h8rW)6`qZ*o$qZ-9gquHBhrW%NLJcFg2J,~> -li6qapAY*mqu?Wqs8Vusqu6Wrrr;osqZ$Npr;Z`rr;Z]qrr;osqu?Tpqu?TpqZ$NprVuisoDe^g -!<;orJcD,;rW'h8rW)6`qZ*o$qZ-9gquHBhrW%NLJcFg2J,~> -li6qapAY*mqu?Wqs8Vusqu6Wrrr;osqZ$Npr;Z`rr;Z]qrr;osqu?Tpqu?TpqZ$NprVuisoDe^g -!<;orJcD,;rW'h8rW)6`qZ*o$qZ-9gquHBhrW%NLJcFg2J,~> -li6qapAY*mqu?Wqrr;ZlrVufrqu?Zrr;Z]qr;Z]qrr;oss8N'!rr;osqZ$Koqu?Zrr;Z`roDe[f -!<;lqJcD2=rW'h8rW)-]rW'A+!!)orrW)NhrW)TjrW%NLJcFg2J,~> -li6qapAY*mqu?Wqrr;ZlrVufrqu?Zrr;Z]qr;Z]qrr;oss8N'!rr;osqZ$Koqu?Zrr;Z`roDe[f -!<;lqJcD2=rW'h8rW)-]rW'A+!!)orrW)NhrW)TjrW%NLJcFg2J,~> -li6qapAY*mqu?Wqrr;ZlrVufrqu?Zrr;Z]qr;Z]qrr;oss8N'!rr;osqZ$Koqu?Zrr;Z`roDe[f -!<;lqJcD2=rW'h8rW)-]rW'A+!!)orrW)NhrW)TjrW%NLJcFg2J,~> -li6qapAb-mr;Zcsr;ZNlqu?TprVultqu?Tpr;Z]qrr;fprr;osq>^BnrVultqu?Tpo`+dgrr;fp -JcD8?rW'h8rW)-]rW'D,rrDrrrW)NhrW)TjrW%NLJcFg2J,~> -li6qapAb-mr;Zcsr;ZNlqu?TprVultqu?Tpr;Z]qrr;fprr;osq>^BnrVultqu?Tpo`+dgrr;fp -JcD8?rW'h8rW)-]rW'D,rrDrrrW)NhrW)TjrW%NLJcFg2J,~> -li6qapAb-mr;Zcsr;ZNlqu?TprVultqu?Tpr;Z]qrr;fprr;osq>^BnrVultqu?Tpo`+dgrr;fp -JcD8?rW'h8rW)-]rW'D,rrDrrrW)NhrW)TjrW%NLJcFg2J,~> -li6qapAapgqZ$Blq>^6jqu?Kms8Vrrrr;lrs8VlpqZ$?kr;ZTnp&Fmhr;ZWoJcD;@rW'h8rW)-] -rW'G-rW)iqrW)NhrW)TjrW%NLJcFg2J,~> -li6qapAapgqZ$Blq>^6jqu?Kms8Vrrrr;lrs8VlpqZ$?kr;ZTnp&Fmhr;ZWoJcD;@rW'h8rW)-] -rW'G-rW)iqrW)NhrW)TjrW%NLJcFg2J,~> -li6qapAapgqZ$Blq>^6jqu?Kms8Vrrrr;lrs8VlpqZ$?kr;ZTnp&Fmhr;ZWoJcD;@rW'h8rW)-] -rW'G-rW)iqrW)NhrW)TjrW%NLJcFg2J,~> -li6qapAY0os8W&upAb*lp&FpikPtP^m/Qt`kl:M[qu?KmJcDABrW'h8rW)-]rW'G-rW)iqrW)Nh -rW)TjrW%NLJcFg2J,~> -li6qapAY0os8W&upAb*lp&FpikPtP^m/Qt`kl:M[qu?KmJcDABrW'h8rW)-]rW'G-rW)iqrW)Nh -rW)TjrW%NLJcFg2J,~> -li6qapAY0os8W&upAb*lp&FpikPtP^m/Qt`kl:M[qu?KmJcDABrW'h8rW)-]rW'G-rW)iqrW)Nh -rW)TjrW%NLJcFg2J,~> -li6qaK)bfM!ri6#q>^ -li6qaK)bfM!ri6#q>^ -li6qaK)bfM!ri6#q>^ -li6qaK)bfM!ri6#p](*jJcDJErW'h8rW)Tjq#L?mrW)rtqZ-WqquHZpr;Zitr;cltr;ZitqZ-Wq -qZ-Hlq#LHpp]1 -li6qaK)bfM!ri6#p](*jJcDJErW'h8rW)Tjq#L?mrW)rtqZ-WqquHZpr;Zitr;cltr;ZitqZ-Wq -qZ-Hlq#LHpp]1 -li6qaK)bfM!ri6#p](*jJcDJErW'h8rW)Tjq#L?mrW)rtqZ-WqquHZpr;Zitr;cltr;ZitqZ-Wq -qZ-Hlq#LHpp]1 -li6qaK)bfMs8N'!pAashJcDPGrW'h8rW)WkrrE#trW)lrrW)lrr;ccqrW)rtkPtV_q#LgKorW)fprW)osr;cKirW%NLJcFg2J,~> -li6qaK)bfMs8N'!pAashJcDPGrW'h8rW)WkrrE#trW)lrrW)lrr;ccqrW)rtkPtV_q#LgKorW)fprW)osr;cKirW%NLJcFg2J,~> -li6qaK)bfMs8N'!pAashJcDPGrW'h8rW)WkrrE#trW)lrrW)lrr;ccqrW)rtkPtV_q#LgKorW)fprW)osr;cKirW%NLJcFg2J,~> -li6qaK)bfMnc/IdJcDSHrW'h8rW)WkrrDusrrDusrW)lrr;ccqrW)lrqu?`srW)uuquH]qquH]q -r;cfrrW)lrr;cltr;c`prW)iqrW)iqrW)TjrW%NLJcFg2J,~> -li6qaK)bfMnc/IdJcDSHrW'h8rW)WkrrDusrrDusrW)lrr;ccqrW)lrqu?`srW)uuquH]qquH]q -r;cfrrW)lrr;cltr;c`prW)iqrW)iqrW)TjrW%NLJcFg2J,~> -li6qaK)bfMnc/IdJcDSHrW'h8rW)WkrrDusrrDusrW)lrr;ccqrW)lrqu?`srW)uuquH]qquH]q -r;cfrrW)lrr;cltr;c`prW)iqrW)iqrW)TjrW%NLJcFg2J,~> -li6qaK)bfMn,N7bJcDYJrW'h8rW)ZlrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfr -rrDrrr;cltr;c`prW)iqrW)iqrW)TjrW%NLJcFg2J,~> -li6qaK)bfMn,N7bJcDYJrW'h8rW)ZlrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfr -rrDrrr;cltr;c`prW)iqrW)iqrW)TjrW%NLJcFg2J,~> -li6qaK)bfMn,N7bJcDYJrW'h8rW)ZlrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfr -rrDrrr;cltr;c`prW)iqrW)iqrW)TjrW%NLJcFg2J,~> -li6qaK)bfMmf3+`JcD_LrW'h8rW)Zlr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fp -rrE&ur;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMmf3+`JcD_LrW'h8rW)Zlr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fp -rrE&ur;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMmf3+`JcD_LrW'h8rW)Zlr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fp -rrE&ur;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMm/Qq_JcDbMrW'h8rW)WkquHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)Wk -r;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMm/Qq_JcDbMrW'h8rW)WkquHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)Wk -r;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMm/Qq_JcDbMrW'h8rW)WkquHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)Wk -r;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMlMp_]JcDhOrW'h8rW)TjqZ-KmrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)Wk -r;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMlMp_]JcDhOrW'h8rW)TjqZ-KmrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)Wk -r;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMlMp_]JcDhOrW'h8rW)TjqZ-KmrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)Wk -r;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMl2US[JcDnQrW'h8rW)QiqZ-NnrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNj -r;c`prW)osr;c]orW)TjrW%NLJcFg2J,~> -li6qaK)bfMl2US[JcDnQrW'h8rW)QiqZ-NnrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNj -r;c`prW)osr;c]orW)TjrW%NLJcFg2J,~> -li6qaK)bfMl2US[JcDnQrW'h8rW)QiqZ-NnrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNj -r;c`prW)osr;c]orW)TjrW%NLJcFg2J,~> -li6qaK)bfMkPtDZJcDqRrW'h8rW)NhqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNj -r;c`prW)osr;c]orW)TjrW%NLJcFg2J,~> -li6qaK)bfMkPtDZJcDqRrW'h8rW)NhqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNj -r;c`prW)osr;c]orW)TjrW%NLJcFg2J,~> -li6qaK)bfMkPtDZJcDqRrW'h8rW)NhqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNj -r;c`prW)osr;c]orW)TjrW%NLJcFg2J,~> -li6qaK)bfMk5Y8XJcE"TrW'h8rW)Wk!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -rW)Wkr;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMk5Y8XJcE"TrW'h8rW)Wk!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -rW)Wkr;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMk5Y8XJcE"TrW'h8rW)Wk!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -rW)Wkr;c`prW)lrrW)fprW)TjrW%NLJcFg2J,~> -li6qaK)bfMjT#&VJcE(VrW'h8rW)Wk!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -r;c]orrE*!r;c`prW)lrr;c`prW)TjrW%NLJcFg2J,~> -li6qaK)bfMjT#&VJcE(VrW'h8rW)Wk!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -r;c]orrE*!r;c`prW)lrr;c`prW)TjrW%NLJcFg2J,~> -li6qaK)bfMjT#&VJcE(VrW'h8rW)Wk!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -r;c]orrE*!r;c`prW)lrr;c`prW)TjrW%NLJcFg2J,~> -li6qaK)bfMirAlUJcE+WrW'h8rW)Wk!!)orrW)osrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -quHWo!!*#ur;c`prW)lrr;c`prW)TjrW%NLJcFg2J,~> -li6qaK)bfMirAlUJcE+WrW'h8rW)Wk!!)orrW)osrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -quHWo!!*#ur;c`prW)lrr;c`prW)TjrW%NLJcFg2J,~> -li6qaK)bfMirAlUJcE+WrW'h8rW)Wk!!)orrW)osrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -quHWo!!*#ur;c`prW)lrr;c`prW)TjrW%NLJcFg2J,~> -li6qaK)bfMiW&`SJcE1YrW'h8rW)Wk!!)orrW)osrW)lrr;cfrr;ccqr;cZnrW)lrr;ccqr;cfr -p&P*lr;clt!!*#urW)iqr;ccqr;cNjrW%NLJcFg2J,~> -li6qaK)bfMiW&`SJcE1YrW'h8rW)Wk!!)orrW)osrW)lrr;cfrr;ccqr;cZnrW)lrr;ccqr;cfr -p&P*lr;clt!!*#urW)iqr;ccqr;cNjrW%NLJcFg2J,~> -li6qaK)bfMiW&`SJcE1YrW'h8rW)Wk!!)orrW)osrW)lrr;cfrr;ccqr;cZnrW)lrr;ccqr;cfr -p&P*lr;clt!!*#urW)iqr;ccqr;cNjrW%NLJcFg2J,~> -li2M9quGXSqZ)3I\,ZF-_Z0T8p&G$lr;Zcsr;Z]qr;ZTn!<;rsrr;osqZ$Kor;Z]qr;Z]qr;ZNl -rVu]orr;osqu?9gpAb*lJcC<$jSs`~> -li2M9quGXSqZ)3I\,ZF-_Z0T8p&G$lr;Zcsr;Z]qr;ZTn!<;rsrr;osqZ$Kor;Z]qr;Z]qr;ZNl -rVu]orr;osqu?9gpAb*lJcC<$jSs`~> -li2M9quGXSqZ)3I\,ZF-_Z0T8p&G$lr;Zcsr;Z]qr;ZTn!<;rsrr;osqZ$Kor;Z]qr;Z]qr;ZNl -rVu]orr;osqu?9gpAb*lJcC<$jSs`~> -li2M9quGRQqZ)3I\c;X/_Z0T8p&FgfrVu]or;ZZps8W&urr;corVu]os8Voqs8VoqrVu]oqu?Qo -s8Voqqu?Nn!<;utp&G!kJcC<$jSs`~> -li2M9quGRQqZ)3I\c;X/_Z0T8p&FgfrVu]or;ZZps8W&urr;corVu]os8Voqs8VoqrVu]oqu?Qo -s8Voqqu?Nn!<;utp&G!kJcC<$jSs`~> -li2M9quGRQqZ)3I\c;X/_Z0T8p&FgfrVu]or;ZZps8W&urr;corVu]os8Voqs8VoqrVu]oqu?Qo -s8Voqqu?Nn!<;utp&G!kJcC<$jSs`~> -li2M9quGOPq>c*H]Dqj1_Z0T8p&>'ns8W&umf37drr2rudJs1Gq#C?omf3:err2ruo)J[hJcC<$ -jSs`~> -li2M9quGOPq>c*H]Dqj1_Z0T8p&>'ns8W&umf37drr2rudJs1Gq#C?omf3:err2ruo)J[hJcC<$ -jSs`~> -li2M9quGOPq>c*H]Dqj1_Z0T8p&>'ns8W&umf37drr2rudJs1Gq#C?omf3:err2ruo)J[hJcC<$ -jSs`~> -JcELbqZ)3I]`7s2_Z0T8JcG3=rW%NLJcFg2J,~> -JcELbqZ)3I]`7s2_Z0T8JcG3=rW%NLJcFg2J,~> -JcELbqZ)3I]`7s2_Z0T8JcG3=rW%NLJcFg2J,~> -JcEF`qZ)3I^An04_Z0T8JcG3=rW%NLJcFg2J,~> -JcEF`qZ)3I^An04_Z0T8JcG3=rW%NLJcFg2J,~> -JcEF`qZ)3I^An04_Z0T8JcG3=rW%NLJcFg2J,~> -JcEC_q>c*H_#OB6_Z0T8JcG3=rW%NLJcFg2J,~> -JcEC_q>c*H_#OB6_Z0T8JcG3=rW%NLJcFg2J,~> -JcEC_q>c*H_#OB6_Z0T8JcG3=rW%NLJcFg2J,~> -JcE=]qZ)3I_>jK7_Z0T8JcG3=rW%NLJcFg2J,~> -JcE=]qZ)3I_>jK7_Z0T8JcG3=rW%NLJcFg2J,~> -JcE=]qZ)3I_>jK7_Z0T8JcG3=rW%NLJcFg2J,~> -JcE7[qZ)3I_uK]9_Z0T8JcG3=rW%NLJcFg2J,~> -JcE7[qZ)3I_uK]9_Z0T8JcG3=rW%NLJcFg2J,~> -JcE7[qZ)3I_uK]9_Z0T8JcG3=rW%NLJcFg2J,~> -JcE4Zq>c*H`W,o;_Z0T8JcG3=rW%NLJcFg2J,~> -JcE4Zq>c*H`W,o;_Z0T8JcG3=rW%NLJcFg2J,~> -JcE4Zq>c*H`W,o;_Z0T8JcG3=rW%NLJcFg2J,~> -JcE.XqZ)3I`rH#<_Z0T8JcG3=rW%NLJcFg2J,~> -JcE.XqZ)3I`rH#<_Z0T8JcG3=rW%NLJcFg2J,~> -JcE.XqZ)3I`rH#<_Z0T8JcG3=rW%NLJcFg2J,~> -JcE+Wq>c*HaT)5>_Z0T8JcG3=rW%NLJcFg2J,~> -JcE+Wq>c*HaT)5>_Z0T8JcG3=rW%NLJcFg2J,~> -JcE+Wq>c*HaT)5>_Z0T8JcG3=rW%NLJcFg2J,~> -JcE%Uq>c*Hb5_G@_Z0T8JcG3=rW%NLJcFg2J,~> -JcE%Uq>c*Hb5_G@_Z0T8JcG3=rW%NLJcFg2J,~> -JcE%Uq>c*Hb5_G@_Z0T8JcG3=rW%NLJcFg2J,~> -JcDtSqZ)3IbQ%PA_Z0T8JcG3=rW%NLJcFg2J,~> -JcDtSqZ)3IbQ%PA_Z0T8JcG3=rW%NLJcFg2J,~> -JcDtSqZ)3IbQ%PA_Z0T8JcG3=rW%NLJcFg2J,~> -JcDqRq>c*Hc2[bC_Z0T8JcG3=rW%NLJcFg2J,~> -JcDqRq>c*Hc2[bC_Z0T8JcG3=rW%NLJcFg2J,~> -JcDqRq>c*Hc2[bC_Z0T8JcG3=rW%NLJcFg2J,~> -JcDkPq>c*Hci -JcDkPq>c*Hci -JcDkPq>c*Hci -JcDeNqZ)3Id/X(F_Z0T8JcG3=rW%NLJcFg2J,~> -JcDeNqZ)3Id/X(F_Z0T8JcG3=rW%NLJcFg2J,~> -JcDeNqZ)3Id/X(F_Z0T8JcG3=rW%NLJcFg2J,~> -JcDbMq>c*Hdf9:H_Z0T8JcG3=rW%NLJcFg2J,~> -JcDbMq>c*Hdf9:H_Z0T8JcG3=rW%NLJcFg2J,~> -JcDbMq>c*Hdf9:H_Z0T8JcG3=rW%NLJcFg2J,~> -JcD\KqZ)3Ie,TCI_Z0T8JcG3=rW%NLJcFg2J,~> -JcD\KqZ)3Ie,TCI_Z0T8JcG3=rW%NLJcFg2J,~> -JcD\KqZ)3Ie,TCI_Z0T8JcG3=rW%NLJcFg2J,~> -JcDVIqZ)3Iec5UK_Z0T8JcG3=rW%NLJcFg2J,~> -JcDVIqZ)3Iec5UK_Z0T8JcG3=rW%NLJcFg2J,~> -JcDVIqZ)3Iec5UK_Z0T8JcG3=rW%NLJcFg2J,~> -JcDSHq>c*HfDkgM_Z0T8mf*7erVulteGoOKeGfLKk5YD\JcC<$jSs`~> -JcDSHq>c*HfDkgM_Z0T8mf*7erVulteGoOKeGfLKk5YD\JcC<$jSs`~> -JcDSHq>c*HfDkgM_Z0T8mf*7erVulteGoOKeGfLKk5YD\JcC<$jSs`~> -JcDMFqZ)3If`1pN_Z0T8n,NCf!<;rsf`1gKeGoOKkPtM]JcC<$jSs`~> -JcDMFqZ)3If`1pN_Z0T8n,NCf!<;rsf`1gKeGoOKkPtM]JcC<$jSs`~> -JcDMFqZ)3If`1pN_Z0T8n,NCf!<;rsf`1gKeGoOKkPtM]JcC<$jSs`~> -JcDGDqZ)3IgAh-P_Z0T8nGiLgs8Vusf`1gKe,TFJkl:V^JcC<$jSs`~> -JcDGDqZ)3IgAh-P_Z0T8nGiLgs8Vusf`1gKe,TFJkl:V^JcC<$jSs`~> -JcDGDqZ)3IgAh-P_Z0T8nGiLgs8Vusf`1gKe,TFJkl:V^JcC<$jSs`~> -li3d]P5k@YJcFO*rW'h8rW)KgrrDusrW(OLr;b:GrrD<`rW%NLJcFg2J,~> -li3d]P5k@YJcFO*rW'h8rW)KgrrDusrW(OLr;b:GrrD<`rW%NLJcFg2J,~> -li3d]P5k@YJcFO*rW'h8rW)KgrrDusrW(OLr;b:GrrD<`rW%NLJcFg2J,~> -li3d]OT51XJcFR+rW'h8rW)NhrrDrrrW(OLr;b7FrrD?arW%NLJcFg2J,~> -li3d]OT51XJcFR+rW'h8rW)NhrrDrrrW(OLr;b7FrrD?arW%NLJcFg2J,~> -li3d]OT51XJcFR+rW'h8rW)NhrrDrrrW(OLr;b7FrrD?arW%NLJcFg2J,~> -li3d]NrStVJcFX-rW'h8rW)QirrDoqrW(OLr;b7FrW)9arW%NLJcFg2J,~> -li3d]NrStVJcFX-rW'h8rW)QirrDoqrW(OLr;b7FrW)9arW%NLJcFg2J,~> -li3d]NrStVJcFX-rW'h8rW)QirrDoqrW(OLr;b7FrW)9arW%NLJcFg2J,~> -li6qaX8i/!NW8hTJcF^/rW'h8rW)TjrW)fprW(OLr;b4ErW) -li6qaX8i/!NW8hTJcF^/rW'h8rW)TjrW)fprW(OLr;b4ErW) -li6qaX8i/!NW8hTJcF^/rW'h8rW)TjrW)fprW(OLr;b4ErW) -li6qaX8i/!MuWYSJcFa0rW'h8rW)TjrW)fprW)rtrW)Zlr;cNjrW)fpr;bgV!!*#urW)]mrW) -li6qaX8i/!MuWYSJcFa0rW'h8rW)TjrW)fprW)rtrW)Zlr;cNjrW)fpr;bgV!!*#urW)]mrW) -li6qaX8i/!MuWYSJcFa0rW'h8rW)TjrW)fprW)rtrW)Zlr;cNjrW)fpr;bgV!!*#urW)]mrW) -li6qaX8i/!MZ^NqqZ-WqquH]q -r;ZitqZ-BjrW)?crW%NLJcFg2J,~> -li6qaX8i/!MZ^NqqZ-WqquH]q -r;ZitqZ-BjrW)?crW%NLJcFg2J,~> -li6qaX8i/!MZ^NqqZ-WqquH]q -r;ZitqZ-BjrW)?crW%NLJcFg2J,~> -li6qaX8i/!M#[;OJcFm4rW'h8rW)WkrW)coo`4pirW)osrW)lrrW)rtr;cfrr;cfrrW)iqr;ccq -rW)uuo)SRcrW)?crW%NLJcFg2J,~> -li6qaX8i/!M#[;OJcFm4rW'h8rW)WkrW)coo`4pirW)osrW)lrrW)rtr;cfrr;cfrrW)iqr;ccq -rW)uuo)SRcrW)?crW%NLJcFg2J,~> -li6qaX8i/!M#[;OJcFm4rW'h8rW)WkrW)coo`4pirW)osrW)lrrW)rtr;cfrr;cfrrW)iqr;ccq -rW)uuo)SRcrW)?crW%NLJcFg2J,~> -li6qaX8i/!LB%,NJcFp5rW'h8rW)WkrW)coquH`rquH]qrW)osrW)osrW)lrr;cisr;cisrrDlp -r;ccqrW)osquH`rquHQmrW)?crW%NLJcFg2J,~> -li6qaX8i/!LB%,NJcFp5rW'h8rW)WkrW)coquH`rquH]qrW)osrW)osrW)lrr;cisr;cisrrDlp -r;ccqrW)osquH`rquHQmrW)?crW%NLJcFg2J,~> -li6qaX8i/!LB%,NJcFp5rW'h8rW)WkrW)coquH`rquH]qrW)osrW)osrW)lrr;cisr;cisrrDlp -r;ccqrW)osquH`rquHQmrW)?crW%NLJcFg2J,~> -li6qaX8i/!L&^uLJcG!7rW'h8rW)Zlr;cZnr;ccqr;cisr;cfrr;cisrrDrrr;cisr;cltrrDio -r;ccqrW)osr;c`prW)cor;c9crW%NLJcFg2J,~> -li6qaX8i/!L&^uLJcG!7rW'h8rW)Zlr;cZnr;ccqr;cisr;cfrr;cisrrDrrr;cisr;cltrrDio -r;ccqrW)osr;c`prW)cor;c9crW%NLJcFg2J,~> -li6qaX8i/!L&^uLJcG!7rW'h8rW)Zlr;cZnr;ccqr;cisr;cfrr;cisrrDrrr;cisr;cltrrDio -r;ccqrW)osr;c`prW)cor;c9crW%NLJcFg2J,~> -li6qaX8i/!KE(cJJcG'9rW'h8rW)Zlr;cZnrW)fpr;cisrrDusr;cltrW)fprrE#tr;Zp!!!)cn -r;ccqrW)osr;c`pr;c]or;c9crW%NLJcFg2J,~> -li6qaX8i/!KE(cJJcG'9rW'h8rW)Zlr;cZnrW)fpr;cisrrDusr;cltrW)fprrE#tr;Zp!!!)cn -r;ccqrW)osr;c`pr;c]or;c9crW%NLJcFg2J,~> -li6qaX8i/!KE(cJJcG'9rW'h8rW)Zlr;cZnrW)fpr;cisrrDusr;cltrW)fprrE#tr;Zp!!!)cn -r;ccqrW)osr;c`pr;c]or;c9crW%NLJcFg2J,~> -li6qaX8i/!JcGTIJcG*:rW'h8rW)Zlr;cZnrW)fpr;cWmquHcsrW)TjqZ-?ir;ccqrW)osr;c`p -r;c]or;c9crW%NLJcFg2J,~> -li6qaX8i/!JcGTIJcG*:rW'h8rW)Zlr;cZnrW)fpr;cWmquHcsrW)TjqZ-?ir;ccqrW)osr;c`p -r;c]or;c9crW%NLJcFg2J,~> -li6qaX8i/!JcGTIJcG*:rW'h8rW)Zlr;cZnrW)fpr;cWmquHcsrW)TjqZ-?ir;ccqrW)osr;c`p -r;c]or;c9crW%NLJcFg2J,~> -li6qaX8i/!Jc>`Mq>c*Hmf37d_Z0T8pAb'kq>^EoqZ$Koqu?Hls8W&uo`+afp](0lr;Z`rrVufr -qu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!Jc>`Mq>c*Hmf37d_Z0T8pAb'kq>^EoqZ$Koqu?Hls8W&uo`+afp](0lr;Z`rrVufr -qu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!Jc>`Mq>c*Hmf37d_Z0T8pAb'kq>^EoqZ$Koqu?Hls8W&uo`+afp](0lr;Z`rrVufr -qu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!JcG`LqZ)3In,N@e_Z0T8pAb'kq>^EoqZ$Kor;Z`rs8W#t!<;uto`+afp](0lr;Z`r -rVufrqu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!JcG`LqZ)3In,N@e_Z0T8pAb'kq>^EoqZ$Kor;Z`rs8W#t!<;uto`+afp](0lr;Z`r -rVufrqu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!JcG`LqZ)3In,N@e_Z0T8pAb'kq>^EoqZ$Kor;Z`rs8W#t!<;uto`+afp](0lr;Z`r -rVufrqu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!JcGZJqZ)3Inc/Rg_Z0T8pAb'kq>^EoqZ$Korr;rtrVufr!<;uto`+^eq#C9mr;Z`r -rVufrqu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!JcGZJqZ)3Inc/Rg_Z0T8pAb'kq>^EoqZ$Korr;rtrVufr!<;uto`+^eq#C9mr;Z`r -rVufrqu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!JcGZJqZ)3Inc/Rg_Z0T8pAb'kq>^EoqZ$Korr;rtrVufr!<;uto`+^eq#C9mr;Z`r -rVufrqu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!JcGWIq>c*HoDedi_Z0T8pAb'kq>^EoqZ$Korr;rtrVufrs8W&uo`+ji!<;utq>^Bn -r;Z`rrVufrqu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!JcGWIq>c*HoDedi_Z0T8pAb'kq>^EoqZ$Korr;rtrVufrs8W&uo`+ji!<;utq>^Bn -r;Z`rrVufrqu?TpqZ$Komf37dJcC<$jSs`~> -li6qaX8i/!JcGWIq>c*HoDedi_Z0T8pAb'kq>^EoqZ$Korr;rtrVufrs8W&uo`+ji!<;utq>^Bn -r;Z`rrVufrqu?TpqZ$Komf37dJcC<$jSs`~> -li6qakl:V^k5Y>ZkPtM]JcGQGqZ)3Io`+mj_Z0T8p&G!kq>^EoqZ$Nprr;osrVufrs8W#tqZ$Qq -rr;oss8W#tqZ$Kor;Z`rrVufrqu?Wqq>^EomJm.cJcC<$jSs`~> -li6qakl:V^k5Y>ZkPtM]JcGQGqZ)3Io`+mj_Z0T8p&G!kq>^EoqZ$Nprr;osrVufrs8W#tqZ$Qq -rr;oss8W#tqZ$Kor;Z`rrVufrqu?Wqq>^EomJm.cJcC<$jSs`~> -li6qakl:V^k5Y>ZkPtM]JcGQGqZ)3Io`+mj_Z0T8p&G!kq>^EoqZ$Nprr;osrVufrs8W#tqZ$Qq -rr;oss8W#tqZ$Kor;Z`rrVufrqu?Wqq>^EomJm.cJcC<$jSs`~> -li6qal2U\^kl:GYkl:V^JcGKEqZ)3IpAb*l_Z0T8p&G!kq>^EoqZ$Nprr;osrVufrs8Vusqu6Wr -rVufrrr;osqu?Tpr;Z`rrVufrqu?Wqq>^EomJm.cJcC<$jSs`~> -li6qal2U\^kl:GYkl:V^JcGKEqZ)3IpAb*l_Z0T8p&G!kq>^EoqZ$Nprr;osrVufrs8Vusqu6Wr -rVufrrr;osqu?Tpr;Z`rrVufrqu?Wqq>^EomJm.cJcC<$jSs`~> -li6qal2U\^kl:GYkl:V^JcGKEqZ)3IpAb*l_Z0T8p&G!kq>^EoqZ$Nprr;osrVufrs8Vusqu6Wr -rVufrrr;osqu?Tpr;Z`rrVufrqu?Wqq>^EomJm.cJcC<$jSs`~> -li6qal2U\^l2U__rr;rtkl:V^JcGHDq>c*Hq#C^Eoqu?WqrVufrrr;lrrr;Zl -rVufrrr;osqu?TprVufrrVufrr;Z`rq#C -li6qal2U\^l2U__rr;rtkl:V^JcGHDq>c*Hq#C^Eoqu?WqrVufrrr;lrrr;Zl -rVufrrr;osqu?TprVufrrVufrr;Z`rq#C -li6qal2U\^l2U__rr;rtkl:V^JcGHDq>c*Hq#C^Eoqu?WqrVufrrr;lrrr;Zl -rVufrrr;osqu?TprVufrrVufrr;Z`rq#C -li6qakl:V^l2U__rr;uukPtM]JcGBBqZ)3Iq>^Eo_Z0T8o`+mjqZ$KorVuisr;Z?gs8Vior;Z]q -rVucqr;ZTn!<;rss8Vusrr;rtq#C -li6qakl:V^l2U__rr;uukPtM]JcGBBqZ)3Iq>^Eo_Z0T8o`+mjqZ$KorVuisr;Z?gs8Vior;Z]q -rVucqr;ZTn!<;rss8Vusrr;rtq#C -li6qakl:V^l2U__rr;uukPtM]JcGBBqZ)3Iq>^Eo_Z0T8o`+mjqZ$KorVuisr;Z?gs8Vior;Z]q -rVucqr;ZTn!<;rss8Vusrr;rtq#C -li6qac2[bCirAuXJcG<@qZ)3Iqu?Wq_Z0T8o`+mjq>^3iqZ$Ems8W#trVu]orVuZns8VoqrVucq -s8W&urVuTlp](3mm/R%bJcC<$jSs`~> -li6qac2[bCirAuXJcG<@qZ)3Iqu?Wq_Z0T8o`+mjq>^3iqZ$Ems8W#trVu]orVuZns8VoqrVucq -s8W&urVuTlp](3mm/R%bJcC<$jSs`~> -li6qac2[bCirAuXJcG<@qZ)3Iqu?Wq_Z0T8o`+mjq>^3iqZ$Ems8W#trVu]orVuZns8VoqrVucq -s8W&urVuTlp](3mm/R%bJcC<$jSs`~> -li6qacN!hCirAuXJcG9?q>c*HrVuis_Z0T8oDegjpAb*lp&G$lr;Q`sq>^Eojo>;[rr2ruqu?Tp -!<<#up&G$lli6qaJcC<$jSs`~> -li6qacN!hCirAuXJcG9?q>c*HrVuis_Z0T8oDegjpAb*lp&G$lr;Q`sq>^Eojo>;[rr2ruqu?Tp -!<<#up&G$lli6qaJcC<$jSs`~> -li6qacN!hCirAuXJcG9?q>c*HrVuis_Z0T8oDegjpAb*lp&G$lr;Q`sq>^Eojo>;[rr2ruqu?Tp -!<<#up&G$lli6qaJcC<$jSs`~> -li6qacN!hCirAuXJcG3=qZ)3Irr;rt_Z0T8o)J^iXT/5!o)J[hli6qaJcC<$jSs`~> -li6qacN!hCirAuXJcG3=qZ)3Irr;rt_Z0T8o)J^iXT/5!o)J[hli6qaJcC<$jSs`~> -li6qacN!hCirAuXJcG3=qZ)3Irr;rt_Z0T8o)J^iXT/5!o)J[hli6qaJcC<$jSs`~> -li6qaoDedimJd.drr;uuq>^BnpAb*lnGiIfJcG0c*H!<<#u_Z0T8o)J^iXT/5!o)J^ilMph` -JcC<$jSs`~> -li6qaoDedimJd.drr;uuq>^BnpAb*lnGiIfJcG0c*H!<<#u_Z0T8o)J^iXT/5!o)J^ilMph` -JcC<$jSs`~> -li6qaoDedimJd.drr;uuq>^BnpAb*lnGiIfJcG0c*H!<<#u_Z0T8o)J^iXT/5!o)J^ilMph` -JcC<$jSs`~> -li6qap&Fgfr;Z`rqu?Tp!<;orrVuTlrVuZno)J[hJcG*:q>c-IrW'h8rW)KgrrB2$r;cHhrrD<` -rW%NLJcFg2J,~> -li6qap&Fgfr;Z`rqu?Tp!<;orrVuTlrVuZno)J[hJcG*:q>c-IrW'h8rW)KgrrB2$r;cHhrrD<` -rW%NLJcFg2J,~> -li6qap&Fgfr;Z`rqu?Tp!<;orrVuTlrVuZno)J[hJcG*:q>c-IrW'h8rW)KgrrB2$r;cHhrrD<` -rW%NLJcFg2J,~> -li6qapAb-mrVuisrr;lrrVuHhr;Z]qqZ$NprVuisoDedioDeahJcGZJqZ)9KrW'h8rW)HfrrB5% -r;cKirrD9_rW%NLJcFg2J,~> -li6qapAb-mrVuisrr;lrrVuHhr;Z]qqZ$NprVuisoDedioDeahJcGZJqZ)9KrW'h8rW)HfrrB5% -r;cKirrD9_rW%NLJcFg2J,~> -li6qapAb-mrVuisrr;lrrVuHhr;Z]qqZ$NprVuisoDedioDeahJcGZJqZ)9KrW'h8rW)HfrrB5% -r;cKirrD9_rW%NLJcFg2J,~> -li6qapAb-mr;Zcsr;Z`rqu?QorVuisr;Z]qqu?Wqqu?Wqo`+mjqZ$9iJcGTHq>c6LrW'h8rW)Bd -!!'5&r;cNj!!)0]rW%NLJcFg2J,~> -li6qapAb-mr;Zcsr;Z`rqu?QorVuisr;Z]qqu?Wqqu?Wqo`+mjqZ$9iJcGTHq>c6LrW'h8rW)Bd -!!'5&r;cNj!!)0]rW%NLJcFg2J,~> -li6qapAb-mr;Zcsr;Z`rqu?QorVuisr;Z]qqu?Wqqu?Wqo`+mjqZ$9iJcGTHq>c6LrW'h8rW)Bd -!!'5&r;cNj!!)0]rW%NLJcFg2J,~> -li6qap](3mr;Zcsr;Z`rqu?Tpr;Z`rr;Z]qr;Z]qqu?Tpp&G!k!<;TiJcGKEqZ)BNrW'h8rW&Mh -q#K1LrW%NLJcFg2J,~> -li6qap](3mr;Zcsr;Z`rqu?Tpr;Z`rr;Z]qr;Z]qqu?Tpp&G!k!<;TiJcGKEqZ)BNrW'h8rW&Mh -q#K1LrW%NLJcFg2J,~> -li6qap](3mr;Zcsr;Z`rqu?Tpr;Z`rr;Z]qr;Z]qqu?Tpp&G!k!<;TiJcGKEqZ)BNrW'h8rW&Mh -q#K1LrW%NLJcFg2J,~> -li6qap](0lpAb*lqZ$Npr;Z]qrVufrr;Z`rq>^BnpAb*l!<;WjJcGBBqZ)HPrW'h8rW&Mhp]0+L -rW%NLJcFg2J,~> -li6qap](0lpAb*lqZ$Npr;Z]qrVufrr;Z`rq>^BnpAb*l!<;WjJcGBBqZ)HPrW'h8rW&Mhp]0+L -rW%NLJcFg2J,~> -li6qap](0lpAb*lqZ$Npr;Z]qrVufrr;Z`rq>^BnpAb*l!<;WjJcGBBqZ)HPrW'h8rW&Mhp]0+L -rW%NLJcFg2J,~> -li6qapAb$jq#C^BnpAb*ls8V`lJcG<@q>cEQrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qapAb$jq#C^BnpAb*ls8V`lJcG<@q>cEQrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qapAb$jq#C^BnpAb*ls8V`lJcG<@q>cEQrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qap&FmhqZ$NpqZ$Npr;Z]qrVufrr;Z`rq>^BnpAb*lrr;WkJcG9?qZ)QSrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qap&FmhqZ$NpqZ$Npr;Z]qrVufrr;Z`rq>^BnpAb*lrr;WkJcG9?qZ)QSrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qap&FmhqZ$NpqZ$Npr;Z]qrVufrr;Z`rq>^BnpAb*lrr;WkJcG9?qZ)QSrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qao`+dgqu?WqqZ$Npr;Z]qrVufrrVufrq>^BnpAb*lrVuEgJcG?AqZ)WUrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qao`+dgqu?WqqZ$Npr;Z]qrVufrrVufrq>^BnpAb*lrVuEgJcG?AqZ)WUrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qao`+dgqu?WqqZ$Npr;Z]qrVufrrVufrq>^BnpAb*lrVuEgJcG?AqZ)WUrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qaoDe[fr;Z`rqZ$Npr;Z]qrVufrr;Z`rq>^BnpAb*lr;Z6dJcGECq>cTVrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qaoDe[fr;Z`rqZ$Npr;Z]qrVufrr;Z`rq>^BnpAb*lr;Z6dJcGECq>cTVrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qaoDe[fr;Z`rqZ$Npr;Z]qrVufrr;Z`rq>^BnpAb*lr;Z6dJcGECq>cTVrW'h8rW%NLn,N@e -JcC<$jSs`~> -li6qapAY*mrVucqrVuisqZ$Npr;Z]qrVufrr;Z]qqZ$KopAb*lqu?Nns8VcmJcGHDqZ)`XrW'h8 -rW%NLn,N@eJcC<$jSs`~> -li6qapAY*mrVucqrVuisqZ$Npr;Z]qrVufrr;Z]qqZ$KopAb*lqu?Nns8VcmJcGHDqZ)`XrW'h8 -rW%NLn,N@eJcC<$jSs`~> -li6qapAY*mrVucqrVuisqZ$Npr;Z]qrVufrr;Z]qqZ$KopAb*lqu?Nns8VcmJcGHDqZ)`XrW'h8 -rW%NLn,N@eJcC<$jSs`~> -li6qapAY*mr;Z]qrVuisqZ$Npr;Z]qrVufrr;Z]qqZ$Npp&G!kqZ$Hnr;ZHjJcGKEqZ)fZrW'h8 -rW%NLn,N@eJcC<$jSs`~> -li6qapAY*mr;Z]qrVuisqZ$Npr;Z]qrVufrr;Z]qqZ$Npp&G!kqZ$Hnr;ZHjJcGKEqZ)fZrW'h8 -rW%NLn,N@eJcC<$jSs`~> -li6qapAY*mr;Z]qrVuisqZ$Npr;Z]qrVufrr;Z]qqZ$Npp&G!kqZ$Hnr;ZHjJcGKEqZ)fZrW'h8 -rW%NLn,N@eJcC<$jSs`~> -li6qapAY*mqu?WqrVuisqZ$Npr;Z]qrVufrr;Z]qqZ$Npp&G!kq>^?mqZ$6hJcGQGq>cc[rW'h8 -JH4p7JcC<$jSs`~> -li6qapAY*mqu?WqrVuisqZ$Npr;Z]qrVufrr;Z]qqZ$Npp&G!kq>^?mqZ$6hJcGQGq>cc[rW'h8 -JH4p7JcC<$jSs`~> -li6qapAY*mqu?WqrVuisqZ$Npr;Z]qrVufrr;Z]qqZ$Npp&G!kq>^?mqZ$6hJcGQGq>cc[rW'h8 -JH4p7JcC<$jSs`~> -li6qapAY*mqu?WqrVuisqu?Tpr;Z]qrVufrqu?Tpqu?Zro`+mjq#C9mp]'mdJcGWIqZ)o]rW'h8 -JH4p7JcC<$jSs`~> -li6qapAY*mqu?WqrVuisqu?Tpr;Z]qrVufrqu?Tpqu?Zro`+mjq#C9mp]'mdJcGWIqZ)o]rW'h8 -JH4p7JcC<$jSs`~> -li6qapAY*mqu?WqrVuisqu?Tpr;Z]qrVufrqu?Tpqu?Zro`+mjq#C9mp]'mdJcGWIqZ)o]rW'h8 -JH4p7JcC<$jSs`~> -li6qapAb-mr;Zcsr;Z]qr;Z]qr;Z]qrVufrqZ$KorVultoDedipAb-moDeLaJcG]Kq>cl^rW'h8 -JH4p7JcC<$jSs`~> -li6qapAb-mr;Zcsr;Z]qr;Z]qr;Z]qrVufrqZ$KorVultoDedipAb-moDeLaJcG]Kq>cl^rW'h8 -JH4p7JcC<$jSs`~> -li6qapAb-mr;Zcsr;Z]qr;Z]qr;Z]qrVufrqZ$KorVultoDedipAb-moDeLaJcG]Kq>cl^rW'h8 -JH4p7JcC<$jSs`~> -li6qapAapgrVu]orr;fps8Vrr!<;ipqu?Hlo)J[hp&>!lnGi1^JcG`Lq>cr`rW&&[rW%NLJcC<$ -J,~> -li6qapAapgrVu]orr;fps8Vrr!<;ipqu?Hlo)J[hp&>!lnGi1^JcG`Lq>cr`rW&&[rW%NLJcC<$ -J,~> -li6qapAapgrVu]orr;fps8Vrr!<;ipqu?Hlo)J[hp&>!lnGi1^JcG`Lq>cr`rW&&[rW%NLJcC<$ -J,~> -li6qapAY0os8W&udJs+Enc/Rgo`"mkmf2t\JcGcMqZ*)brW&&[r;_EKJcC?%J,~> -li6qapAY0os8W&udJs+Enc/Rgo`"mkmf2t\JcGcMqZ*)brW&&[r;_EKJcC?%J,~> -li6qapAY0os8W&udJs+Enc/Rgo`"mkmf2t\JcGcMqZ*)brW&&[r;_EKJcC?%J,~> -li6qaX8i/!h>d0KJcGQHSH&QgOT57ZJcC<$K)^?~> -li6qaX8i/!h>d0KJcGQHSH&QgOT57ZJcC<$K)^?~> -li6qaX8i/!h>d0KJcGQHSH&QgOT57ZJcC<$K)^?~> -li6qaX8i/!gAgjHK)bZIT)\ciOoP:YJcC<$KE$H~> -li6qaX8i/!gAgjHK)bZIT)\ciOoP:YJcC<$KE$H~> -li6qaX8i/!gAgjHK)bZIT)\ciOoP:YJcC<$KE$H~> -li6qaX8i/!f)PFDK`CoLTE"ljOoP:YJcC<$KE$H~> -li6qaX8i/!f)PFDK`CoLTE"ljOoP:YJcC<$KE$H~> -li6qaX8i/!f)PFDK`CoLTE"ljOoP:YJcC<$KE$H~> -li6qaX8i/!e,T+ALB%)MU&Y)lP5k=XJcC<$K`?Q~> -li6qaX8i/!e,T+ALB%)MU&Y)lP5k=XJcC<$K`?Q~> -li6qaX8i/!e,T+ALB%)MU&Y)lP5k=XJcC<$K`?Q~> -li6qaX8i/!d/We>L]@5OUAt2mP5k=XJcC<$K`?Q~> -li6qaX8i/!d/We>L]@5OUAt2mP5k=XJcC<$K`?Q~> -li6qaX8i/!d/We>L]@5OUAt2mP5k=XJcC<$K`?Q~> -li6qaX8i/!c2[J;M#[>PV#UDoPQ1@WJcC<$L&ZZ~> -li6qaX8i/!c2[J;M#[>PV#UDoPQ1@WJcC<$L&ZZ~> -li6qaX8i/!c2[J;M#[>PV#UDoPQ1@WJcC<$L&ZZ~> -li6qaX8i/!b5_/8MZ -li6qaX8i/!b5_/8MZ -li6qaX8i/!b5_/8MZ -li6qaX8i/!`rG`4N;rbTVuQ_rPlLCVJcC<$LAuc~> -li6qaX8i/!`rG`4N;rbTVuQ_rPlLCVJcC<$LAuc~> -li6qaX8i/!`rG`4N;rbTVuQ_rPlLCVJcC<$LAuc~> -li6qaX8i/!_uKE1NW8kUWW2qtPlLR[!<;utJcC<$LAuc~> -li6qaX8i/!_uKE1NW8kUWW2qtPlLR[!<;utJcC<$LAuc~> -li6qaX8i/!_uKE1NW8kUWW2qtPlLR[!<;utJcC<$LAuc~> -li6qaX8i/!_#O*.O8o%VX8i/!Q2gg`s8W&urr;rtJcC<$L];l~> -li6qaX8i/!_#O*.O8o%VX8i/!Q2gg`s8W&urr;rtJcC<$L];l~> -li6qaX8i/!_#O*.O8o%VX8i/!Q2gg`s8W&urr;rtJcC<$L];l~> -li6qaX8i/!^&Rd+OT51XXT/8"Q2gjarr;rtrVultJcC<$L];l~> -li6qaX8i/!^&Rd+OT51XXT/8"Q2gjarr;rtrVultJcC<$L];l~> -li6qaX8i/!^&Rd+OT51XXT/8"Q2gjarr;rtrVultJcC<$L];l~> -li6qaX8i/!])VI(OoP:YY5eJ$QN$pbr;Z`rqu6WrJcC<$M#Vu~> -li6qaX8i/!])VI(OoP:YY5eJ$QN$pbr;Z`rqu6WrJcC<$M#Vu~> -li6qaX8i/!])VI(OoP:YY5eJ$QN$pbr;Z`rqu6WrJcC<$M#Vu~> -li6qaX8i/![f?%$PlLR[YlF\&OT5:[JcC<$JcC6~> -li6qaX8i/![f?%$PlLR[YlF\&OT5:[JcC<$JcC6~> -li6qaX8i/![f?%$PlLR[YlF\&OT5:[JcC<$JcC6~> -li6qaX8i/!ZiB_!Q2g^]Z2ae'OT5:[JcC<$JcC6~> -li6qaX8i/!ZiB_!Q2g^]Z2ae'OT5:[JcC<$JcC6~> -li6qaX8i/!ZiB_!Q2g^]Z2ae'OT5:[JcC<$JcC6~> -li3d]YlFCsQiHm^ZiC")OT5:[JcC<$JcC6~> -li3d]YlFCsQiHm^ZiC")OT5:[JcC<$JcC6~> -li3d]YlFCsQiHm^ZiC")OT5:[JcC<$JcC6~> -li3d]XoJ(pR/d!_[K$4+OT5:[JcC<$JcC6~> -li3d]XoJ(pR/d!_[K$4+OT5:[JcC<$JcC6~> -li3d]XoJ(pR/d!_[K$4+OT5:[JcC<$JcC6~> -li3d]WrMbmRK*-a[f?=,OT5:[JcC<$JcC6~> -li3d]WrMbmRK*-a[f?=,OT5:[JcC<$JcC6~> -li3d]WrMbmRK*-a[f?=,OT5:[JcC<$JcC6~> -JcE+Wp&LW_q>e&*rW&&[rW%NLJcC<$J,~> -JcE+Wp&LW_q>e&*rW&&[rW%NLJcC<$J,~> -JcE+Wp&LW_q>e&*rW&&[rW%NLJcC<$J,~> -JcE"Tp&LZ`qZ+2,rW&&[rW%NLJcC<$J,~> -JcE"Tp&LZ`qZ+2,rW&&[rW%NLJcC<$J,~> -JcE"Tp&LZ`qZ+2,rW&&[rW%NLJcC<$J,~> -JcDnQp&L]aqZ+8.rW&&[rW%NLJcC<$J,~> -JcDnQp&L]aqZ+8.rW&&[rW%NLJcC<$J,~> -JcDnQp&L]aqZ+8.rW&&[rW%NLJcC<$J,~> -JcDeNp&Lccq>e5/rW&&[rW%NLJcC<$J,~> -JcDeNp&Lccq>e5/rW&&[rW%NLJcC<$J,~> -JcDeNp&Lccq>e5/rW&&[rW%NLJcC<$J,~> -JcD\Kp&LfdqZ+A1rW&&[rW%NLJcC<$J,~> -JcD\Kp&LfdqZ+A1rW&&[rW%NLJcC<$J,~> -JcD\Kp&LfdqZ+A1rW&&[rW%NLJcC<$J,~> -JcDPGp&LlfqZ+G3rW&&[rW%NLJcC<$J,~> -JcDPGp&LlfqZ+G3rW&&[rW%NLJcC<$J,~> -JcDPGp&LlfqZ+G3rW&&[rW%NLJcC<$J,~> -JcDGDp&Lrhq>eD4rW&8arrE#trW)lrrr@WMJcCQ+J,~> -JcDGDp&Lrhq>eD4rW&8arrE#trW)lrrr@WMJcCQ+J,~> -JcDGDp&Lrhq>eD4rW&8arrE#trW)lrrr@WMJcCQ+J,~> -JcD>Ap&LuiqZ+P6rW&5`rW)uurW)rtrW%NLJcCN*J,~> -JcD>Ap&LuiqZ+P6rW&5`rW)uurW)rtrW%NLJcCN*J,~> -JcD>Ap&LuiqZ+P6rW&5`rW)uurW)rtrW%NLJcCN*J,~> -JcD5>p&M#jqZ+V8rW&5`r;ZitrVuruquD -JcD5>p&M#jqZ+V8rW&5`r;ZitrVuruquD -JcD5>p&M#jqZ+V8rW&5`r;ZitrVuruquD -JcD,;p&M)lq>eS9rW&2_o`0RCJcCK)J,~> -JcD,;p&M)lq>eS9rW&2_o`0RCJcCK)J,~> -JcD,;p&M)lq>eS9rW&2_o`0RCJcCK)J,~> -JcCu7p&M/nqZ+_;rW&2_p&K[DJcCH(J,~> -JcCu7p&M/nqZ+_;rW&2_p&K[DJcCH(J,~> -JcCu7p&M/nqZ+_;rW&2_p&K[DJcCH(J,~> -JcCl4p&M5pq>e\ -JcCl4p&M5pq>e\ -JcCl4p&M5pq>e\ -JcCc1p&M8qq>eb>rW&/^p],mFJcCE'J,~> -JcCc1p&M8qq>eb>rW&/^p],mFJcCE'J,~> -JcCc1p&M8qq>eb>rW&/^p],mFJcCE'J,~> -JcCZ.p&M;rqZ+n@rW&,]q#H!GJcCE'J,~> -JcCZ.p&M;rqZ+n@rW&,]q#H!GJcCE'J,~> -JcCZ.p&M;rqZ+n@rW&,]q#H!GJcCE'J,~> -JcCQ+p&MAtq>ekArW&,]q>c*HJcCB&J,~> -JcCQ+p&MAtq>ekArW&,]q>c*HJcCB&J,~> -JcCQ+p&MAtq>ekArW&,]q>c*HJcCB&J,~> -JcCE'p&MH!q>eqCrW&)\qZ)3IJcCB&J,~> -JcCE'p&MH!q>eqCrW&)\qZ)3IJcCB&J,~> -JcCE'p&MH!q>eqCrW&)\qZ)3IJcCB&J,~> -JcC<$p&MK"qZ,(ErW&)\quD -JcC<$p&MK"qZ,(ErW&)\quD -JcC<$p&MK"qZ,(ErW&)\quD -JcC<$rr;Zl[f?1(kPp)5kQ$26JcCi3J,~> -JcC<$rr;Zl[f?1(kPp)5kQ$26JcCi3J,~> -JcC<$rr;Zl[f?1(kPp)5kQ$26JcCi3J,~> -JcC<$qu??i\,Z=*kl626kQ$26JcCi3J,~> -JcC<$qu??i\,Z=*kl626kQ$26JcCi3J,~> -JcC<$qu??i\,Z=*kl626kQ$26JcCi3J,~> -li2kCK`C`G\GuF+lMlD8kQ$26JcCi3J,~> -li2kCK`C`G\GuF+lMlD8kQ$26JcCi3J,~> -li2kCK`C`G\GuF+lMlD8kQ$26JcCi3J,~> -li2kCJc>`Mp&M`)q>fm^rW)KgrW&#Z!!)ZkrW%NLJcCi3J,~> -li2kCJc>`Mp&M`)q>fm^rW)KgrW&#Z!!)ZkrW%NLJcCi3J,~> -li2kCJc>`Mp&M`)q>fm^rW)KgrW&#Z!!)ZkrW%NLJcCi3J,~> -li2kCJcG]Kp&Mc*qZ-$`rW%NLmf37dJcC<$OT0h~> -li2kCJcG]Kp&Mc*qZ-$`rW%NLmf37dJcC<$OT0h~> -li2kCJcG]Kp&Mc*qZ-$`rW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcGTHp&Mf+qZ-*brW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcGTHp&Mf+qZ-*brW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcGTHp&Mf+qZ-*brW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcGKEp&Ml-q>g9i!!)rsrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcGKEp&Ml-q>g9i!!)rsrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcGKEp&Ml-q>g9i!!)rsrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcGBBp&Mo.qZ-EkrrE#trW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcGBBp&Mo.qZ-EkrrE#trW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcGBBp&Mo.qZ-EkrrE#trW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcG6>p&Mu0qZ-KmrrE#trW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcG6>p&Mu0qZ-KmrrE#trW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcG6>p&Mu0qZ-KmrrE#trW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcG-;p&N&2q>gHnrW)rtrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcG-;p&N&2q>gHnrW)rtrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcG-;p&N&2q>gHnrW)rtrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcG$8p&N)3qZ-Tpr;cltrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcG$8p&N)3qZ-Tpr;cltrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcG$8p&N)3qZ-Tpr;cltrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcFp5p&N/5q>gQqr;cltrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcFp5p&N/5q>gQqr;cltrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcFp5p&N/5q>gQqr;cltrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcFg2p&N26o`,!lrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcFg2p&N26o`,!lrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcFg2p&N26o`,!lrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcF[.p&N88o)O@Amf37dJcC<$OT0h~> -li6qaOoPC\JcF[.p&N88o)O@Amf37dJcC<$OT0h~> -li6qaOoPC\JcF[.p&N88o)O@Amf37dJcC<$OT0h~> -li6qaOoPC\JcFR+p&N>:oDjIBmf37dJcC<$OT0h~> -li6qaOoPC\JcFR+p&N>:oDjIBmf37dJcC<$OT0h~> -li6qaOoPC\JcFR+p&N>:oDjIBmf37dJcC<$OT0h~> -li6qaOoPC\JcFI(p&NA;p&O7TrrB2$rrDThrrDZjrW%NLJcCi3J,~> -li6qaOoPC\JcFI(p&NA;p&O7TrrB2$rrDThrrDZjrW%NLJcCi3J,~> -li6qaOoPC\JcFI(p&NA;p&O7TrrB2$rrDThrrDZjrW%NLJcCi3J,~> -li6qaOoPC\JcF@%p&NM?o`47VquEu$quHBhquH?grW%NLJcCi3J,~> -li6qaOoPC\JcF@%p&NM?o`47VquEu$quHBhquH?grW%NLJcCi3J,~> -li6qaOoPC\JcF@%p&NM?o`47VquEu$quHBhquH?grW%NLJcCi3J,~> -li6qaOoPC\JcF7"p&N\Do)S(UqZ*o$qZ-9gquH?grW%NLJcCi3J,~> -li6qaOoPC\JcF7"p&N\Do)S(UqZ*o$qZ-9gquH?grW%NLJcCi3J,~> -li6qaOoPC\JcF7"p&N\Do)S(UqZ*o$qZ-9gquH?grW%NLJcCi3J,~> -li6qaOoPC\JcF*sp&NnJnGqbPrW'A+!!)orrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcF*sp&NnJnGqbPrW'A+!!)orrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcF*sp&NnJnGqbPrW'A+!!)orrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcF!pp&O"MnGqbPrW'D,rrDrrrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcF!pp&O"MnGqbPrW'D,rrDrrrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcF!pp&O"MnGqbPrW'D,rrDrrrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcEmmp&NYCr;c']rW'G-rW)iqrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcEmmp&NYCr;c']rW'G-rW)iqrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcEmmp&NYCr;c']rW'G-rW)iqrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcEdjp&NbFrW)-]rW'G-rW)iqrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcEdjp&NbFrW)-]rW'G-rW)iqrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\JcEdjp&NbFrW)-]rW'G-rW)iqrW)NhrW)QirW%NLJcCi3J,~> -li6qaOoPC\o)A[iJcF7"p&NkIrW)NhrW)corW)0^"9AK%!!)`mrrDoq!!)ZkrW)iqr;c`prW)]m -rW)uurW)QirW%NLJcCi3J,~> -li6qaOoPC\o)A[iJcF7"p&NkIrW)NhrW)corW)0^"9AK%!!)`mrrDoq!!)ZkrW)iqr;c`prW)]m -rW)uurW)QirW%NLJcCi3J,~> -li6qaOoPC\o)A[iJcF7"p&NkIrW)NhrW)corW)0^"9AK%!!)`mrrDoq!!)ZkrW)iqr;c`prW)]m -rW)uurW)QirW%NLJcCi3J,~> -li6qaOoPC\o`+mjJcF*sp&O"MrW)Tjq#L?mrW)rtqZ-WqquHZpr;Zitr;cltr;ZitqZ-WqqZ-Hl -q#LHpp]1 -li6qaOoPC\o`+mjJcF*sp&O"MrW)Tjq#L?mrW)rtqZ-WqquHZpr;Zitr;cltr;ZitqZ-WqqZ-Hl -q#LHpp]1 -li6qaOoPC\o`+mjJcF*sp&O"MrW)Tjq#L?mrW)rtqZ-WqquHZpr;Zitr;cltr;ZitqZ-WqqZ-Hl -q#LHpp]1 -li6qaoDedip&G!krVlitl2U__jT#2Znc/Rgp](-kJcEsop&O+PrW)WkrrE#trW)lrrW)lrr;ccq -rW)rtkPtV_q#LgKorW)fprW)osr;cHhrW%NLJcCi3J,~> -li6qaoDedip&G!krVlitl2U__jT#2Znc/Rgp](-kJcEsop&O+PrW)WkrrE#trW)lrrW)lrr;ccq -rW)rtkPtV_q#LgKorW)fprW)osr;cHhrW%NLJcCi3J,~> -li6qaoDedip&G!krVlitl2U__jT#2Znc/Rgp](-kJcEsop&O+PrW)WkrrE#trW)lrrW)lrr;ccq -rW)rtkPtV_q#LgKorW)fprW)osr;cHhrW%NLJcCi3J,~> -li6qap&Fgfqu??is8Vrrrr;lrqu?KmrVu`prr;lrqZ$BloDediq>^ -li6qap&Fgfqu??is8Vrrrr;lrqu?KmrVu`prr;lrqZ$BloDediq>^ -li6qap&Fgfqu??is8Vrrrr;lrqu?KmrVu`prr;lrqZ$BloDediq>^ -li6qapAb-mrVuisr;Z`rrVucqrVufrr;Z`rr;Zcsrr;osr;Z]qr;Z`rqu?Zrrr;oso`+mjqu?Km -JcE[gp&OX_rrDoqrW)ZlrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfrrrDrrr;clt -r;c`prW)iqrW)iqrW)QirW%NLJcCi3J,~> -li6qapAb-mrVuisr;Z`rrVucqrVufrr;Z`rr;Zcsrr;osr;Z]qr;Z`rqu?Zrrr;oso`+mjqu?Km -JcE[gp&OX_rrDoqrW)ZlrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfrrrDrrr;clt -r;c`prW)iqrW)iqrW)QirW%NLJcCi3J,~> -li6qapAb-mrVuisr;Z`rrVucqrVufrr;Z`rr;Zcsrr;osr;Z]qr;Z`rqu?Zrrr;oso`+mjqu?Km -JcE[gp&OX_rrDoqrW)ZlrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfrrrDrrr;clt -r;c`prW)iqrW)iqrW)QirW%NLJcCi3J,~> -li6qapAb-mr;ZcsrVuisqu?TprVufrr;Z`rrVultr;Z]qrVufrr;Z`rr;Zcsr;Z]qp&G!krr;]m -JcERdp&OabrW)iqrW)Zlr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fprrE&ur;c`p -rW)lrrW)fprW)QirW%NLJcCi3J,~> -li6qapAb-mr;ZcsrVuisqu?TprVufrr;Z`rrVultr;Z]qrVufrr;Z`rr;Zcsr;Z]qp&G!krr;]m -JcERdp&OabrW)iqrW)Zlr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fprrE&ur;c`p -rW)lrrW)fprW)QirW%NLJcCi3J,~> -li6qapAb-mr;ZcsrVuisqu?TprVufrr;Z`rrVultr;Z]qrVufrr;Z`rr;Zcsr;Z]qp&G!krr;]m -JcERdp&OabrW)iqrW)Zlr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fprrE&ur;c`p -rW)lrrW)fprW)QirW%NLJcCi3J,~> -li6qap](3mr;ZcsrVuisqu?TprVufrr;Z`rrr;rtr;Z]qrVufrr;Z`rrVuisr;Z]qp&G!k!<;Ed -JcE^hp&OjerW)lrrW)WkquHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)Wkr;c`prW)lr -rW)fprW)QirW%NLJcCi3J,~> -li6qap](3mr;ZcsrVuisqu?TprVufrr;Z`rrr;rtr;Z]qrVufrr;Z`rrVuisr;Z]qp&G!k!<;Ed -JcE^hp&OjerW)lrrW)WkquHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)Wkr;c`prW)lr -rW)fprW)QirW%NLJcCi3J,~> -li6qap](3mr;ZcsrVuisqu?TprVufrr;Z`rrr;rtr;Z]qrVufrr;Z`rrVuisr;Z]qp&G!k!<;Ed -JcE^hp&OjerW)lrrW)WkquHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)Wkr;c`prW)lr -rW)fprW)QirW%NLJcCi3J,~> -li6qap](0lq#C -li6qap](0lq#C -li6qap](0lq#C -li6qapAb$jqZ$NpqZ$KorVufrr;Z`rrr;Tjrr;osr;Z`rrVuKipAb*ls8UIHJcFO*p&P'kquH`r -rW)QiqZ-NnrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNjr;c`prW)osr;c]orW)QirW%NL -JcCi3J,~> -li6qapAb$jqZ$NpqZ$KorVufrr;Z`rrr;Tjrr;osr;Z`rrVuKipAb*ls8UIHJcFO*p&P'kquH`r -rW)QiqZ-NnrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNjr;c`prW)osr;c]orW)QirW%NL -JcCi3J,~> -li6qapAb$jqZ$NpqZ$KorVufrr;Z`rrr;Tjrr;osr;Z`rrVuKipAb*ls8UIHJcFO*p&P'kquH`r -rW)QiqZ-NnrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNjr;c`prW)osr;c]orW)QirW%NL -JcCi3J,~> -li6qap&Fmhr;Z`rqZ$KorVufrr;Z`rs8W&uoDeahr;Z`rrr;rtli6qarVuZnqu>+FJcFp5p&G*m -qZ-ZrrW)NhqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNjr;c`prW)osr;c]orW)Qi -rW%NLJcCi3J,~> -li6qap&Fmhr;Z`rqZ$KorVufrr;Z`rs8W&uoDeahr;Z`rrr;rtli6qarVuZnqu>+FJcFp5p&G*m -qZ-ZrrW)NhqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNjr;c`prW)osr;c]orW)Qi -rW%NLJcCi3J,~> -li6qap&Fmhr;Z`rqZ$KorVufrr;Z`rs8W&uoDeahr;Z`rrr;rtli6qarVuZnqu>+FJcFp5p&G*m -qZ-ZrrW)NhqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cNjr;c`prW)osr;c]orW)Qi -rW%NLJcCi3J,~> -li6qao`+dgrr;osqZ$KorVufrr;Z`rs8W#to`+jir;Z`rrr;osm/R%br;ZTnm/PN7JcG?AnGiRh -rW)Wk!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)Wkr;c`prW)lrrW)fprW)Qi -rW%NLJcCi3J,~> -li6qao`+dgrr;osqZ$KorVufrr;Z`rs8W#to`+jir;Z`rrr;osm/R%br;ZTnm/PN7JcG?AnGiRh -rW)Wk!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)Wkr;c`prW)lrrW)fprW)Qi -rW%NLJcCi3J,~> -li6qao`+dgrr;osqZ$KorVufrr;Z`rs8W#to`+jir;Z`rrr;osm/R%br;ZTnm/PN7JcG?AnGiRh -rW)Wk!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)Wkr;c`prW)lrrW)fprW)Qi -rW%NLJcCi3J,~> -li6qaoDe[fs8W#tqZ$KorVufrr;Z`rs8W#to`+jir;Z`rrr;osm/R%bqZ$EmhuD.*JcG]KnGr7^ -!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtr;c]orrE*!r;c`prW)lrr;c`prW)Qi -rW%NLJcCi3J,~> -li6qaoDe[fs8W#tqZ$KorVufrr;Z`rs8W#to`+jir;Z`rrr;osm/R%bqZ$EmhuD.*JcG]KnGr7^ -!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtr;c]orrE*!r;c`prW)lrr;c`prW)Qi -rW%NLJcCi3J,~> -li6qaoDe[fs8W#tqZ$KorVufrr;Z`rs8W#to`+jir;Z`rrr;osm/R%bqZ$EmhuD.*JcG]KnGr7^ -!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtr;c]orrE*!r;c`prW)lrr;c`prW)Qi -rW%NLJcCi3J,~> -li6qapAY*mrVucqs8W&uqZ$KorVufrr;Z`rs8W#tq#:!lqu?WqrVuisr;Z]qr;Z`rr;Z]qq>^Eoqu?Wqqu?Wqrr;lrqu6Wrrr;osqu?Wq -r;Z]qqu?WqoDediJcC<$OT0h~> -li6qapAY*mrVucqs8W&uqZ$KorVufrr;Z`rs8W#tq#:!lqu?WqrVuisr;Z]qr;Z`rr;Z]qq>^Eoqu?Wqqu?Wqrr;lrqu6Wrrr;osqu?Wq -r;Z]qqu?WqoDediJcC<$OT0h~> -li6qapAY*mrVucqs8W&uqZ$KorVufrr;Z`rs8W#tq#:!lqu?WqrVuisr;Z]qr;Z`rr;Z]qq>^Eoqu?Wqqu?Wqrr;lrqu6Wrrr;osqu?Wq -r;Z]qqu?WqoDediJcC<$OT0h~> -li6qapAY*mr;Z]qs8W#tqu?TprVufrr;Z`rrr;rtq#:!lqu?WqrVuisr;Z]qrVufrr;Z]qq>^Eor;Z]qr;Z]qrVuQkrr;oss8N'!rr;rt -qu?Tpr;Z]qo`+mjJcC<$OT0h~> -li6qapAY*mr;Z]qs8W#tqu?TprVufrr;Z`rrr;rtq#:!lqu?WqrVuisr;Z]qrVufrr;Z]qq>^Eor;Z]qr;Z]qrVuQkrr;oss8N'!rr;rt -qu?Tpr;Z]qo`+mjJcC<$OT0h~> -li6qapAY*mr;Z]qs8W#tqu?TprVufrr;Z`rrr;rtq#:!lqu?WqrVuisr;Z]qrVufrr;Z]qq>^Eor;Z]qr;Z]qrVuQkrr;oss8N'!rr;rt -qu?Tpr;Z]qo`+mjJcC<$OT0h~> -li6qapAY*mqu?Wqs8W#tqu?TprVufrr;Z`rrr;osqZ$Qqrr;osr;Z`rrVufrqZ$QqpAb*lp&G!k -[f=eVV>p/fp&G$lr;Zcsr;Z]qr;ZTn!<;rsrr;osqZ$Kor;Z]qr;Z]qr;ZNlrVu]orr;osqu?9g -p&G!kJcC<$OT0h~> -li6qapAY*mqu?Wqs8W#tqu?TprVufrr;Z`rrr;osqZ$Qqrr;osr;Z`rrVufrqZ$QqpAb*lp&G!k -[f=eVV>p/fp&G$lr;Zcsr;Z]qr;ZTn!<;rsrr;osqZ$Kor;Z]qr;Z]qr;ZNlrVu]orr;osqu?9g -p&G!kJcC<$OT0h~> -li6qapAY*mqu?Wqs8W#tqu?TprVufrr;Z`rrr;osqZ$Qqrr;osr;Z`rrVufrqZ$QqpAb*lp&G!k -[f=eVV>p/fp&G$lr;Zcsr;Z]qr;ZTn!<;rsrr;osqZ$Kor;Z]qr;Z]qr;ZNlrVu]orr;osqu?9g -p&G!kJcC<$OT0h~> -li6qapAY*mqu?Wqs8VusrVucqrVufrrVufrrVucqrr;rtrVufrrVufrr;ZZprr;rtp&G!koD\dj -VuP3G[K#gup&FgfrVu]or;ZZps8W&urr;corVu]os8Voqs8VoqrVu]oqu?Qos8Voqqu?Nn!<;ut -o`+mjJcC<$OT0h~> -li6qapAY*mqu?Wqs8VusrVucqrVufrrVufrrVucqrr;rtrVufrrVufrr;ZZprr;rtp&G!koD\dj -VuP3G[K#gup&FgfrVu]or;ZZps8W&urr;corVu]os8Voqs8VoqrVu]oqu?Qos8Voqqu?Nn!<;ut -o`+mjJcC<$OT0h~> -li6qapAY*mqu?Wqs8VusrVucqrVufrrVufrrVucqrr;rtrVufrrVufrr;ZZprr;rtp&G!koD\dj -VuP3G[K#gup&FgfrVu]or;ZZps8W&urr;corVu]os8Voqs8VoqrVu]oqu?Qos8Voqqu?Nn!<;ut -o`+mjJcC<$OT0h~> -li6qapAb-mr;ZcsrVuKir;ZTn!<;rss8Vfnqu?Km!<;rsrr;]mo`+mjMZ;-*`;fQ3s8W&up&>'n -s8W&umf37drr2rudJs1Gq#C?omf3:err2runc/RgJcC<$OT0h~> -li6qapAb-mr;ZcsrVuKir;ZTn!<;rss8Vfnqu?Km!<;rsrr;]mo`+mjMZ;-*`;fQ3s8W&up&>'n -s8W&umf37drr2rudJs1Gq#C?omf3:err2runc/RgJcC<$OT0h~> -li6qapAb-mr;ZcsrVuKir;ZTn!<;rss8Vfnqu?Km!<;rsrr;]mo`+mjMZ;-*`;fQ3s8W&up&>'n -s8W&umf37drr2rudJs1Gq#C?omf3:err2runc/RgJcC<$OT0h~> -li6qapAapgqu?Km!<;utqu?Qos8W&ur;ZQmq>^?ms8W&uqu?HloDediJcGZJdK%esqZ-KmrW%NL -mf37dJcC<$OT0h~> -li6qapAapgqu?Km!<;utqu?Qos8W&ur;ZQmq>^?ms8W&uqu?HloDediJcGZJdK%esqZ-KmrW%NL -mf37dJcC<$OT0h~> -li6qapAapgqu?Km!<;utqu?Qos8W&ur;ZQmq>^?ms8W&uqu?HloDediJcGZJdK%esqZ-KmrW%NL -mf37dJcC<$OT0h~> -li6qapAY0os8W&up](3mrr;osqZ$Nprr2ruq#C9mpAb*lrr2rup](0lnc/RgJcG-;dfA;*quHZp -rW%NLmf37dJcC<$OT0h~> -li6qapAY0os8W&up](3mrr;osqZ$Nprr2ruq#C9mpAb*lrr2rup](0lnc/RgJcG-;dfA;*quHZp -rW%NLmf37dJcC<$OT0h~> -li6qapAY0os8W&up](3mrr;osqZ$Nprr2ruq#C9mpAb*lrr2rup](0lnc/RgJcG-;dfA;*quHZp -rW%NLmf37dJcC<$OT0h~> -li6qai;``U[f?=,JcFX-dfAb7qZ-WqrW%NLmf37dJcC<$OT0h~> -li6qai;``U[f?=,JcFX-dfAb7qZ-WqrW%NLmf37dJcC<$OT0h~> -li6qai;``U[f?=,JcFX-dfAb7qZ-WqrW%NLmf37dJcC<$OT0h~> -li6qai;``U[f?=,JcF*sdfB:Fq#CEprW%NLmf37dJcC<$OT0h~> -li6qai;``U[f?=,JcF*sdfB:Fq#CEprW%NLmf37dJcC<$OT0h~> -li6qai;``U[f?=,JcF*sdfB:Fq#CEprW%NLmf37dJcC<$OT0h~> -li6qai;``U[f?=,JcEUecN&Ormf37dJcC<$OT0h~> -li6qai;``U[f?=,JcEUecN&Ormf37dJcC<$OT0h~> -li6qai;``U[f?=,JcEUecN&Ormf37dJcC<$OT0h~> -li6qai;``U[f?=,JcE+Wh#N$+mf37dJcC<$OT0h~> -li6qai;``U[f?=,JcE+Wh#N$+mf37dJcC<$OT0h~> -li6qai;``U[f?=,JcE+Wh#N$+mf37dJcC<$OT0h~> -li6qai;``U[f?=,JcDSHli;V:mf37dJcC<$OT0h~> -li6qai;``U[f?=,JcDSHli;V:mf37dJcC<$OT0h~> -li6qai;``U[f?=,JcDSHli;V:mf37dJcC<$OT0h~> -li6qairAiT\,ZF-JcD5>p&K[Dmf37dJcC<$OT0h~> -li6qairAiT\,ZF-JcD5>p&K[Dmf37dJcC<$OT0h~> -li6qairAiT\,ZF-JcD5>p&K[Dmf37dJcC<$OT0h~> -li6qaj8\lS\GuO.JcD8?o`0RCmf37dJcC<$OT0h~> -li6qaj8\lS\GuO.JcD8?o`0RCmf37dJcC<$OT0h~> -li6qaj8\lS\GuO.JcD8?o`0RCmf37dJcC<$OT0h~> -li6qaOoPC\JcD;@q#LHprW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcD;@q#LHprW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcD;@q#LHprW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcD>AqZ-QorW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcD>AqZ-QorW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcD>AqZ-QorW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcD>Ar;c]orW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcD>Ar;c]orW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcD>Ar;c]orW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcDABrrDfnrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcDABrrDfnrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcDABrrDfnrW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcCr6rW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcCr6rW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcCr6rW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcCr6rW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcCr6rW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcCr6rW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcCr6rW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcCr6rW%NLmf37dJcC<$OT0h~> -li6qaOoPC\JcCr6rW%NLmf37dJcC<$OT0h~> -li2kCJcCr6rW)Bd!!)!XrW'M/!!)HerW%NLJcCi3J,~> -li2kCJcCr6rW)Bd!!)!XrW'M/!!)HerW%NLJcCi3J,~> -li2kCJcCr6rW)Bd!!)!XrW'M/!!)HerW%NLJcCi3J,~> -li2kCJcCr6rW)EerrD'Yr;aD.rrDNfrW%NLJcCi3J,~> -li2kCJcCr6rW)EerrD'Yr;aD.rrDNfrW%NLJcCi3J,~> -li2kCJcCr6rW)EerrD'Yr;aD.rrDNfrW%NLJcCi3J,~> -li2kCJcDDCrrDcmrW)HfrrD$Xr;aA-rrDQgrW%NLJcCi3J,~> -li2kCJcDDCrrDcmrW)HfrrD$Xr;aA-rrDQgrW%NLJcCi3J,~> -li2kCJcDDCrrDcmrW)HfrrD$Xr;aA-rrDQgrW%NLJcCi3J,~> -JcC<$PQ1R]q>^Eonc/UhhuEZU\,ZI.nc/RgJcC<$OT0h~> -JcC<$PQ1R]q>^Eonc/UhhuEZU\,ZI.nc/RgJcC<$OT0h~> -JcC<$PQ1R]q>^Eonc/UhhuEZU\,ZI.nc/RgJcC<$OT0h~> -JcC<$P5kCZr;Z`ro)J^iOT5=\o)J[hJcC<$OT0h~> -JcC<$P5kCZr;Z`ro)J^iOT5=\o)J[hJcC<$OT0h~> -JcC<$P5kCZr;Z`ro)J^iOT5=\o)J[hJcC<$OT0h~> -JcC<$OoP4Ws8W&uoDegjO8o1ZoDediJcC<$OT0h~> -JcC<$OoP4Ws8W&uoDegjO8o1ZoDediJcC<$OT0h~> -JcC<$OoP4Ws8W&uoDegjO8o1ZoDediJcC<$OT0h~> -JcC<$OoP%Ro`+mjNrT(Yo`+mjJcC<$OT0h~> -JcC<$OoP%Ro`+mjNrT(Yo`+mjJcC<$OT0h~> -JcC<$OoP%Ro`+mjNrT(Yo`+mjJcC<$OT0h~> -JcC<$OoP%Ro`+mjp\t3nrr;rtp\t?rs8N'!mJm1dqYpNqpAb'kpAY6qs8N'!li6qao`+mjJcC<$ -OT0h~> -JcC<$OoP%Ro`+mjp\t3nrr;rtp\t?rs8N'!mJm1dqYpNqpAb'kpAY6qs8N'!li6qao`+mjJcC<$ -OT0h~> -JcC<$OoP%Ro`+mjp\t3nrr;rtp\t?rs8N'!mJm1dqYpNqpAb'kpAY6qs8N'!li6qao`+mjJcC<$ -OT0h~> -JcC<$QiHIRp&G!kq>^Bn!<;orqu?Tp!<;utrr;rtr;Z]q!<;orrr;iqqZ$?kqu?Tp!<;ut!<;or -r;Z]qqu?Wqp&G!kJcC<$OT0h~> -JcC<$QiHIRp&G!kq>^Bn!<;orqu?Tp!<;utrr;rtr;Z]q!<;orrr;iqqZ$?kqu?Tp!<;ut!<;or -r;Z]qqu?Wqp&G!kJcC<$OT0h~> -JcC<$QiHIRp&G!kq>^Bn!<;orqu?Tp!<;utrr;rtr;Z]q!<;orrr;iqqZ$?kqu?Tp!<;ut!<;or -r;Z]qqu?Wqp&G!kJcC<$OT0h~> -JcC<$SH%gRp&G!kqu?6frr;HfrVuKi!<;ipr;Z`rrVuisrr;Wk!<;utqu?WqqZ$Npp&G!kJcC<$ -OT0h~> -JcC<$SH%gRp&G!kqu?6frr;HfrVuKi!<;ipr;Z`rrVuisrr;Wk!<;utqu?WqqZ$Npp&G!kJcC<$ -OT0h~> -JcC<$SH%gRp&G!kqu?6frr;HfrVuKi!<;ipr;Z`rrVuisrr;Wk!<;utqu?WqqZ$Npp&G!kJcC<$ -OT0h~> -JcC<$UAs6Rp&G!kq>^?mrr;lrrVucq!<<#urr;rtr;ZZprVucqrVufrrVuisrVuisr;ZZp!<<#u -s8W#tqu?Zrq>^Eop&G!kJcC<$OT0h~> -JcC<$UAs6Rp&G!kq>^?mrr;lrrVucq!<<#urr;rtr;ZZprVucqrVufrrVuisrVuisr;ZZp!<<#u -s8W#tqu?Zrq>^Eop&G!kJcC<$OT0h~> -JcC<$UAs6Rp&G!kq>^?mrr;lrrVucq!<<#urr;rtr;ZZprVucqrVufrrVuisrVuisr;ZZp!<<#u -s8W#tqu?Zrq>^Eop&G!kJcC<$OT0h~> -JcC<$W;l8cqu?Nns8W&upAb'kq>^Bnqu?WqrVufrq>^Eoqu?Wqr;Z]qr;Z]qrr;osrVufrrVufr -q>^Eoqu?Zrq>^BnpAb*lJcC<$OT0h~> -JcC<$W;l8cqu?Nns8W&upAb'kq>^Bnqu?WqrVufrq>^Eoqu?Wqr;Z]qr;Z]qrr;osrVufrrVufr -q>^Eoqu?Zrq>^BnpAb*lJcC<$OT0h~> -JcC<$W;l8cqu?Nns8W&upAb'kq>^Bnqu?WqrVufrq>^Eoqu?Wqr;Z]qr;Z]qrr;osrVufrrVufr -q>^Eoqu?Zrq>^BnpAb*lJcC<$OT0h~> -JcC<$Y5dnipAb!irr;rtpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqr;Z]qr;Z]qrVultr;Z]qrVufr -q>^Bnr;Zcsq>^BnpAb*lJcC<$OT0h~> -JcC<$Y5dnipAb!irr;rtpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqr;Z]qr;Z]qrVultr;Z]qrVufr -q>^Bnr;Zcsq>^BnpAb*lJcC<$OT0h~> -JcC<$Y5dnipAb!irr;rtpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqr;Z]qr;Z]qrVultr;Z]qrVufr -q>^Bnr;Zcsq>^BnpAb*lJcC<$OT0h~> -JcC<$ZiBFnnc/LerVuispAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqr;Z]qqu?Wqp](-krVufrq#C -JcC<$ZiBFnnc/LerVuispAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqr;Z]qqu?Wqp](-krVufrq#C -JcC<$ZiBFnnc/LerVuispAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqr;Z]qqu?Wqp](-krVufrq#C -JcC<$\c;'tnGi:aqu?WqpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?WqqZ$?krVufrq#C9m -rr;uuq#C9mpAb*lJcC<$OT0h~> -JcC<$\c;'tnGi:aqu?WqpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?WqqZ$?krVufrq#C9m -rr;uuq#C9mpAb*lJcC<$OT0h~> -JcC<$\c;'tnGi:aqu?WqpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?WqqZ$?krVufrq#C9m -rr;uuq#C9mpAb*lJcC<$OT0h~> -JcC<$^]3^%l2U8RpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?Wqqu?Wqs8W#trVufrp](3m -rr2rup](0lpAb*lJcC<$OT0h~> -JcC<$^]3^%l2U8RpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?Wqqu?Wqs8W#trVufrp](3m -rr2rup](0lpAb*lJcC<$OT0h~> -JcC<$^]3^%l2U8RpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?Wqqu?Wqs8W#trVufrp](3m -rr2rup](0lpAb*lJcC<$OT0h~> -JcC<$`W,?+iW&KLpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?WqrVuisrVufrrVufrp](0l -!ri6#p](0lpAb*lJcC<$OT0h~> -JcC<$`W,?+iW&KLpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?WqrVuisrVufrrVufrp](0l -!ri6#p](0lpAb*lJcC<$OT0h~> -JcC<$`W,?+iW&KLpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?WqrVuisrVufrrVufrp](0l -!ri6#p](0lpAb*lJcC<$OT0h~> -JcC<$b5^l0g]-mGpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?WqrVuisrVufrrVufrpAb*l -!ri6#p](0lpAb*lJcC<$OT0h~> -JcC<$b5^l0g]-mGpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?WqrVuisrVufrrVufrpAb*l -!ri6#p](0lpAb*lJcC<$OT0h~> -JcC<$b5^l0g]-mGpAb'kq>^Bnqu?Tprr;osq>^Eoqu?Wqqu?Wqqu?WqrVuisrVufrrVufrpAb*l -!ri6#p](0lpAb*lJcC<$OT0h~> -JcC<$d/WM6e,T+Ap&G!kq>^Bnqu?WqrVufrq>^Eoqu?Wqqu?Wqqu?Wqrr;osrVufrrVufrpAb$j -pAb*lp&G!kJcC<$OT0h~> -JcC<$d/WM6e,T+Ap&G!kq>^Bnqu?WqrVufrq>^Eoqu?Wqqu?Wqqu?Wqrr;osrVufrrVufrpAb$j -pAb*lp&G!kJcC<$OT0h~> -JcC<$d/WM6e,T+Ap&G!kq>^Bnqu?WqrVufrq>^Eoqu?Wqqu?Wqqu?Wqrr;osrVufrrVufrpAb$j -pAb*lp&G!kJcC<$OT0h~> -JcC<$f)P.^Bnqu?WqrVufrq>^Eoqu?Wqqu?Wqqu?Wqrr;osrVufrrVufrpAb$j -pAb*lp&G!kJcC<$OT0h~> -JcC<$f)P.^Bnqu?WqrVufrq>^Eoqu?Wqqu?Wqqu?Wqrr;osrVufrrVufrpAb$j -pAb*lp&G!kJcC<$OT0h~> -JcC<$f)P.^Bnqu?WqrVufrq>^Eoqu?Wqqu?Wqqu?Wqrr;osrVufrrVufrpAb$j -pAb*lp&G!kJcC<$OT0h~> -JcC<$h#HdBbQ%,5p&G!kq>^Bnr;Z`rr;Z]qq>^Eoqu?Wqr;Z]qr;Z]qrr;osrr;lrrVufrp&Fsj -pAb*lp&G!kJcC<$OT0h~> -JcC<$h#HdBbQ%,5p&G!kq>^Bnr;Z`rr;Z]qq>^Eoqu?Wqr;Z]qr;Z]qrr;osrr;lrrVufrp&Fsj -pAb*lp&G!kJcC<$OT0h~> -JcC<$h#HdBbQ%,5p&G!kq>^Bnr;Z`rr;Z]qq>^Eoqu?Wqr;Z]qr;Z]qrr;osrr;lrrVufrp&Fsj -pAb*lp&G!kJcC<$OT0h~> -JcC<$iW&^BnrVufrr;Z]qr;Z]qrr;Qis8W#tp&G!k -pAb*lo`+mjJcC<$OT0h~> -JcC<$iW&^BnrVufrr;Z]qr;Z]qrr;Qis8W#tp&G!k -pAb*lo`+mjJcC<$OT0h~> -JcC<$iW&^BnrVufrr;Z]qr;Z]qrr;Qis8W#tp&G!k -pAb*lo`+mjJcC<$OT0h~> -li2\>JcGNFmJt6+q#LHpquHcsrW)TjrW)fppAk-kq#LBnq>gQqq>gQqq>gQqq>gQqqZ-Zrr;Zit -q#L-grrDcmrW)TjrW%NLJcCi3J,~> -li2\>JcGNFmJt6+q#LHpquHcsrW)TjrW)fppAk-kq#LBnq>gQqq>gQqq>gQqq>gQqqZ-Zrr;Zit -q#L-grrDcmrW)TjrW%NLJcCi3J,~> -li2\>JcGNFmJt6+q#LHpquHcsrW)TjrW)fppAk-kq#LBnq>gQqq>gQqq>gQqq>gQqqZ-Zrr;Zit -q#L-grrDcmrW)TjrW%NLJcCi3J,~> -li2\>JcG`LmJt*'q#LBnr;cisrW)QirrDoqr;ZitrW(%>rrDus!!)BcrrD`lrrDZjrW%NLJcCi3 -J,~> -li2\>JcG`LmJt*'q#LBnr;cisrW)QirrDoqr;ZitrW(%>rrDus!!)BcrrD`lrrDZjrW%NLJcCi3 -J,~> -li2\>JcG`LmJt*'q#LBnr;cisrW)QirrDoqr;ZitrW(%>rrDus!!)BcrrD`lrrDZjrW%NLJcCi3 -J,~> -li2\>K`CH?^Ams.qu?Tprr;rto)J^iqu?TpVuQbspAb*loDediJcC<$OT0h~> -li2\>K`CH?^Ams.qu?Tprr;rto)J^iqu?TpVuQbspAb*loDediJcC<$OT0h~> -li2\>K`CH?^Ams.qu?Tprr;rto)J^iqu?TpVuQbspAb*loDediJcC<$OT0h~> -li6qaN;rkWMZ<)E])VR+q#C -li6qaN;rkWMZ<)E])VR+q#C -li6qaN;rkWMZ<)E])VR+q#C -li6qaN;rkWO8nVJ\,Z7(pAb-mr;Z`rnc/Uhr;Z]qW;lktpAb-mnc/RgJcC<$OT0h~> -li6qaN;rkWO8nVJ\,Z7(pAb-mr;Z`rnc/Uhr;Z]qW;lktpAb-mnc/RgJcC<$OT0h~> -li6qaN;rkWO8nVJ\,Z7(pAb-mr;Z`rnc/Uhr;Z]qW;lktpAb-mnc/RgJcC<$OT0h~> -li6qaN;rkWQ2g7P[/]n$p&G$lqu?WqnGiLgrVufrXoJ4tp](6nnGiIfJcC<$OT0h~> -li6qaN;rkWQ2g7P[/]n$p&G$lqu?WqnGiLgrVufrXoJ4tp](6nnGiIfJcC<$OT0h~> -li6qaN;rkWQ2g7P[/]n$p&G$lqu?WqnGiLgrVufrXoJ4tp](6nnGiIfJcC<$OT0h~> -li6qaN;rkWS,_mVYlFIuoD\djqZ$Npmf*7err;osXoJ7up\t3nmf37dJcC<$OT0h~> -li6qaN;rkWS,_mVYlFIuoD\djqZ$Npmf*7err;osXoJ7up\t3nmf37dJcC<$OT0h~> -li6qaN;rkWS,_mVYlFIuoD\djqZ$Npmf*7err;osXoJ7up\t3nmf37dJcC<$OT0h~> -li6qaN;rkWU&XN\XT/(rkl:V^m/Qk]YQ+M#irAuXJcC<$OT0h~> -li6qaN;rkWU&XN\XT/(rkl:V^m/Qk]YQ+M#irAuXJcC<$OT0h~> -li6qaN;rkWU&XN\XT/(rkl:V^m/Qk]YQ+M#irAuXJcC<$OT0h~> -li6qaN;rkWVZ6&aWW2bok5YD\m/Qh\Y5\J%i;`cVJcC<$OT0h~> -li6qaN;rkWVZ6&aWW2bok5YD\m/Qh\Y5\J%i;`cVJcC<$OT0h~> -li6qaN;rkWVZ6&aWW2bok5YD\m/Qh\Y5\J%i;`cVJcC<$OT0h~> -li6qaN;rkWXT.\gVZ6DkjT#2ZJcG0 -li6qaN;rkWXT.\gVZ6DkjT#2ZJcG0 -li6qaN;rkWXT.\gVZ6DkjT#2ZJcG0 -li6qaN;rkWZN'=mUAt#hjT#&VJcG3=rW%NLJcCi3J,~> -li6qaN;rkWZN'=mUAt#hjT#&VJcG3=rW%NLJcCi3J,~> -li6qaN;rkWZN'=mUAt#hjT#&VJcG3=rW%NLJcCi3J,~> -li6qaN;rkW\GtssT)\Tdm/QSUJcG0 -li6qaN;rkW\GtssT)\Tdm/QSUJcG0 -li6qaN;rkW\GtssT)\Tdm/QSUJcG0 -li6qaN;rkW^&RL#SH&?alMpASJcG0 -li6qaN;rkW^&RL#SH&?alMpASJcG0 -li6qaN;rkW^&RL#SH&?alMpASJcG0 -li6qaN;rkW_uK-)R/cs^jo=oPJcG0 -li6qaN;rkW_uK-)R/cs^jo=oPJcG0 -li6qaN;rkW_uK-)R/cs^jo=oPJcG0 -li6qaN;rkWaoCc/PlLOZiW&QNJcG0 -li6qaN;rkWaoCc/PlLOZiW&QNJcG0 -li6qaN;rkWaoCc/PlLOZiW&QNJcG0 -li6qaS,`Kgo`+mjci -li6qaS,`Kgo`+mjci -li6qaS,`Kgo`+mjci -li6qaT)\]go`+mjeGnt;NW8bRhuA6-h#N$+JcCi3J,~> -li6qaT)\]go`+mjeGnt;NW8bRhuA6-h#N$+JcCi3J,~> -li6qaT)\]go`+mjeGnt;NW8bRhuA6-h#N$+JcCi3J,~> -li6qaTE"cgo`+mjq>UEpj8\NIMZd?P!<;ut!<7TMkQ$26JcCi3J,~> -li6qaTE"cgo`+mjq>UEpj8\NIMZd?P!<;ut!<7TMkQ$26JcCi3J,~> -li6qaTE"cgo`+mjq>UEpj8\NIMZd?P!<;ut!<7TMkQ$26JcCi3J,~> -li6qaSH&Qgo`+mjqu?Wql2U/OLB%&Lh>d -li6qaSH&Qgo`+mjqu?Wql2U/OLB%&Lh>d -li6qaSH&Qgo`+mjqu?Wql2U/OLB%&Lh>d -li6qaSH&Qgo`+mjr;Z`rmf2\TKE(]Hh#I6Orr;osm/I%cd/X+Gl2U__oDe@]JcC<$JcGHDJ,~> -li6qaSH&Qgo`+mjr;Z`rmf2\TKE(]Hh#I6Orr;osm/I%cd/X+Gl2U__oDe@]JcC<$JcGHDJ,~> -li6qaSH&Qgo`+mjr;Z`rmf2\TKE(]Hh#I6Orr;osm/I%cd/X+Gl2U__oDe@]JcC<$JcGHDJ,~> -li6qaSH&Qgo`+mjrVufro`+=ZJcGcMq#K1LqZ-Qor;c9crW(=FrrD9_quHEio`0RCJcC<$o`'F~> -li6qaSH&Qgo`+mjrVufro`+=ZJcGcMq#K1LqZ-Qor;c9crW(=FrrD9_quHEio`0RCJcC<$o`'F~> -li6qaSH&Qgo`+mjrVufro`+=ZJcGcMq#K1LqZ-Qor;c9crW(=FrrD9_quHEio`0RCJcC<$o`'F~> -li6qaSH&Qgo`+mjs8Vusq#Ba^JcGZJq#K1Lq>gEmrW)Bdr;b7Fr;c*^q>g6hpAfdEJcC<$oDa=~> -li6qaSH&Qgo`+mjs8Vusq#Ba^JcGZJq#K1Lq>gEmrW)Bdr;b7Fr;c*^q>g6hpAfdEJcC<$oDa=~> -li6qaSH&Qgo`+mjs8Vusq#Ba^JcGZJq#K1Lq>gEmrW)Bdr;b7Fr;c*^q>g6hpAfdEJcC<$oDa=~> -li6qaoDedip&G!kp](0lpAY*mrr;uup&G!kpAb*lq#C -li6qaoDedip&G!kp](0lpAY*mrr;uup&G!kpAb*lq#C -li6qaoDedip&G!kp](0lpAY*mrr;uup&G!kpAb*lq#C -li6qap&Fgfqu?Hlqu?Hlqu?Tp!<;orqZ$?kqZ$BlqZ$Npo`+(SJcGECp]0%JqZ-BjrrDQgq>eqC -quH!]o`4jgp&K[DJcC<$pA]X~> -li6qap&Fgfqu?Hlqu?Hlqu?Tp!<;orqZ$?kqZ$BlqZ$Npo`+(SJcGECp]0%JqZ-BjrrDQgq>eqC -quH!]o`4jgp&K[DJcC<$pA]X~> -li6qap&Fgfqu?Hlqu?Hlqu?Tp!<;orqZ$?kqZ$BlqZ$Npo`+(SJcGECp]0%JqZ-BjrrDQgq>eqC -quH!]o`4jgp&K[DJcC<$pA]X~> -li6qapAb-mrVuisr;Z`rrr;osrVuisrVuisrr;Qir;Z`rrr;osr;Zcsrr;osqu?Wqo`+:YJcG9? -q#K+Jq>g6h!!)Ngq#JkCqZ,m\o)S^go)O@AJcC<$q>Ys~> -li6qapAb-mrVuisr;Z`rrr;osrVuisrVuisrr;Qir;Z`rrr;osr;Zcsrr;osqu?Wqo`+:YJcG9? -q#K+Jq>g6h!!)Ngq#JkCqZ,m\o)S^go)O@AJcC<$q>Ys~> -li6qapAb-mrVuisr;Z`rrr;osrVuisrVuisrr;Qir;Z`rrr;osr;Zcsrr;osqu?Wqo`+:YJcG9? -q#K+Jq>g6h!!)Ngq#JkCqZ,m\o)S^go)O@AJcC<$q>Ys~> -li6qapAb-mr;ZcsrVuisr;Z]qrr;rtrVuisr;ZZprVuisrVuisr;Z]qrr;uur;Z]qr;Z`rp&FO^ -JcG0fg\o`4gfquHcsq#H!GJcC<$qu;0~> -li6qapAb-mr;ZcsrVuisr;Z]qrr;rtrVuisr;ZZprVuisrVuisr;Z]qrr;uur;Z]qr;Z`rp&FO^ -JcG0fg\o`4gfquHcsq#H!GJcC<$qu;0~> -li6qapAb-mr;ZcsrVuisr;Z]qrr;rtrVuisr;ZZprVuisrVuisr;Z]qrr;uur;Z]qr;Z`rp&FO^ -JcG0fg\o`4gfquHcsq#H!GJcC<$qu;0~> -li6qap](3mr;ZcsrVultqu?Tps8W#trVufrrVufrr;Z`rrVultqu?Tps8W&ur;Z]qr;Z`rpAadc -JcG*:p]/tHq>fUVp&NSAq#K^[q#L'er;cfrq#H!GJcC<$rVqB~> -li6qap](3mr;ZcsrVultqu?Tps8W#trVufrrVufrr;Z`rrVultqu?Tps8W&ur;Z]qr;Z`rpAadc -JcG*:p]/tHq>fUVp&NSAq#K^[q#L'er;cfrq#H!GJcC<$rVqB~> -li6qap](3mr;ZcsrVultqu?Tps8W#trVufrrVufrr;Z`rrVultqu?Tps8W&ur;Z]qr;Z`rpAadc -JcG*:p]/tHq>fUVp&NSAq#K^[q#L'er;cfrq#H!GJcC<$rVqB~> -li6qap](0lq#C -li6qap](0lq#C -li6qap](0lq#C -li6qapAb$jqZ$Npmf31br;Z`rr;Z]qs8W&up&FXarVuiso`+RaJcG<@q#K"GqZ,[Vo)R;?pAjLY -q#L$drW)coq#H!GJcC?%J,~> -li6qapAb$jqZ$Npmf31br;Z`rr;Z]qs8W&up&FXarVuiso`+RaJcG<@q#K"GqZ,[Vo)R;?pAjLY -q#L$drW)coq#H!GJcC?%J,~> -li6qapAb$jqZ$Npmf31br;Z`rr;Z]qs8W&up&FXarVuiso`+RaJcG<@q#K"GqZ,[Vo)R;?pAjLY -q#L$drW)coq#H!GJcC?%J,~> -li6qap&Fmhr;Z`rnc/Cbr;Z`rr;Z]qs8W&upAb*lo)J[ho`+mjs8VlpJcGECq#K"Gq>f=Nq#JqE -p&OFYr;Zitr;cHhrrDfnq#H!GJcCE'J,~> -li6qap&Fmhr;Z`rnc/Cbr;Z`rr;Z]qs8W&upAb*lo)J[ho`+mjs8VlpJcGECq#K"Gq>f=Nq#JqE -p&OFYr;Zitr;cHhrrDfnq#H!GJcCE'J,~> -li6qap&Fmhr;Z`rnc/Cbr;Z`rr;Z]qs8W&upAb*lo)J[ho`+mjs8VlpJcGECq#K"Gq>f=Nq#JqE -p&OFYr;Zitr;cHhrrDfnq#H!GJcCE'J,~> -li6qao`+dgrr;oso)J[hs8W#tr;Z`rr;Z]q!<;utpAb'koDedio`+mjr;ZWoJcGQGp]/kEqZ,@M -r;ZitrW(LKoDn4WrW)uur;cHh!!)]lq#H!GJcCK)J,~> -li6qao`+dgrr;oso)J[hs8W#tr;Z`rr;Z]q!<;utpAb'koDedio`+mjr;ZWoJcGQGp]/kEqZ,@M -r;ZitrW(LKoDn4WrW)uur;cHh!!)]lq#H!GJcCK)J,~> -li6qao`+dgrr;oso)J[hs8W#tr;Z`rr;Z]q!<;utpAb'koDedio`+mjr;ZWoJcGQGp]/kEqZ,@M -r;ZitrW(LKoDn4WrW)uur;cHh!!)]lq#H!GJcCK)J,~> -li6qaoDe[fs8W#to`+mjrVufrr;Z`rr;Z]q!<;utpAb'koDedio`+mjq>^EoJcGWIq#JqEq>f7L -r;cltrW(LKrW)uurVurur;c0`rrE#tr;cKi!!)Wjp],mFJcCT,J,~> -li6qaoDe[fs8W#to`+mjrVufrr;Z`rr;Z]q!<;utpAb'koDedio`+mjq>^EoJcGWIq#JqEq>f7L -r;cltrW(LKrW)uurVurur;c0`rrE#tr;cKi!!)Wjp],mFJcCT,J,~> -li6qaoDe[fs8W#to`+mjrVufrr;Z`rr;Z]q!<;utpAb'koDedio`+mjq>^EoJcGWIq#JqEq>f7L -r;cltrW(LKrW)uurVurur;c0`rrE#tr;cKi!!)Wjp],mFJcCT,J,~> -li6qapAY*mrVucqs8W&uo`+mjrVufrr;Z`rr;Z]qs8W&upAb'kq#: -li6qapAY*mrVucqs8W&uo`+mjrVufrr;Z`rr;Z]qs8W&upAb'kq#: -li6qapAY*mrVucqs8W&uo`+mjrVufrr;Z`rr;Z]qs8W&upAb'kq#: -li6qapAY*mr;Z]qs8W#tqZ$Qqs8W#trVufrr;Z`rr;Z]qs8W#tqZ$Qqs8W&uq#: -li6qapAY*mr;Z]qs8W#tqZ$Qqs8W#trVufrr;Z`rr;Z]qs8W#tqZ$Qqs8W&uq#: -li6qapAY*mr;Z]qs8W#tqZ$Qqs8W#trVufrr;Z`rr;Z]qs8W#tqZ$Qqs8W&uq#: -li6qapAY*mqu?Wqs8Vusqu6Wrrr;osrVufrr;Z`rr;Z]qs8Vusqu6Wrrr;osqZ$QqrVuiso`+mj -JcGKEq#JkCq>f+Hr;ccq!!(CGrW)'[!!)orquG^Up],mFJcCi3J,~> -li6qapAY*mqu?Wqs8Vusqu6Wrrr;osrVufrr;Z`rr;Z]qs8Vusqu6Wrrr;osqZ$QqrVuiso`+mj -JcGKEq#JkCq>f+Hr;ccq!!(CGrW)'[!!)orquG^Up],mFJcCi3J,~> -li6qapAY*mqu?Wqs8Vusqu6Wrrr;osrVufrr;Z`rr;Z]qs8Vusqu6Wrrr;osqZ$QqrVuiso`+mj -JcGKEq#JkCq>f+Hr;ccq!!(CGrW)'[!!)orquG^Up],mFJcCi3J,~> -li6qapAY*mqu?Wqrr;Zlrr;osrr;lrrVufrr;Z]qrr;ZlrVucqrr;rtr;Z`ro`+mjJcGQGq#JhB -qZ,1Hr;at>rW(dSquGXSq#H!GJcCo5J,~> -li6qapAY*mqu?Wqrr;Zlrr;osrr;lrrVufrr;Z]qrr;ZlrVucqrr;rtr;Z`ro`+mjJcGQGq#JhB -qZ,1Hr;at>rW(dSquGXSq#H!GJcCo5J,~> -li6qapAY*mqu?Wqrr;Zlrr;osrr;lrrVufrr;Z]qrr;ZlrVucqrr;rtr;Z`ro`+mjJcGQGq#JhB -qZ,1Hr;at>rW(dSquGXSq#H!GJcCo5J,~> -li6qapAb-mr;Zcsr;ZNlrVuHhs8W#tr;Z]qrVuWmr;ZKkqu?Tpp&G!kJcGWIq#JhBqZ,+Fr;at> -rW(aRquGURq#H!GJcCu7J,~> -li6qapAb-mr;Zcsr;ZNlrVuHhs8W#tr;Z]qrVuWmr;ZKkqu?Tpp&G!kJcGWIq#JhBqZ,+Fr;at> -rW(aRquGURq#H!GJcCu7J,~> -li6qapAb-mr;Zcsr;ZNlrVuHhs8W#tr;Z]qrVuWmr;ZKkqu?Tpp&G!kJcGWIq#JhBqZ,+Fr;at> -rW(aRquGURq#H!GJcCu7J,~> -li6qapAapgqZ$Blqu?Nns8W#ts8Voqs8VrrrVu]oqZ$?kr;ZTnpAb*lJcG`Lp]/_Aq>f"Er;aq= -rW(^Qr;bXQq#H!GJcD&9J,~> -li6qapAapgqZ$Blqu?Nns8W#ts8Voqs8VrrrVu]oqZ$?kr;ZTnpAb*lJcG`Lp]/_Aq>f"Er;aq= -rW(^Qr;bXQq#H!GJcD&9J,~> -li6qapAapgqZ$Blqu?Nns8W#ts8Voqs8VrrrVu]oqZ$?kr;ZTnpAb*lJcG`Lp]/_Aq>f"Er;aq= -rW(^Qr;bXQq#H!GJcD&9J,~> -li6qapAY0os8W&upAb*lp](6nr;Q`skl:V^pAb'kkl:V^Jc>`Mq#Jb@qZ,%Dr;aq=rW([Pr;bUP -p],mFJcD/ -li6qapAY0os8W&upAb*lp](6nr;Q`skl:V^pAb'kkl:V^Jc>`Mq#Jb@qZ,%Dr;aq=rW([Pr;bUP -p],mFJcD/ -li6qapAY0os8W&upAb*lp](6nr;Q`skl:V^pAb'kkl:V^Jc>`Mq#Jb@qZ,%Dr;aq=rW([Pr;bUP -p],mFJcD/ -li6qaN;rkWK)bWHci -li6qaN;rkWK)bWHci -li6qaN;rkWK)bWHci -li6qaN;rkWL&^oJcN!bAci -li6qaN;rkWL&^oJcN!bAci -li6qaN;rkWL&^oJcN!bAci -li6qaN;rkWL]@/Mc2[Y@cN!hC`rH# -li6qaN;rkWL]@/Mc2[Y@cN!hC`rH# -li6qaN;rkWL]@/Mc2[Y@cN!hC`rH# -li6qaN;rkWM?!AOc2[V?c2[_B`rH# -li6qaN;rkWM?!AOc2[V?c2[_B`rH# -li6qaN;rkWM?!AOc2[V?c2[_B`rH# -li6qaN;rkWMuWSQbl@P?bl@VA`W,o;f)PXJeGo=EJcC<$V#Pr~> -li6qaN;rkWMuWSQbl@P?bl@VA`W,o;f)PXJeGo=EJcC<$V#Pr~> -li6qaN;rkWMuWSQbl@P?bl@VA`W,o;f)PXJeGo=EJcC<$V#Pr~> -li6qaN;rkWNrSkSbl@M>bQ%M@`W,o;ec5OIe,T4DJcC<$VZ2/~> -li6qaN;rkWNrSkSbl@M>bQ%M@`W,o;ec5OIe,T4DJcC<$VZ2/~> -li6qaN;rkWNrSkSbl@M>bQ%M@`W,o;ec5OIe,T4DJcC<$VZ2/~> -li6qaN;rkWOT5+Vb5_>=b5_D?`;ff:eGoFHdf9(BJcC<$WW.J~> -li6qaN;rkWOT5+Vb5_>=b5_D?`;ff:eGoFHdf9(BJcC<$WW.J~> -li6qaN;rkWOT5+Vb5_>=b5_D?`;ff:eGoFHdf9(BJcC<$WW.J~> -li6qaN;rkWP5k=Xb5_>=aT)2=`;ff:e,T@Hci -li6qaN;rkWP5k=Xb5_>=aT)2=`;ff:e,T@Hci -li6qaN;rkWP5k=Xb5_>=aT)2=`;ff:e,T@Hci -li6qaN;rkWQ2gUZb5_; -li6qaN;rkWQ2gUZb5_; -li6qaN;rkWQ2gUZb5_; -li6qaN;rkWQiHj]aT),;`rGu;_uK]9dJs.Fc2[S>JcC<$YQ'+~> -li6qaN;rkWQiHj]aT),;`rGu;_uK]9dJs.Fc2[S>JcC<$YQ'+~> -li6qaN;rkWQiHj]aT),;`rGu;_uK]9dJs.Fc2[S>JcC<$YQ'+~> -li6qaN;rkWRK*'_aT),;`W,l:_Z0T8d/X%Ebl@G -li6qaN;rkWRK*'_aT),;`W,l:_Z0T8d/X%Ebl@G -li6qaN;rkWRK*'_aT),;`W,l:_Z0T8d/X%Ebl@G -li6qaN;rkWS,`9aaT)):`;fc9_Z0T8d/X"Db5_8;JcC<$[/YX~> -li6qaN;rkWS,`9aaT)):`;fc9_Z0T8d/X"Db5_8;JcC<$[/YX~> -li6qaN;rkWS,`9aaT)):`;fc9_Z0T8d/X"Db5_8;JcC<$[/YX~> -li6qaN;rkWT)\Qca8c#:_uKZ8_>jK7ci -li6qaN;rkWT)\Qca8c#:_uKZ8_>jK7ci -li6qaN;rkWT)\Qca8c#:_uKZ8_>jK7ci -li6qaN;rkWT`=ff`rGl8_Z0Q7_>jK7cN!eBaT)#8JcC<$\c70~> -li6qaN;rkWT`=ff`rGl8_Z0Q7_>jK7cN!eBaT)#8JcC<$\c70~> -li6qaN;rkWT`=ff`rGl8_Z0Q7_>jK7cN!eBaT)#8JcC<$\c70~> -li2\>UAt#h`W,f8_>jH6_#OB6c2[\A`rGi7JcC<$]DmB~> -li2\>UAt#h`W,f8_>jH6_#OB6c2[\A`rGi7JcC<$]DmB~> -li2\>UAt#h`W,f8_>jH6_#OB6c2[\A`rGi7JcC<$]DmB~> -li2\>V>p;j`W,f8^]464_#OB6bl@VA`;fW5JcC<$^&NT~> -li2\>V>p;j`W,f8^]464_#OB6bl@VA`;fW5JcC<$^&NT~> -li2\>V>p;j`W,f8^]464_#OB6bl@VA`;fW5JcC<$^&NT~> -li2\>VuQPm`;fZ6^]464^]495bQ%M@_uKN4JcC<$^]/f~> -li2\>VuQPm`;fZ6^]464^]495bQ%M@_uKN4JcC<$^]/f~> -li2\>VuQPm`;fZ6^]464^]495bQ%M@_uKN4JcC<$^]/f~> -JcD,;q#J>4qZ+>0r;aV4rW(+@r;a_7p],mFJcEUeJ,~> -JcD,;q#J>4qZ+>0r;aV4rW(+@r;a_7p],mFJcEUeJ,~> -JcD,;q#J>4qZ+>0r;aV4rW(+@r;a_7p],mFJcEUeJ,~> -JcD2=q#J>4q>e5/r;aS3rW((?r;aY5q#H!GJcE[gJ,~> -JcD2=q#J>4q>e5/r;aS3rW((?r;aY5q#H!GJcE[gJ,~> -JcD2=q#J>4q>e5/r;aS3rW((?r;aY5q#H!GJcE[gJ,~> -JcD;@p]/22qZ+8.r;aS3rW(%>r;aV4q#H!GJcEaiJ,~> -JcD;@p]/22qZ+8.r;aS3rW(%>r;aV4q#H!GJcEaiJ,~> -JcD;@p]/22qZ+8.r;aS3rW(%>r;aV4q#H!GJcEaiJ,~> -JcDABq#J82qZ+5-r;aP2rW(%>quFJ2p],mFJcEjlJ,~> -JcDABq#J82qZ+5-r;aP2rW(%>quFJ2p],mFJcEjlJ,~> -JcDABq#J82qZ+5-r;aP2rW(%>quFJ2p],mFJcEjlJ,~> -JcDGDq#J82q>e)+r;aP2rW("=quFD0q#H!GJcEpnJ,~> -JcDGDq#J82q>e)+r;aP2rW("=quFD0q#H!GJcEpnJ,~> -JcDGDq#J82q>e)+r;aP2rW("=quFD0q#H!GJcEpnJ,~> -JcDPGp]/,0qZ+/+r;aM1rW't -JcDPGp]/,0qZ+/+r;aM1rW't -JcDPGp]/,0qZ+/+r;aM1rW't -JcDVIq#J20qZ+))r;aM1rW'q;quF>.q#H!GJcF'rJ,~> -JcDVIq#J20qZ+))r;aM1rW'q;quF>.q#H!GJcF'rJ,~> -JcDVIq#J20qZ+))r;aM1rW'q;quF>.q#H!GJcF'rJ,~> -JcD\Kq#J20q>du(r;aJ0rW'n:r;aA-p],mFJcF0uJ,~> -JcD\Kq#J20q>du(r;aJ0rW'n:r;aA-p],mFJcF0uJ,~> -JcD\Kq#J20q>du(r;aJ0rW'n:r;aA-p],mFJcF0uJ,~> -JcDeNp]/&.qZ+#'r;aJ0rW'k9r;a;+q#H!GJcF7"J,~> -JcDeNp]/&.qZ+#'r;aJ0rW'k9r;a;+q#H!GJcF7"J,~> -JcDeNp]/&.qZ+#'r;aJ0rW'k9r;a;+q#H!GJcF7"J,~> -JcDkPq#J,.q>do&r;aG/rW'h8r;a8*q#H!GJcF=$J,~> -JcDkPq#J,.q>do&r;aG/rW'h8r;a8*q#H!GJcF=$J,~> -JcDkPq#J,.q>do&r;aG/rW'h8r;a8*q#H!GJcF=$J,~> -JcDqRq#J)-qZ*r%r;aG/rW'e7r;a5)q#H!GJcFC&J,~> -JcDqRq#J)-qZ*r%r;aG/rW'e7r;a5)q#H!GJcFC&J,~> -JcDqRq#J)-qZ*r%r;aG/rW'e7r;a5)q#H!GJcFC&J,~> -JcE"Tq#J)-qZ*o$r;aD.rW'b6r;a2(p],mFJcFL)J,~> -JcE"Tq#J)-qZ*o$r;aD.rW'b6r;a2(p],mFJcFL)J,~> -JcE"Tq#J)-qZ*o$r;aD.rW'b6r;a2(p],mFJcFL)J,~> -JcE+Wp].u,q>dc"r;aD.rW'b6quF#%q#H!GJcFR+J,~> -JcE+Wp].u,q>dc"r;aD.rW'b6quF#%q#H!GJcFR+J,~> -JcE+Wp].u,q>dc"r;aD.rW'b6quF#%q#H!GJcFR+J,~> -JcE1Yq#J#+qZ*i"r;aA-rW'_5quEu$q#H!GJcFX-J,~> -JcE1Yq#J#+qZ*i"r;aA-rW'_5quEu$q#H!GJcFX-J,~> -JcE1Yq#J#+qZ*i"r;aA-rW'_5quEu$q#H!GJcFX-J,~> -JcE7[q#J#+qZ*bur;aA-rW'\4quEr#p],mFJcFa0J,~> -JcE7[q#J#+qZ*bur;aA-rW'\4quEr#p],mFJcFa0J,~> -JcE7[q#J#+qZ*bur;aA-rW'\4quEr#p],mFJcFa0J,~> -JcE@^p].o*q>dYtr;a>,rW'Y3quEl!q#H!GJcFg2J,~> -JcE@^p].o*q>dYtr;a>,rW'Y3quEl!q#H!GJcFg2J,~> -JcE@^p].o*q>dYtr;a>,rW'Y3quEl!q#H!GJcFg2J,~> -JcEF`q#Ir)qZ*\sr;a>,rW'V2r;`nuq#H!GJcFm4J,~> -JcEF`q#Ir)qZ*\sr;a>,rW'V2r;`nuq#H!GJcFm4J,~> -JcEF`q#Ir)qZ*\sr;a>,rW'V2r;`nuq#H!GJcFm4J,~> -JcELbq#Ir)q>dPqrW'D,rW'S1r;`ktq#H!GJcFs6J,~> -JcELbq#Ir)q>dPqrW'D,rW'S1r;`ktq#H!GJcFs6J,~> -JcELbq#Ir)q>dPqrW'D,rW'S1r;`ktq#H!GJcFs6J,~> -JcERdq#Io(qZ*Vqr;a;+rW'P0r;`hsp],mFJcG'9J,~> -JcERdq#Io(qZ*Vqr;a;+rW'P0r;`hsp],mFJcG'9J,~> -JcERdq#Io(qZ*Vqr;a;+rW'P0r;`hsp],mFJcG'9J,~> -JcE[gp].f'qZ*PorW'A+rW'M/r;`bqq#H!GJcG-;J,~> -JcE[gp].f'qZ*PorW'A+rW'M/r;`bqq#H!GJcG-;J,~> -JcE[gp].f'qZ*PorW'A+rW'M/r;`bqq#H!GJcG-;J,~> -JcEaiq#Il'q>dGnr;a8*rW'M/quEVoq#H!GJcG3=J,~> -JcEaiq#Il'q>dGnr;a8*rW'M/quEVoq#H!GJcG3=J,~> -JcEaiq#Il'q>dGnr;a8*rW'M/quEVoq#H!GJcG3=J,~> -JcEgkq#Ii&qZ*JmrW'>*rW'J.quESnp],mFJcG<@J,~> -JcEgkq#Ii&qZ*JmrW'>*rW'J.quESnp],mFJcG<@J,~> -JcEgkq#Ii&qZ*JmrW'>*rW'J.quESnp],mFJcG<@J,~> -JcEpnp].`%q>dAlr;a5)rW'G-quEMlq#H!GJcGBBJ,~> -JcEpnp].`%q>dAlr;a5)rW'G-quEMlq#H!GJcGBBJ,~> -JcEpnp].`%q>dAlr;a5)rW'G-quEMlq#H!GJcGBBJ,~> -JcF!pq#Ic$qZ*DkrW';)rW'D,quEJkq#H!GJcGHDJ,~> -JcF!pq#Ic$qZ*DkrW';)rW'D,quEJkq#H!GJcGHDJ,~> -JcF!pq#Ic$qZ*DkrW';)rW'D,quEJkq#H!GJcGHDJ,~> -JcF'rq#Ic$qZ*Ajr;a2(rW'A+quEGjq#H!GJcGNFJ,~> -JcF'rq#Ic$qZ*Ajr;a2(rW'A+quEGjq#H!GJcGNFJ,~> -JcF'rq#Ic$qZ*Ajr;a2(rW'A+quEGjq#H!GJcGNFJ,~> -JcF-tq#Ic$q>d5hrW'8(rW'>*r;`Jip],mFJcGWIJ,~> -JcF-tq#Ic$q>d5hrW'8(rW'>*r;`Jip],mFJcGWIJ,~> -JcF-tq#Ic$q>d5hrW'8(rW'>*r;`Jip],mFJcGWIJ,~> -JcF7"p].W"qZ*;hr;a/'rW';)r;`Dgq#H!GJcG]KJ,~> -JcF7"p].W"qZ*;hr;a/'rW';)r;`Dgq#H!GJcG]KJ,~> -JcF7"p].W"qZ*;hr;a/'rW';)r;`Dgq#H!GJcG]KJ,~> -li3XYbl@J=Z2a\$T)\ciZ2ae'ZN'k'SH&BbJcC<$s8RT~> -li3XYbl@J=Z2a\$T)\ciZ2ae'ZN'k'SH&BbJcC<$s8RT~> -li3XYbl@J=Z2a\$T)\ciZ2ae'ZN'k'SH&BbJcC<$s8RT~> -li3XYcN!\?Z2aY#T)\`hZ2ae'Z2ab&S,`6`JcC?%J,~> -li3XYcN!\?Z2aY#T)\`hZ2ae'Z2ab&S,`6`JcC?%J,~> -li3XYcN!\?Z2aY#T)\`hZ2ae'Z2ab&S,`6`JcC?%J,~> -li3XYdJrtAYlFS#SH&QgYlF\&Z2a_%RK*'_JcCE'J,~> -li3XYdJrtAYlFS#SH&QgYlF\&Z2a_%RK*'_JcCE'J,~> -li3XYdJrtAYlFS#SH&QgYlF\&Z2a_%RK*'_JcCE'J,~> -li6qaVuQ_re,T4DYQ+G!SH&NfYlF\&YlFV$R/cs^JcCK)J,~> -li6qaVuQ_re,T4DYQ+G!SH&NfYlF\&YlFV$R/cs^JcCK)J,~> -li6qaVuQ_re,T4DYQ+G!SH&NfYlF\&YlFV$R/cs^JcCK)J,~> -li6qaVuQ_rec5FFY5eA!RfE?eYQ+S%YQ+M#QiHj]JcCQ+J,~> -li6qaVuQ_rec5FFY5eA!RfE?eYQ+S%YQ+M#QiHj]JcCQ+J,~> -li6qaVuQ_rec5FFY5eA!RfE?eYQ+S%YQ+M#QiHj]JcCQ+J,~> -li6qaVuQ_rfDkXHY5eA!RK*3cYQ+S%Y5eD"QN-^[JcCZ.J,~> -li6qaVuQ_rfDkXHY5eA!RK*3cYQ+S%Y5eD"QN-^[JcCZ.J,~> -li6qaVuQ_rfDkXHY5eA!RK*3cYQ+S%Y5eD"QN-^[JcCZ.J,~> -li6qaVuQ_rgAgpJY5e=uR/d-cY5eJ$XoJ;!PlLOZJcC`0J,~> -li6qaVuQ_rgAgpJY5e=uR/d-cY5eJ$XoJ;!PlLOZJcC`0J,~> -li6qaVuQ_rgAgpJY5e=uR/d-cY5eJ$XoJ;!PlLOZJcC`0J,~> -li6qaVuQ_rh#I0MXT/.tQiI!aY5eJ$XT/5!P5k=XJcCf2J,~> -li6qaVuQ_rh#I0MXT/.tQiI!aY5eJ$XT/5!P5k=XJcCf2J,~> -li6qaVuQ_rh#I0MXT/.tQiI!aY5eJ$XT/5!P5k=XJcCf2J,~> -li6qaVuQ_rhZ*BOXT/+sQN-paXoJA#X8i+uOoP4WJcCl4J,~> -li6qaVuQ_rhZ*BOXT/+sQN-paXoJA#X8i+uOoP4WJcCl4J,~> -li6qaVuQ_rhZ*BOXT/+sQN-paXoJA#X8i+uOoP4WJcCl4J,~> -li6qaVuQ_riW&ZQX8i%sQ2gd_XoJA#WrN"tOT5(UJcCu7J,~> -li6qaVuQ_riW&ZQX8i%sQ2gd_XoJA#WrN"tOT5(UJcCu7J,~> -li6qaVuQ_riW&ZQX8i%sQ2gd_XoJA#WrN"tOT5(UJcCu7J,~> -li6qaVuQ_rj8\oTWrMqrPQ1U^XT/8"WW2nsNrSnTJcD&9J,~> -li6qaVuQ_rj8\oTWrMqrPQ1U^XT/8"WW2nsNrSnTJcD&9J,~> -li6qaVuQ_rj8\oTWrMqrPQ1U^XT/8"WW2nsNrSnTJcD&9J,~> -li6qaVuQ_rjo>,VWrMnqPQ1R]XT/8"WW2krNW8eSJcD,;J,~> -li6qaVuQ_rjo>,VWrMnqPQ1R]XT/8"WW2krNW8eSJcD,;J,~> -li6qaVuQ_rjo>,VWrMnqPQ1R]XT/8"WW2krNW8eSJcD,;J,~> -li6qaVuQ_rkPt>XWW2hqOoPC\X8i/!W;lbqN;rYQJcD5>J,~> -li6qaVuQ_rkPt>XWW2hqOoPC\X8i/!W;lbqN;rYQJcD5>J,~> -li6qaVuQ_rkPt>XWW2hqOoPC\X8i/!W;lbqN;rYQJcD5>J,~> -li6qaVuQ_rlMpVZWW2hqOT57ZX8i/!VuQYpMZ -li6qaVuQ_rlMpVZWW2hqOT57ZX8i/!VuQYpMZ -li6qaVuQ_rlMpVZWW2hqOT57ZX8i/!VuQYpMZ -li6qaVuQ_rqYpNqo`+^eW;l\oO8o1ZWrN%uVZ6PoM?!AOJcDABJ,~> -li6qaVuQ_rqYpNqo`+^eW;l\oO8o1ZWrN%uVZ6PoM?!AOJcDABJ,~> -li6qaVuQ_rqYpNqo`+^eW;l\oO8o1ZWrN%uVZ6PoM?!AOJcDABJ,~> -li6qaVuQ_rqYpNqpAapgVuQVoNrT%XWrN%uV>pGnM#[8NJcDGDJ,~> -li6qaVuQ_rqYpNqpAapgVuQVoNrT%XWrN%uV>pGnM#[8NJcDGDJ,~> -li6qaVuQ_rqYpNqpAapgVuQVoNrT%XWrN%uV>pGnM#[8NJcDGDJ,~> -li6qaVuQ_rqu?Zrq>^3iVuQSnNW8tXWW2qtV#UAnLB%#KJcDPGJ,~> -li6qaVuQ_rqu?Zrq>^3iVuQSnNW8tXWW2qtV#UAnLB%#KJcDPGJ,~> -li6qaVuQ_rqu?Zrq>^3iVuQSnNW8tXWW2qtV#UAnLB%#KJcDPGJ,~> -li6qaVuQ_rr;Z`rqu?HlV>pDmN;rhVWW2qtU]:8mK`CiJJcDVIJ,~> -li6qaVuQ_rr;Z`rqu?HlV>pDmN;rhVWW2qtU]:8mK`CiJJcDVIJ,~> -li6qaVuQ_rr;Z`rqu?HlV>pDmN;rhVWW2qtU]:8mK`CiJJcDVIJ,~> -li6qaVuQ_rrVufrrVuZnV>pDmMZ -li6qaVuQ_rrVufrrVuZnV>pDmMZ -li6qaVuQ_rrVufrrVuZnV>pDmMZ -li6qaVuQ_rrr;osrr;coV>pAlMZ -li6qaVuQ_rrr;osrr;coV>pAlMZ -li6qaVuQ_rrr;osrr;coV>pAlMZ -li6qaVuQ_rs8VZjV#U;lM#[GSVuQ_rU&Y#jJc>`Mq#H!GXoEn~> -li6qaVuQ_rs8VZjV#U;lM#[GSVuQ_rU&Y#jJc>`Mq#H!GXoEn~> -li6qaVuQ_rs8VZjV#U;lM#[GSVuQ_rU&Y#jJc>`Mq#H!GXoEn~> -li6qaVuQ_r!<;]lU]:/jM#[DRVuQ_rT`=oiJcGcMq#H!GYQ'+~> -li6qaVuQ_r!<;]lU]:/jM#[DRVuQ_rT`=oiJcGcMq#H!GYQ'+~> -li6qaVuQ_r!<;]lU]:/jM#[DRVuQ_rT`=oiJcGcMq#H!GYQ'+~> -li6qaoDedio)J^iqYpNqpAb'kpAY*mrr;rto)J:]UAt)jLB%5QVZ6VqTE"fhJcG`Lq#H!GZ2]=~> -li6qaoDedio)J^iqYpNqpAb'kpAY*mrr;rto)J:]UAt)jLB%5QVZ6VqTE"fhJcG`Lq#H!GZ2]=~> -li6qaoDedio)J^iqYpNqpAb'kpAY*mrr;rto)J:]UAt)jLB%5QVZ6VqTE"fhJcG`Lq#H!GZ2]=~> -li6qap&FgfrVufr!<;orrr;iqqZ$?kqu?Tp!<;oroDeI`UAt)jL&_)OVZ6VqT)\]gJcG]Kp],mF -[/YX~> -li6qap&FgfrVufr!<;orrr;iqqZ$?kqu?Tp!<;oroDeI`UAt)jL&_)OVZ6VqT)\]gJcG]Kp],mF -[/YX~> -li6qap&FgfrVufr!<;orrr;iqqZ$?kqu?Tp!<;oroDeI`UAt)jL&_)OVZ6VqT)\]gJcG]Kp],mF -[/YX~> -li6qapAb-mrVuisrr;Tj!<;ipr;Z`rrVuisrr;Qio`+RaV#U8kK`D#OV>pMpScAWgJcGTHq#H!G -[f:j~> -li6qapAb-mrVuisrr;Tj!<;ipr;Z`rrVuisrr;Qio`+RaV#U8kK`D#OV>pMpScAWgJcGTHq#H!G -[f:j~> -li6qapAb-mrVuisrr;Tj!<;ipr;Z`rrVuisrr;Qio`+RaV#U8kK`D#OV>pMpScAWgJcGTHq#H!G -[f:j~> -li6qapAb-mr;ZcsrVucqrVucqrVufrrVuisrVuisr;ZZprr;lrp&FXaVZ6MnKE(lMV>pMpSH&Nf -JcGQGq#H!G\Gq'~> -li6qapAb-mr;ZcsrVucqrVucqrVufrrVuisrVuisr;ZZprr;lrp&FXaVZ6MnKE(lMV>pMpSH&Nf -JcGQGq#H!G\Gq'~> -li6qapAb-mr;ZcsrVucqrVucqrVufrrVuisrVuisr;ZZprr;lrp&FXaVZ6MnKE(lMV>pMpSH&Nf -JcGQGq#H!G\Gq'~> -li6qap](3mr;Zcsr;Z`rr;Z]qr;Z]qrr;osrVufrrVufrqu?Wqp&FR_WrMqrJcG]LV#UDoS,`Ee -JcGNFq#H!G])R9~> -li6qap](3mr;Zcsr;Z`rr;Z]qr;Z]qrr;osrVufrrVufrqu?Wqp&FR_WrMqrJcG]LV#UDoS,`Ee -JcGNFq#H!G])R9~> -li6qap](3mr;Zcsr;Z`rr;Z]qr;Z]qrr;osrVufrrVufrqu?Wqp&FR_WrMqrJcG]LV#UDoS,`Ee -JcGNFq#H!G])R9~> -li6qap](0lpAb*lr;Z]qr;Z]qrVultr;Z]qrVufrqu?TppAaX_XoJ4tJcGZKV#UDoRfE -li6qap](0lpAb*lr;Z]qr;Z]qrVultr;Z]qrVufrqu?TppAaX_XoJ4tJcGZKV#UDoRfE -li6qap](0lpAb*lr;Z]qr;Z]qrVultr;Z]qrVufrqu?TppAaX_XoJ4tJcGZKV#UDoRfE -li6qapAb$jq#C -li6qapAb$jq#C -li6qapAb$jq#C -li6qap&FmhqZ$Npqu?Wqqu?WqqZ$?krVufrqu?TppAb*lU]:/jJcGcMr;`VmrW&AdquD -li6qap&FmhqZ$Npqu?Wqqu?WqqZ$?krVufrqu?TppAb*lU]:/jJcGcMr;`VmrW&AdquD -li6qap&FmhqZ$Npqu?Wqqu?WqqZ$?krVufrqu?TppAb*lU]:/jJcGcMr;`VmrW&AdquD -li6qao`+dgqu?Wqqu?Wqqu?Wqqu?Wqs8W#trVufrqu?TppAb*lV#U;lJcG]KrW&\mrW&>cquD -li6qao`+dgqu?Wqqu?Wqqu?Wqqu?Wqs8W#trVufrqu?TppAb*lV#U;lJcG]KrW&\mrW&>cquD -li6qao`+dgqu?Wqqu?Wqqu?Wqqu?Wqs8W#trVufrqu?TppAb*lV#U;lJcG]KrW&\mrW&>cquD -li6qaoDe[fr;Z`rqu?Wqqu?WqrVuisrVufrrVufrqu?TppAb*lVZ6MnJcGZJr;`SlrW&;bquD -li6qaoDe[fr;Z`rqu?Wqqu?WqrVuisrVufrrVufrqu?TppAb*lVZ6MnJcGZJr;`SlrW&;bquD -li6qaoDe[fr;Z`rqu?Wqqu?WqrVuisrVufrrVufrqu?TppAb*lVZ6MnJcGZJr;`SlrW&;bquD -li6qapAY*mrVucqrVuisqu?Wqqu?WqrVuisrVufrrVufrqu?TppAb*lW;l\oJcGWIrW&YlrW&8a -quD -li6qapAY*mrVucqrVuisqu?Wqqu?WqrVuisrVufrrVufrqu?TppAb*lW;l\oJcGWIrW&YlrW&8a -quD -li6qapAY*mrVucqrVuisqu?Wqqu?WqrVuisrVufrrVufrqu?TppAb*lW;l\oJcGWIrW&YlrW&8a -quD -li6qapAY*mr;Z]qrVuisqu?Wqqu?Wqrr;osrVufrrVufrqu?Wqp&G!kWW2hqJcGTHr;`PkrW&5` -r;_EKmf3(_JcEmmJ,~> -li6qapAY*mr;Z]qrVuisqu?Wqqu?Wqrr;osrVufrrVufrqu?Wqp&G!kWW2hqJcGTHr;`PkrW&5` -r;_EKmf3(_JcEmmJ,~> -li6qapAY*mr;Z]qrVuisqu?Wqqu?Wqrr;osrVufrrVufrqu?Wqp&G!kWW2hqJcGTHr;`PkrW&5` -r;_EKmf3(_JcEmmJ,~> -li6qapAY*mqu?WqrVuisqu?Wqqu?Wqrr;osrVufrrVufrqu?Wqp&G!kX8i"rJcGQGrW&VkrW&2_ -r;_EKmJlq]JcF!pJ,~> -li6qapAY*mqu?WqrVuisqu?Wqqu?Wqrr;osrVufrrVufrqu?Wqp&G!kX8i"rJcGQGrW&VkrW&2_ -r;_EKmJlq]JcF!pJ,~> -li6qapAY*mqu?WqrVuisqu?Wqqu?Wqrr;osrVufrrVufrqu?Wqp&G!kX8i"rJcGQGrW&VkrW&2_ -r;_EKmJlq]JcF!pJ,~> -li6qapAY*mqu?WqrVuisr;Z]qr;Z]qrr;osrr;lrrVufrr;Z`ro`+mjXT/.tJcGNFr;`MjrW&/^ -r;_EKli6b\JcF'rJ,~> -li6qapAY*mqu?WqrVuisr;Z]qr;Z]qrr;osrr;lrrVufrr;Z`ro`+mjXT/.tJcGNFr;`MjrW&/^ -r;_EKli6b\JcF'rJ,~> -li6qapAY*mqu?WqrVuisr;Z]qr;Z]qrr;osrr;lrrVufrr;Z`ro`+mjXT/.tJcGNFr;`MjrW&/^ -r;_EKli6b\JcF'rJ,~> -li6qapAb-mr;ZcsrVufrr;Z]qr;Z]qrr;Qis8Vusrr;rtoDediY5eA!JcGHDrW&SjrW&,]r;_EK -lMpY[JcF-tJ,~> -li6qapAb-mr;ZcsrVufrr;Z]qr;Z]qrr;Qis8Vusrr;rtoDediY5eA!JcGHDrW&SjrW&,]r;_EK -lMpY[JcF-tJ,~> -li6qapAb-mr;ZcsrVufrr;Z]qr;Z]qrr;Qis8Vusrr;rtoDediY5eA!JcGHDrW&SjrW&,]r;_EK -lMpY[JcF-tJ,~> -li6qapAapgrVu]os8Voqs8Voqs8Vrrs8W#trr;]mo)J[hYlFP"JcGHDr;`JirW&)\r;_EKl2UMY -JcF7"J,~> -li6qapAapgrVu]os8Voqs8Voqs8Vrrs8W#trr;]mo)J[hYlFP"JcGHDr;`JirW&)\r;_EKl2UMY -JcF7"J,~> -li6qapAapgrVu]os8Voqs8Voqs8Vrrs8W#trr;]mo)J[hYlFP"JcGHDr;`JirW&)\r;_EKl2UMY -JcF7"J,~> -li6qapAY0os8W&uhZ*TUr;Q`sr;Z]q!<<#unGiIfZ2a\$JcGBBrW&PirW&)\quDXJcF=$ -J,~> -li6qapAY0os8W&uhZ*TUr;Q`sr;Z]q!<<#unGiIfZ2a\$JcGBBrW&PirW&)\quDXJcF=$ -J,~> -li6qapAY0os8W&uhZ*TUr;Q`sr;Z]q!<<#unGiIfZ2a\$JcGBBrW&PirW&)\quDXJcF=$ -J,~> -li6qa_#O?5m/R%bZiBn&JcG?Ar;`GhrW&&[quD -li6qa_#O?5m/R%bZiBn&JcG?Ar;`GhrW&&[quD -li6qa_#O?5m/R%bZiBn&JcG?Ar;`GhrW&&[quD -li6qa_#O?5m/R%b[K$('JcG<@rW&MhrW&#ZquD,VJcFI(J,~> -li6qa_#O?5m/R%b[K$('JcG<@rW&MhrW&#ZquD,VJcFI(J,~> -li6qa_#O?5m/R%b[K$('JcG<@rW&MhrW&#ZquD,VJcFI(J,~> -li6qa_#O?5m/R%b[f?4)JcG9?r;`DgrW%uYquD -li6qa_#O?5m/R%b[f?4)JcG9?r;`DgrW%uYquD -li6qa_#O?5m/R%b[f?4)JcG9?r;`DgrW%uYquD -li6qa_#O?5m/R%b\GuC*JcG6>rW&JgrW%rXr;_EKiW&]RJcFX-J,~> -li6qa_#O?5m/R%b\GuC*JcG6>rW&JgrW%rXr;_EKiW&]RJcFX-J,~> -li6qa_#O?5m/R%b\GuC*JcG6>rW&JgrW%rXr;_EKiW&]RJcFX-J,~> -li6qa_#O?5m/R%b\c;O,JcG3=r;`AfrW%oWr;_EKi;`TQJcF^/J,~> -li6qa_#O?5m/R%b\c;O,JcG3=r;`AfrW%oWr;_EKi;`TQJcF^/J,~> -li6qa_#O?5m/R%b\c;O,JcG3=r;`AfrW%oWr;_EKi;`TQJcF^/J,~> -li6qa_Z0E3mf37d]Dqa.JcG-;rW&GfrW%lVr;_EKhuEHOJcFg2J,~> -li6qa_Z0E3mf37d]Dqa.JcG-;rW&GfrW%lVr;_EKhuEHOJcFg2J,~> -li6qa_Z0E3mf37d]Dqa.JcG-;rW&GfrW%lVr;_EKhuEHOJcFg2J,~> -li6qa_Z0B2n,N@e^&Rp/JcG-;r;`>erW%iUr;_EKh>d9NJcFm4J,~> -li6qa_Z0B2n,N@e^&Rp/JcG-;r;`>erW%iUr;_EKh>d9NJcFm4J,~> -li6qa_Z0B2n,N@e^&Rp/JcG-;r;`>erW%iUr;_EKh>d9NJcFm4J,~> -li6qaVuQ_r^An'1JcG'9rW&DerW%iUquD -li6qaVuQ_r^An'1JcG'9rW&DerW%iUquD -li6qaVuQ_r^An'1JcG'9rW&DerW%iUquD -li6qaVuQ_r_#O62JcG'9r;`;drW%fTquD -li6qaVuQ_r_#O62JcG'9r;`;drW%fTquD -li6qaVuQ_r_#O62JcG'9r;`;drW%fTquD -li6qaVuQ_r_>jB4JcG!7rW&AdrW%cSquD -li6qaVuQ_r_>jB4JcG!7rW&AdrW%cSquD -li6qaVuQ_r_>jB4JcG!7rW&AdrW%cSquD -li6qaVuQ_r_uKT6JcFs6r;`8crW%`RquD -li6qaVuQ_r_uKT6JcFs6r;`8crW%`RquD -li6qaVuQ_r_uKT6JcFs6r;`8crW%`RquD -li6qaVuQ_r`W,c7JcFp5rW&>crW%]QquD -li6qaVuQ_r`W,c7JcFp5rW&>crW%]QquD -li6qaVuQ_r`W,c7JcFp5rW&>crW%]QquD -li6qaVuQ_r`rGo9JcFm4r;`5brW%ZPr;_EKec5FFJcG?AJ,~> -li6qaVuQ_r`rGo9JcFm4r;`5brW%ZPr;_EKec5FFJcG?AJ,~> -li6qaVuQ_r`rGo9JcFm4r;`5brW%ZPr;_EKec5FFJcG?AJ,~> -li6qaVuQ_raT),;JcFg2rW&;brW%WOr;_EKeGo:DJcGHDJ,~> -li6qaVuQ_raT),;JcFg2rW&;brW%WOr;_EKeGo:DJcGHDJ,~> -li6qaVuQ_raT),;JcFg2rW&;brW%WOr;_EKeGo:DJcGHDJ,~> -li3XYb5_; -li3XYb5_; -li3XYb5_; -li3XYbQ%G>JcFa0rW&8arW%QMr;_EKdJs"BJcGTHJ,~> -li3XYbQ%G>JcFa0rW&8arW%QMr;_EKdJs"BJcGTHJ,~> -li3XYbQ%G>JcFa0rW&8arW%QMr;_EKdJs"BJcGTHJ,~> -li3XYc2[V?JcFa0r;`/`rW%QMquD -li3XYc2[V?JcFa0r;`/`rW%QMquD -li3XYc2[V?JcFa0r;`/`rW%QMquD -JcFC&qZ)3Ii;`cVQ2gg`JcGWJJcF$qq#H!Gs8RT~> -JcFC&qZ)3Ii;`cVQ2gg`JcGWJJcF$qq#H!Gs8RT~> -JcFC&qZ)3Ii;`cVQ2gg`JcGWJJcF$qq#H!Gs8RT~> -JcFI(qZ)3IhuEWTQ2gg`Jc>`MquDJcC6~> -JcFI(qZ)3IhuEWTQ2gg`Jc>`MquDJcC6~> -JcFI(qZ)3IhuEWTQ2gg`Jc>`MquDJcC6~> -JcFO*q>c*HhZ*QTPlL^_JcGcMquD -JcFO*q>c*HhZ*QTPlL^_JcGcMquD -JcFO*q>c*HhZ*QTPlL^_JcGcMquD -JcFR+qZ)3Ih>dERPlL^_JcG`LquD;LAuc~> -JcFR+qZ)3Ih>dERPlL^_JcG`LquD;LAuc~> -JcFR+qZ)3Ih>dERPlL^_JcG`LquD;LAuc~> -JcFX-q>c*Hh#I?RPQ1U^JcG]Kr;_EKaT)&9M#Vu~> -JcFX-q>c*Hh#I?RPQ1U^JcG]Kr;_EKaT)&9M#Vu~> -JcFX-q>c*Hh#I?RPQ1U^JcG]Kr;_EKaT)&9M#Vu~> -JcF[.qZ)3Ig].3PPQ1U^JcGZJr;_EKa8br8MZ82~> -JcF[.qZ)3Ig].3PPQ1U^JcGZJr;_EKa8br8MZ82~> -JcF[.qZ)3Ig].3PPQ1U^JcGZJr;_EKa8br8MZ82~> -JcFa0qZ)3Ig&M$OP5kL]JcGWIr;_EK`rGf6NW4M~> -JcFa0qZ)3Ig&M$OP5kL]JcGWIr;_EK`rGf6NW4M~> -JcFa0qZ)3Ig&M$OP5kL]JcGWIr;_EK`rGf6NW4M~> -JcFg2q>c*Hg&M!NP5kL]JcGTHr;_EK`;fW5O8j_~> -JcFg2q>c*Hg&M!NP5kL]JcGTHr;_EK`;fW5O8j_~> -JcFg2q>c*Hg&M!NP5kL]JcGTHr;_EK`;fW5O8j_~> -JcFj3qZ)3IfDkgMOoPC\JcGTHquD -JcFj3qZ)3IfDkgMOoPC\JcGTHquD -JcFj3qZ)3IfDkgMOoPC\JcGTHquD -JcFp5qZ)3If)P[KOoPC\JcGQGquD -JcFp5qZ)3If)P[KOoPC\JcGQGquD -JcFp5qZ)3If)P[KOoPC\JcGQGquD -JcG!7q>c*Hec5UKOT5:[JcGNFquDj91QN)I~> -JcG!7q>c*Hec5UKOT5:[JcGNFquDj91QN)I~> -JcG!7q>c*Hec5UKOT5:[JcGNFquDj91QN)I~> -JcG$8qZ)3IeGoIIOT5:[JcGKEquD -JcG$8qZ)3IeGoIIOT5:[JcGKEquD -JcG$8qZ)3IeGoIIOT5:[JcGKEquD -JcG*:q>c*HgA_-Qqu?WqO8o1ZJcGHDr;_EK^&Rm.Rf@m~> -JcG*:q>c*HgA_-Qqu?WqO8o1ZJcGHDr;_EK^&Rm.Rf@m~> -JcG*:q>c*HgA_-Qqu?WqO8o1ZJcGHDr;_EK^&Rm.Rf@m~> -JcG-;qZ)3If`1sOrVufrO8o1ZJcGECr;c]o!!%TM`;fW5SH"*~> -JcG-;qZ)3If`1sOrVufrO8o1ZJcGECr;c]o!!%TM`;fW5SH"*~> -JcG-;qZ)3If`1sOrVufrO8o1ZJcGECr;c]o!!%TM`;fW5SH"*~> -JcG3=qZ)3If)PaMrVuisNrT(Yr;Q`sJcGTHr;c`prr@WM_Z0E3TDsE~> -JcG3=qZ)3If)PaMrVuisNrT(Yr;Q`sJcGTHr;c`prr@WM_Z0E3TDsE~> -JcG3=qZ)3If)PaMrVuisNrT(Yr;Q`sJcGTHr;c`prr@WM_Z0E3TDsE~> -JcG9?q>c*Hec5UKs8W#tPlLa`rVuisrVultJcGQGr;ccqrr@WM_#O31U&TW~> -JcG9?q>c*Hec5UKs8W#tPlLa`rVuisrVultJcGQGr;ccqrr@WM_#O31U&TW~> -JcG9?q>c*Hec5UKs8W#tPlLa`rVuisrVultJcGQGr;ccqrr@WM_#O31U&TW~> -JcG<@qZ)3Ie,TCIs8W&uPQ1R]s8W&us8W&uJcGKEr;cfrrr@WM^An!/oD\djZN#F~> -JcG<@qZ)3Ie,TCIs8W&uPQ1R]s8W&us8W&uJcGKEr;cfrrr@WM^An!/oD\djZN#F~> -JcG<@qZ)3Ie,TCIs8W&uPQ1R]s8W&us8W&uJcGKEr;cfrrr@WM^An!/oD\djZN#F~> -JcGBBq>c*Hdf9+CP5kI\!<;ipJcGKEquHcsrW%NL]`7a,pAb-mZi>O~> -JcGBBq>c*Hdf9+CP5kI\!<;ipJcGKEquHcsrW%NL]`7a,pAb-mZi>O~> -JcGBBq>c*Hdf9+CP5kI\!<;ipJcGKEquHcsrW%NL]`7a,pAb-mZi>O~> -JcGECqZ)3Id/WqBOoP(SJcGECqu?`sr;_EK])VR+p](6n[/YX~> -JcGECqZ)3Id/WqBOoP(SJcGECqu?`sr;_EK])VR+p](6n[/YX~> -JcGECqZ)3Id/WqBOoP(SJcGECqu?`sr;_EK])VR+p](6n[/YX~> -li4*fi;`ZSJcF$qq>gKorW&;bp&K[Do`+[dJcE7[q#L6jrrBG+J,~> -li4*fi;`ZSJcF$qq>gKorW&;bp&K[Do`+[dJcE7[q#L6jrrBG+J,~> -li4*fi;`ZSJcF$qq>gKorW&;bp&K[Do`+[dJcE7[q#L6jrrBG+J,~> -li4*firAiTJcF!poDk3WpAfdEo)JLcJcE1Yq#L -li4*firAiTJcF!poDk3WpAfdEo)JLcJcE1Yq#L -li4*firAiTJcF!poDk3WpAfdEo)JLcJcE1Yq#L -li4*fj8\uVJcEpno`16Vp],mFnc/CbJcE.Xp]1 -li4*fj8\uVJcEpno`16Vp],mFnc/CbJcE.Xp]1 -li4*fj8\uVJcEpno`16Vp],mFnc/CbJcE.Xp]1 -li6qa[/^+*jo>2XJcEjlp&L -li6qa[/^+*jo>2XJcEjlp&L -li6qa[/^+*jo>2XJcEjlp&L -li6qa[/^+*kPtAYJcEgkp]-EUq>c*HpAa^aJcDtSoDlE$J,~> -li6qa[/^+*kPtAYJcEgkp]-EUq>c*HpAa^aJcDtSoDlE$J,~> -li6qa[/^+*kPtAYJcEgkp]-EUq>c*HpAa^aJcDtSoDlE$J,~> -li6qa[/^+*kl:M[JcEaiq#HKUqZ)3Io`+L_JcDqRo`2Q&J,~> -li6qa[/^+*kl:M[JcEaiq#HKUqZ)3Io`+L_JcDqRo`2Q&J,~> -li6qa[/^+*kl:M[JcEaiq#HKUqZ)3Io`+L_JcDqRo`2Q&J,~> -li6qa[/^+*lMp\\JcE^hq>cNTquD -li6qa[/^+*lMp\\JcE^hq>cNTquD -li6qa[/^+*lMp\\JcE^hq>cNTquD -li6qa[/^+*li6h^JcEXfquDZTr;_EKmJlt^JcDeNp].o*J,~> -li6qa[/^+*li6h^JcEXfquDZTr;_EKmJlt^JcDeNp].o*J,~> -li6qa[/^+*li6h^JcEXfquDZTr;_EKmJlt^JcDeNp].o*J,~> -li6qa[/^+*mJm%`JcERdr;_]SrW%NLli6h^JcDhOp&M`)J,~> -li6qa[/^+*mJm%`JcERdr;_]SrW%NLli6h^JcDhOp&M`)J,~> -li6qa[/^+*mJm%`JcERdr;_]SrW%NLli6h^JcDhOp&M`)J,~> -li6qa[/^+*n,N4aN;ne9iW"f9iW"f9NrP";s8RT~> -li6qa[/^+*n,N4aN;ne9iW"f9iW"f9NrP";s8RT~> -li6qa[/^+*n,N4aN;ne9iW"f9iW"f9NrP";s8RT~> -li6qa[/^+*nGi@cMZ8S7iW"f9iW"f9NrP";s8RT~> -li6qa[/^+*nGi@cMZ8S7iW"f9iW"f9NrP";s8RT~> -li6qa[/^+*nGi@cMZ8S7iW"f9iW"f9NrP";s8RT~> -li6qa[/^+*o)JReM#WA5iW"f9iW"f9NrP";s8RT~> -li6qa[/^+*o)JReM#WA5iW"f9iW"f9NrP";s8RT~> -li6qa[/^+*o)JReM#WA5iW"f9iW"f9NrP";s8RT~> -li6qa[/^+*o`+afL]@>ROoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^+*o`+afL]@>ROoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^+*o`+afL]@>ROoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^+*s8N'!q#C3kL&_,POoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^+*s8N'!q#C3kL&_,POoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^+*s8N'!q#C3kL&_,POoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^+*!ri6#qZ$BlK`D#OOoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^+*!ri6#qZ$BlK`D#OOoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^+*!ri6#qZ$BlK`D#OOoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^"'qu?NnK)bfMOoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^"'qu?NnK)bfMOoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^"'qu?NnK)bfMOoPC\iW&lWOoPC\iW&lWOoPC\NrT(YOoPC\s8RT~> -li6qa[/^"'rVu`pJc>`MrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^"'rVu`pJc>`MrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^"'rVu`pJc>`MrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^"'s8VoqJcGcMrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^"'s8VoqJcGcMrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^"'s8VoqJcGcMrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^"'!<;orJcG]KrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^"'!<;orJcG]KrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^"'!<;orJcG]KrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/]e!JcGZJrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/]e!JcGZJrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/]e!JcGZJrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/]k#JcGTHrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/]k#JcGTHrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/]k#JcGTHrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/]q%JcGNFrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/]q%JcGNFrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/]q%JcGNFrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qaoDedip\t?rs8N'!lMgharr;uuo)JLcJcGKErW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\ -rW)uuJ,~> -li6qaoDedip\t?rs8N'!lMgharr;uuo)JLcJcGKErW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\ -rW)uuJ,~> -li6qaoDedip\t?rs8N'!lMgharr;uuo)JLcJcGKErW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\ -rW)uuJ,~> -li6qap&FgfrVufr!<;cnrr;lrr;Z]q!<;orp&F^cJcGQGrW&)\rW(pWrW&)\rW(pWrW&)\rW%uY -rW&)\rW)uuJ,~> -li6qap&FgfrVufr!<;cnrr;lrr;Z]q!<;orp&F^cJcGQGrW&)\rW(pWrW&)\rW(pWrW&)\rW%uY -rW&)\rW)uuJ,~> -li6qap&FgfrVufr!<;cnrr;lrr;Z]q!<;orp&F^cJcGQGrW&)\rW(pWrW&)\rW(pWrW&)\rW%uY -rW&)\rW)uuJ,~> -li6qapAb-mrVuiss8V`l!<;utr;Z`rrr;QipAaabJcGWIrW)-]rrB_3rrD]krW(pWrW)-]rrB_3 -rrD]krW(pWrW)-]rrB_3rrD]krW%uYrW)*\rrB_3rrD`lrW)uuJ,~> -li6qapAb-mrVuiss8V`l!<;utr;Z`rrr;QipAaabJcGWIrW)-]rrB_3rrD]krW(pWrW)-]rrB_3 -rrD]krW(pWrW)-]rrB_3rrD]krW%uYrW)*\rrB_3rrD`lrW)uuJ,~> -li6qapAb-mrVuiss8V`l!<;utr;Z`rrr;QipAaabJcGWIrW)-]rrB_3rrD]krW(pWrW)-]rrB_3 -rrD]krW(pWrW)-]rrB_3rrD]krW%uYrW)*\rrB_3rrD`lrW)uuJ,~> -li6qapAb-mr;ZcsrVucq!<<#us8W#tr;Z`rr;ZZprVuisp]'a`JcG]KrW)6`quFM3quHBhrW(pW -rW)6`quFM3quHBhrW(pWrW)6`quFM3quHBhrW%uYrW)3_quFM3quHEirW)uuJ,~> -li6qapAb-mr;ZcsrVucq!<<#us8W#tr;Z`rr;ZZprVuisp]'a`JcG]KrW)6`quFM3quHBhrW(pW -rW)6`quFM3quHBhrW(pWrW)6`quFM3quHBhrW%uYrW)3_quFM3quHEirW)uuJ,~> -li6qapAb-mr;ZcsrVucq!<<#us8W#tr;Z`rr;ZZprVuisp]'a`JcG]KrW)6`quFM3quHBhrW(pW -rW)6`quFM3quHBhrW(pWrW)6`quFM3quHBhrW%uYrW)3_quFM3quHEirW)uuJ,~> -li6qap](3mr;ZcsrVufrqZ$Kor;Z`rr;Z]qr;Z`rq#BsdJcGQGrW)9aqZ+D2quHBhrW(pWrW)9a -qZ+D2quHBhrW(pWrW)9aqZ+D2quHBhrW%uYrW)6`qZ+D2quHEirW)uuJ,~> -li6qap](3mr;ZcsrVufrqZ$Kor;Z`rr;Z]qr;Z`rq#BsdJcGQGrW)9aqZ+D2quHBhrW(pWrW)9a -qZ+D2quHBhrW(pWrW)9aqZ+D2quHBhrW%uYrW)6`qZ+D2quHEirW)uuJ,~> -li6qap](3mr;ZcsrVufrqZ$Kor;Z`rr;Z]qr;Z`rq#BsdJcGQGrW)9aqZ+D2quHBhrW(pWrW)9a -qZ+D2quHBhrW(pWrW)9aqZ+D2quHBhrW%uYrW)6`qZ+D2quHEirW)uuJ,~> -li6qap](0lp](0lqZ$Kor;Z`rqu?Wqr;Z]qq>^Eo!<<#uJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^ -rW'Y3rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qap](0lp](0lqZ$Kor;Z`rqu?Wqr;Z]qq>^Eo!<<#uJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^ -rW'Y3rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qap](0lp](0lqZ$Kor;Z`rqu?Wqr;Z]qq>^Eo!<<#uJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^ -rW'Y3rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qapAb$jq>^BnqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^rW'Y3 -rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qapAb$jq>^BnqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^rW'Y3 -rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qapAb$jq>^BnqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^rW'Y3 -rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qap&Fmhqu?TpqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^rW'Y3 -rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qap&Fmhqu?TpqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^rW'Y3 -rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qap&Fmhqu?TpqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^rW'Y3 -rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qao`+dgr;Z]qqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^rW'Y3 -rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qao`+dgr;Z]qqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^rW'Y3 -rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qao`+dgr;Z]qqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)0^rW'Y3rW)TjrW(pWrW)0^rW'Y3 -rW)TjrW(pWrW)0^rW'Y3rW)TjrW%uYrW)-]rW'Y3rW)WkrW)uuJ,~> -li6qaoDe[frVufrqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)QirW)corW)0^"9AK%!!)`mrrDoq -!!)]lrW)uurW)TjrW(pWrW)QirW)corW)0^"9AK%!!)`mrrDoq!!)]lrW)uurW)TjrW(pWrW)Qi -rW)corW)0^"9AK%!!)`mrrDoq!!)]lrW)uurW)TjrW%uYrW)NhrW)corW)0^"9AK%!!)`mrrDoq -!!)]lrW)uurW)WkrW)uuJ,~> -li6qaoDe[frVufrqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)QirW)corW)0^"9AK%!!)`mrrDoq -!!)]lrW)uurW)TjrW(pWrW)QirW)corW)0^"9AK%!!)`mrrDoq!!)]lrW)uurW)TjrW(pWrW)Qi -rW)corW)0^"9AK%!!)`mrrDoq!!)]lrW)uurW)TjrW%uYrW)NhrW)corW)0^"9AK%!!)`mrrDoq -!!)]lrW)uurW)WkrW)uuJ,~> -li6qaoDe[frVufrqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)QirW)corW)0^"9AK%!!)`mrrDoq -!!)]lrW)uurW)TjrW(pWrW)QirW)corW)0^"9AK%!!)`mrrDoq!!)]lrW)uurW)TjrW(pWrW)Qi -rW)corW)0^"9AK%!!)`mrrDoq!!)]lrW)uurW)TjrW%uYrW)NhrW)corW)0^"9AK%!!)`mrrDoq -!!)]lrW)uurW)WkrW)uuJ,~> -li6qapAY*mrVucqrr;osqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)Wkq#L?mrW)osqZ-WqquH]q -r;Zitr;cltr;ZitqZ-WqqZ-HlpAjjcrW(pWrW)Wkq#L?mrW)osqZ-WqquH]qr;Zitr;cltr;Zit -qZ-WqqZ-HlpAjjcrW(pWrW)Wkq#L?mrW)osqZ-WqquH]qr;Zitr;cltr;ZitqZ-WqqZ-HlpAjjc -rW%uYrW)Tjq#L?mrW)rtqZ-WqquHZpr;Zitr;cltr;ZitqZ-WqqZ-HlpAjmdrW)uuJ,~> -li6qapAY*mrVucqrr;osqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)Wkq#L?mrW)osqZ-WqquH]q -r;Zitr;cltr;ZitqZ-WqqZ-HlpAjjcrW(pWrW)Wkq#L?mrW)osqZ-WqquH]qr;Zitr;cltr;Zit -qZ-WqqZ-HlpAjjcrW(pWrW)Wkq#L?mrW)osqZ-WqquH]qr;Zitr;cltr;ZitqZ-WqqZ-HlpAjjc -rW%uYrW)Tjq#L?mrW)rtqZ-WqquHZpr;Zitr;cltr;ZitqZ-WqqZ-HlpAjmdrW)uuJ,~> -li6qapAY*mrVucqrr;osqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)Wkq#L?mrW)osqZ-WqquH]q -r;Zitr;cltr;ZitqZ-WqqZ-HlpAjjcrW(pWrW)Wkq#L?mrW)osqZ-WqquH]qr;Zitr;cltr;Zit -qZ-WqqZ-HlpAjjcrW(pWrW)Wkq#L?mrW)osqZ-WqquH]qr;Zitr;cltr;ZitqZ-WqqZ-HlpAjjc -rW%uYrW)Tjq#L?mrW)rtqZ-WqquHZpr;Zitr;cltr;ZitqZ-WqqZ-HlpAjmdrW)uuJ,~> -li6qapAY*mr;Z]qrr;osqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)ZlrrE#trW)lrrW)iqr;ccq -rW)uukPtV_q#L -li6qapAY*mr;Z]qrr;osqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)ZlrrE#trW)lrrW)iqr;ccq -rW)uukPtV_q#L -li6qapAY*mr;Z]qrr;osqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)ZlrrE#trW)lrrW)iqr;ccq -rW)uukPtV_q#L -li6qapAY*mqu?Wqrr;osqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)ZlrrDusrrDusrW)iqr;ccq -rW)osqu?`srW)uuquH]qquH]qr;cfrrW)iqrW)TjrW(pWrW)ZlrrDusrrDusrW)iqr;ccqrW)os -qu?`srW)uuquH]qquH]qr;cfrrW)iqrW)TjrW(pWrW)ZlrrDusrrDusrW)iqr;ccqrW)osqu?`s -rW)uuquH]qquH]qr;cfrrW)iqrW)TjrW%uYrW)WkrrDusrrDusrW)lrr;ccqrW)lrqu?`srW)uu -quH]qquH]qr;cfrrW)iqrW)WkrW)uuJ,~> -li6qapAY*mqu?Wqrr;osqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)ZlrrDusrrDusrW)iqr;ccq -rW)osqu?`srW)uuquH]qquH]qr;cfrrW)iqrW)TjrW(pWrW)ZlrrDusrrDusrW)iqr;ccqrW)os -qu?`srW)uuquH]qquH]qr;cfrrW)iqrW)TjrW(pWrW)ZlrrDusrrDusrW)iqr;ccqrW)osqu?`s -rW)uuquH]qquH]qr;cfrrW)iqrW)TjrW%uYrW)WkrrDusrrDusrW)lrr;ccqrW)lrqu?`srW)uu -quH]qquH]qr;cfrrW)iqrW)WkrW)uuJ,~> -li6qapAY*mqu?Wqrr;osqZ$Kor;Z`rqu?Wqr;Z]qp&G!kJcG?ArW)ZlrrDusrrDusrW)iqr;ccq -rW)osqu?`srW)uuquH]qquH]qr;cfrrW)iqrW)TjrW(pWrW)ZlrrDusrrDusrW)iqr;ccqrW)os -qu?`srW)uuquH]qquH]qr;cfrrW)iqrW)TjrW(pWrW)ZlrrDusrrDusrW)iqr;ccqrW)osqu?`s -rW)uuquH]qquH]qr;cfrrW)iqrW)TjrW%uYrW)WkrrDusrrDusrW)lrr;ccqrW)lrqu?`srW)uu -quH]qquH]qr;cfrrW)iqrW)WkrW)uuJ,~> -li6qapAY*mqu?Wqrr;osqZ$KorVufrr;Z]qr;Z]qp&G!kJcG?ArW)]mrW)lrrrDusrW)iqr;ccq -rW)osr;cZnrW)lrr;ccqr;cfrrW)iqrW)TjrW(pWrW)]mrW)lrrrDusrW)iqr;ccqrW)osr;cZn -rW)lrr;ccqr;cfrrW)iqrW)TjrW(pWrW)]mrW)lrrrDusrW)iqr;ccqrW)osr;cZnrW)lrr;ccq -r;cfrrW)iqrW)TjrW%uYrW)ZlrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfrrW)iq -rW)WkrW)uuJ,~> -li6qapAY*mqu?Wqrr;osqZ$KorVufrr;Z]qr;Z]qp&G!kJcG?ArW)]mrW)lrrrDusrW)iqr;ccq -rW)osr;cZnrW)lrr;ccqr;cfrrW)iqrW)TjrW(pWrW)]mrW)lrrrDusrW)iqr;ccqrW)osr;cZn -rW)lrr;ccqr;cfrrW)iqrW)TjrW(pWrW)]mrW)lrrrDusrW)iqr;ccqrW)osr;cZnrW)lrr;ccq -r;cfrrW)iqrW)TjrW%uYrW)ZlrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfrrW)iq -rW)WkrW)uuJ,~> -li6qapAY*mqu?Wqrr;osqZ$KorVufrr;Z]qr;Z]qp&G!kJcG?ArW)]mrW)lrrrDusrW)iqr;ccq -rW)osr;cZnrW)lrr;ccqr;cfrrW)iqrW)TjrW(pWrW)]mrW)lrrrDusrW)iqr;ccqrW)osr;cZn -rW)lrr;ccqr;cfrrW)iqrW)TjrW(pWrW)]mrW)lrrrDusrW)iqr;ccqrW)osr;cZnrW)lrr;ccq -r;cfrrW)iqrW)TjrW%uYrW)ZlrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfrrW)iq -rW)WkrW)uuJ,~> -li6qapAb-mr;ZcsrVufrq>^9k!<;rsrr;osr;Z]qp&G!kJcG?ArW)]mr;cQkrW)iqr;ccqrW)os -r;cZnrW)lrr;ccqr;cisrW)fprW)TjrW(pWrW)]mr;cQkrW)iqr;ccqrW)osr;cZnrW)lrr;ccq -r;cisrW)fprW)TjrW(pWrW)]mr;cQkrW)iqr;ccqrW)osr;cZnrW)lrr;ccqr;cisrW)fprW)Tj -rW%uYrW)Zlr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fprW)WkrW)uuJ,~> -li6qapAb-mr;ZcsrVufrq>^9k!<;rsrr;osr;Z]qp&G!kJcG?ArW)]mr;cQkrW)iqr;ccqrW)os -r;cZnrW)lrr;ccqr;cisrW)fprW)TjrW(pWrW)]mr;cQkrW)iqr;ccqrW)osr;cZnrW)lrr;ccq -r;cisrW)fprW)TjrW(pWrW)]mr;cQkrW)iqr;ccqrW)osr;cZnrW)lrr;ccqr;cisrW)fprW)Tj -rW%uYrW)Zlr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fprW)WkrW)uuJ,~> -li6qapAb-mr;ZcsrVufrq>^9k!<;rsrr;osr;Z]qp&G!kJcG?ArW)]mr;cQkrW)iqr;ccqrW)os -r;cZnrW)lrr;ccqr;cisrW)fprW)TjrW(pWrW)]mr;cQkrW)iqr;ccqrW)osr;cZnrW)lrr;ccq -r;cisrW)fprW)TjrW(pWrW)]mr;cQkrW)iqr;ccqrW)osr;cZnrW)lrr;ccqr;cisrW)fprW)Tj -rW%uYrW)Zlr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fprW)WkrW)uuJ,~> -li6qapAapgrr;coqZ$Hns8W&urVu]os8VrrpAb*lJcG?ArW)ZlquHNlrW)iqr;ccqrW)osr;cZn -rW)lrr;c`prW)rtrW)fprW)TjrW(pWrW)ZlquHNlrW)iqr;ccqrW)osr;cZnrW)lrr;c`prW)rt -rW)fprW)TjrW(pWrW)ZlquHNlrW)iqr;ccqrW)osr;cZnrW)lrr;c`prW)rtrW)fprW)TjrW%uY -rW)WkquHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)fprW)WkrW)uuJ,~> -li6qapAapgrr;coqZ$Hns8W&urVu]os8VrrpAb*lJcG?ArW)ZlquHNlrW)iqr;ccqrW)osr;cZn -rW)lrr;c`prW)rtrW)fprW)TjrW(pWrW)ZlquHNlrW)iqr;ccqrW)osr;cZnrW)lrr;c`prW)rt -rW)fprW)TjrW(pWrW)ZlquHNlrW)iqr;ccqrW)osr;cZnrW)lrr;c`prW)rtrW)fprW)TjrW%uY -rW)WkquHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)fprW)WkrW)uuJ,~> -li6qapAapgrr;coqZ$Hns8W&urVu]os8VrrpAb*lJcG?ArW)ZlquHNlrW)iqr;ccqrW)osr;cZn -rW)lrr;c`prW)rtrW)fprW)TjrW(pWrW)ZlquHNlrW)iqr;ccqrW)osr;cZnrW)lrr;c`prW)rt -rW)fprW)TjrW(pWrW)ZlquHNlrW)iqr;ccqrW)osr;cZnrW)lrr;c`prW)rtrW)fprW)TjrW%uY -rW)WkquHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)fprW)WkrW)uuJ,~> -li6qapAY0os8W&um/R%brr2ruiW&lWJcG?ArW)WkqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iq -rW)rtrW)fprW)TjrW(pWrW)WkqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)Tj -rW(pWrW)WkqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)TjrW%uYrW)TjqZ-Km -rW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)fprW)WkrW)uuJ,~> -li6qapAY0os8W&um/R%brr2ruiW&lWJcG?ArW)WkqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iq -rW)rtrW)fprW)TjrW(pWrW)WkqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)Tj -rW(pWrW)WkqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)TjrW%uYrW)TjqZ-Km -rW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)fprW)WkrW)uuJ,~> -li6qapAY0os8W&um/R%brr2ruiW&lWJcG?ArW)WkqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iq -rW)rtrW)fprW)TjrW(pWrW)WkqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)Tj -rW(pWrW)WkqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)TjrW%uYrW)TjqZ-Km -rW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)fprW)WkrW)uuJ,~> -li6qa[/^+*JcG?ArW)TjqZ-NnrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pW -rW)TjqZ-NnrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pWrW)TjqZ-NnrW)iq -r;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW%uYrW)QiqZ-NnrW)lrr;ccqrW)lrr;cZn -rW)iqrW)iqrW)uur;c]orW)WkrW)uuJ,~> -li6qa[/^+*JcG?ArW)TjqZ-NnrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pW -rW)TjqZ-NnrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pWrW)TjqZ-NnrW)iq -r;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW%uYrW)QiqZ-NnrW)lrr;ccqrW)lrr;cZn -rW)iqrW)iqrW)uur;c]orW)WkrW)uuJ,~> -li6qa[/^+*JcG?ArW)TjqZ-NnrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pW -rW)TjqZ-NnrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pWrW)TjqZ-NnrW)iq -r;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW%uYrW)QiqZ-NnrW)lrr;ccqrW)lrr;cZn -rW)iqrW)iqrW)uur;c]orW)WkrW)uuJ,~> -li6qa[/^+*JcG?ArW)QiqZ-QorW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pW -rW)QiqZ-QorW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pWrW)QiqZ-QorW)iq -r;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW)!Y!!)cn!!)cnrrDio!!)cn!!)cnrrD0\ -rW)NhqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;c]orW)WkrW)uuJ,~> -li6qa[/^+*JcG?ArW)QiqZ-QorW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pW -rW)QiqZ-QorW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pWrW)QiqZ-QorW)iq -r;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW)!Y!!)cn!!)cnrrDio!!)cn!!)cnrrD0\ -rW)NhqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;c]orW)WkrW)uuJ,~> -li6qa[/^+*JcG?ArW)QiqZ-QorW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pW -rW)QiqZ-QorW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW(pWrW)QiqZ-QorW)iq -r;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)TjrW)!Y!!)cn!!)cnrrDio!!)cn!!)cnrrD0\ -rW)NhqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;c]orW)WkrW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)Tj -rW(pWrW)Zl!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)TjrW(pWrW)Zl -!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)TjrW)$ZrW)corW)cor;c]o -rW)corW)cor;c![rW)Wk!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)fprW)Wk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)Tj -rW(pWrW)Zl!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)TjrW(pWrW)Zl -!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)TjrW)$ZrW)corW)cor;c]o -rW)corW)cor;c![rW)Wk!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)fprW)Wk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)Tj -rW(pWrW)Zl!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)TjrW(pWrW)Zl -!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)TjrW)$ZrW)corW)cor;c]o -rW)corW)cor;c![rW)Wk!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)fprW)Wk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)Tj -rW(pWrW)Zl!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW(pWrW)Zl -!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW)'[quHWoquHTnr;c`p -quHWoquHTnr;c![rW)Wk!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtr;c`prW)Wk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)Tj -rW(pWrW)Zl!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW(pWrW)Zl -!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW)'[quHWoquHTnr;c`p -quHWoquHTnr;c![rW)Wk!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtr;c`prW)Wk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)Tj -rW(pWrW)Zl!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW(pWrW)Zl -!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW)'[quHWoquHTnr;c`p -quHWoquHTnr;c![rW)Wk!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtr;c`prW)Wk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)Tj -rW(pWrW)Zl!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW(pWrW)Zl -!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW)$ZrW)cor;c]or;c]o -rW)cor;c]or;c![rW)Wk!!)orrW)osrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtr;c`prW)Wk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)Tj -rW(pWrW)Zl!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW(pWrW)Zl -!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW)$ZrW)cor;c]or;c]o -rW)cor;c]or;c![rW)Wk!!)orrW)osrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtr;c`prW)Wk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)Tj -rW(pWrW)Zl!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW(pWrW)Zl -!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)TjrW)$ZrW)cor;c]or;c]o -rW)cor;c]or;c![rW)Wk!!)orrW)osrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtr;c`prW)Wk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;cNj -rW(pWrW)Zl!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;cNjrW(pWrW)Zl -!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;cNjrW)!Y!!)cn!!)cnrrDio -!!)cn!!)cnrrD0\rW)Wk!!)orrW)osrW)lrr;cfrr;ccqr;cZnrW)lrr;ccqr;cfrr;ccqr;cQk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;cNj -rW(pWrW)Zl!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;cNjrW(pWrW)Zl -!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;cNjrW)!Y!!)cn!!)cnrrDio -!!)cn!!)cnrrD0\rW)Wk!!)orrW)osrW)lrr;cfrr;ccqr;cZnrW)lrr;ccqr;cfrr;ccqr;cQk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;cNj -rW(pWrW)Zl!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;cNjrW(pWrW)Zl -!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;cNjrW)!Y!!)cn!!)cnrrDio -!!)cn!!)cnrrD0\rW)Wk!!)orrW)osrW)lrr;cfrr;ccqr;cZnrW)lrr;ccqr;cfrr;ccqr;cQk -rW)uuJ,~> -li6qa[/^+*JcG?ArW)ZlrrDusrrDusr;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDnUbrW(pW -rW)ZlrrDusrrDusr;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDnUbrW(pWrW)ZlrrDusrrDus -r;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDnUbrW%uYrW)WkrrDusrrDusr;ccqq>^NqquH`r -r;c]or;ccqr;ccqr;ccqoDnXcrW)uuJ,~> -li6qa[/^+*JcG?ArW)ZlrrDusrrDusr;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDnUbrW(pW -rW)ZlrrDusrrDusr;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDnUbrW(pWrW)ZlrrDusrrDus -r;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDnUbrW%uYrW)WkrrDusrrDusr;ccqq>^NqquH`r -r;c]or;ccqr;ccqr;ccqoDnXcrW)uuJ,~> -li6qa[/^+*JcG?ArW)ZlrrDusrrDusr;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDnUbrW(pW -rW)ZlrrDusrrDusr;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDnUbrW(pWrW)ZlrrDusrrDus -r;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDnUbrW%uYrW)WkrrDusrrDusr;ccqq>^NqquH`r -r;c]or;ccqr;ccqr;ccqoDnXcrW)uuJ,~> -li6qa[/^+*JcG?ArW)Zlq#LBnq>gEmquHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;cNjrW(pW -rW)Zlq#LBnq>gEmquHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;cNjrW(pWrW)Zlq#LBnq>gEm -quHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;cNjrW%uYrW)Wkq#LBnq>gHnquHcsrW)rtq#LBn -q>gQqq>gQqq>gKoqZ$Wrr;cQkrW)uuJ,~> -li6qa[/^+*JcG?ArW)Zlq#LBnq>gEmquHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;cNjrW(pW -rW)Zlq#LBnq>gEmquHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;cNjrW(pWrW)Zlq#LBnq>gEm -quHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;cNjrW%uYrW)Wkq#LBnq>gHnquHcsrW)rtq#LBn -q>gQqq>gQqq>gKoqZ$Wrr;cQkrW)uuJ,~> -li6qa[/^+*JcG?ArW)Zlq#LBnq>gEmquHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;cNjrW(pW -rW)Zlq#LBnq>gEmquHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;cNjrW(pWrW)Zlq#LBnq>gEm -quHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;cNjrW%uYrW)Wkq#LBnq>gHnquHcsrW)rtq#LBn -q>gQqq>gQqq>gKoqZ$Wrr;cQkrW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!W`9#rW)?crW)rt!!(IIrrE&u!!)TirW(pWrW)Zl!W`9#rW)?crW)rt -!!(IIrrE&u!!)TirW(pWrW)Zl!W`9#rW)?crW)rt!!(IIrrE&u!!)TirW%uYrW)Wk!W`9#rW)Bd -rW)rt!!(FHrrE&u!!)WjrW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!W`9#rW)?crW)rt!!(IIrrE&u!!)TirW(pWrW)Zl!W`9#rW)?crW)rt -!!(IIrrE&u!!)TirW(pWrW)Zl!W`9#rW)?crW)rt!!(IIrrE&u!!)TirW%uYrW)Wk!W`9#rW)Bd -rW)rt!!(FHrrE&u!!)WjrW)uuJ,~> -li6qa[/^+*JcG?ArW)Zl!W`9#rW)?crW)rt!!(IIrrE&u!!)TirW(pWrW)Zl!W`9#rW)?crW)rt -!!(IIrrE&u!!)TirW(pWrW)Zl!W`9#rW)?crW)rt!!(IIrrE&u!!)TirW%uYrW)Wk!W`9#rW)Bd -rW)rt!!(FHrrE&u!!)WjrW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qa[/^+*JcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qair8uYeGoLJJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qair8uYeGoLJJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li6qair8uYeGoLJJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li4*fJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li4*fJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li4*fJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li4*fJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li4*fJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li4*fJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li4*fJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li4*fJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -li4*fJcG?ArW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -b5_A>JcEairW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -b5_A>JcEairW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -b5_A>JcEairW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -bQ%D=JcEdjrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -bQ%D=JcEdjrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -bQ%D=JcEdjrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -bQ%D=JcEdjrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -bQ%D=JcEdjrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -bQ%D=JcEdjrW&)\rW(pWrW&)\rW(pWrW&)\rW%uYrW&)\rW)uuJ,~> -bQ%A -bQ%A -bQ%A -bl@G -bl@G -bl@G -bl@D;JcEjlMZD`9MZD`9MZAe;MZEeWJ,~> -bl@D;JcEjlMZD`9MZD`9MZAe;MZEeWJ,~> -bl@D;JcEjlMZD`9MZD`9MZAe;MZEeWJ,~> -c2[G:JcEmmMZD`9MZD`9MZAe;MZEeWJ,~> -c2[G:JcEmmMZD`9MZD`9MZAe;MZEeWJ,~> -c2[G:JcEmmMZD`9MZD`9MZAe;MZEeWJ,~> -c2[G:JcEmmMZD`9MZD`9MZAe;MZEeWJ,~> -c2[G:JcEmmMZD`9MZD`9MZAe;MZEeWJ,~> -c2[G:JcEmmMZD`9MZD`9MZAe;MZEeWJ,~> -c2[D9JcCo5r;_EKn,N=dJcG3=r;_EKSH&Kea8^Y~> -c2[D9JcCo5r;_EKn,N=dJcG3=r;_EKSH&Kea8^Y~> -c2[D9JcCo5r;_EKn,N=dJcG3=r;_EKSH&Kea8^Y~> -cN!hCs8W&us8W&uJcCr6qZ)3Inc/IdJcG9?qZ)3IScATfa8^Y~> -cN!hCs8W&us8W&uJcCr6qZ)3Inc/IdJcG9?qZ)3IScATfa8^Y~> -cN!hCs8W&us8W&uJcCr6qZ)3Inc/IdJcG9?qZ)3IScATfa8^Y~> -cN!nErVuisrVultJcD#8q>c*Ho)JOdJcG<@q>c*HT)\Zfa8^Y~> -cN!nErVuisrVultJcD#8q>c*Ho)JOdJcG<@q>c*HT)\Zfa8^Y~> -cN!nErVuisrVultJcD#8q>c*Ho)JOdJcG<@q>c*HT)\Zfa8^Y~> -ci="Fr;Z]qJcCl4q#H!Go)JOdJcG<@q>c*HTE"]eaT$b~> -ci="Fr;Z]qJcCl4q#H!Go)JOdJcG<@q>c*HTE"]eaT$b~> -ci="Fr;Z]qJcCl4q#H!Go)JOdJcG<@q>c*HTE"]eaT$b~> -a8c,=JcCl4p],mFo`+[dJcGBBp],mFU&XlfaT$b~> -a8c,=JcCl4p],mFo`+[dJcGBBp],mFU&XlfaT$b~> -a8c,=JcCl4p],mFo`+[dJcGBBp],mFU&XlfaT$b~> -a8c,=JcCo5pAfdEp&FadJcGECpAfdEU&XlfaT$b~> -a8c,=JcCo5pAfdEp&FadJcGECpAfdEU&XlfaT$b~> -a8c,=JcCo5pAfdEp&FadJcGECpAfdEU&XlfaT$b~> -a8c) -a8c) -a8c) -a8c) -a8c) -a8c) -`rH#^NqquD -`rH#^NqquD -`rH#^NqquD -`rH#pMp!<;uts8W#t -b5Zt~> -`rH#pMp!<;uts8W#t -b5Zt~> -`rH#pMp!<;uts8W#t -b5Zt~> -`rGu;JcD,;!!*#ur;cfrrW%NLq>^Hps8W#trVuisJcGTHrrE&urW)osrW%NLVuQbsrr;rtrVuis -b5Zt~> -`rGu;JcD,;!!*#ur;cfrrW%NLq>^Hps8W#trVuisJcGTHrrE&urW)osrW%NLVuQbsrr;rtrVuis -b5Zt~> -`rGu;JcD,;!!*#ur;cfrrW%NLq>^Hps8W#trVuisJcGTHrrE&urW)osrW%NLVuQbsrr;rtrVuis -b5Zt~> -`W,o;JcCu7r;ccqrW%NLpAb'kr;ZcsJcGHDr;ccqrr@WMU]:8mr;Zcsb5Zt~> -`W,o;JcCu7r;ccqrW%NLpAb'kr;ZcsJcGHDr;ccqrr@WMU]:8mr;Zcsb5Zt~> -`W,o;JcCu7r;ccqrW%NLpAb'kr;ZcsJcGHDr;ccqrr@WMU]:8mr;Zcsb5Zt~> -`W,l:JcD&9r;cZn!!%TMpAb*lqYpNqJcGHDrW)fp!!%TMU]:8mqYpNqbQ!(~> -`W,l:JcD&9r;cZn!!%TMpAb*lqYpNqJcGHDrW)fp!!%TMU]:8mqYpNqbQ!(~> -`W,l:JcD&9r;cZn!!%TMpAb*lqYpNqJcGHDrW)fp!!%TMU]:8mqYpNqbQ!(~> -`;ff:JcD&9r;_EKmf34cJcG3=r;_EKS,`Hf_Z,,~> -`;ff:JcD&9r;_EKmf34cJcG3=r;_EKS,`Hf_Z,,~> -`;ff:JcD&9r;_EKmf34cJcG3=r;_EKS,`Hf_Z,,~> -`;fc9JcD,;r;_EKmJm.cJcG0 -`;fc9JcD,;r;_EKmJm.cJcG0 -`;fc9JcD,;r;_EKmJm.cJcG0 -_uKZ8JcD/f#~> -_uKZ8JcD/f#~> -_uKZ8JcD/f#~> -_uKZ8JcD2=r;_EKmJm.cJcG0f#~> -_uKZ8JcD2=r;_EKmJm.cJcG0f#~> -_uKZ8JcD2=r;_EKmJm.cJcG0f#~> -_Z0Q7JcD8?r;_EKmJm+bJcG0f#~> -_Z0Q7JcD8?r;_EKmJm+bJcG0f#~> -_Z0Q7JcD8?r;_EKmJm+bJcG0f#~> -_Z0Q7JcD;@quD -_Z0Q7JcD;@quD -_Z0Q7JcD;@quD -_>jH6JcDABquD -_>jH6JcDABquD -_>jH6JcDABquD -_#OB6JcDDCquD -_#OB6JcDDCquD -_#OB6JcDDCquD -_#O?5JcDJEquD -_#O?5JcDJEquD -_#O?5JcDJEquD -^]464JcDPGquD -^]464JcDPGquD -^]464JcDPGquD -^]464JcDSHquD -^]464JcDSHquD -^]464JcDSHquD -^An-3JcDYJquD -^An-3JcDYJquD -^An-3JcDYJquD -^&S$2JcD_LquD -^&S$2JcD_LquD -^&S$2JcD_LquD -]`7p1JcDeNquD -]`7p1JcDeNquD -]`7p1JcDeNquD -]`7m0JcDkPquD -]`7m0JcDkPquD -]`7m0JcDkPquD -]Dqd/JcDqRquD -]Dqd/JcDqRquD -]Dqd/JcDqRquD -])V[.JcE%UqZ)3Im/Qt`JcG3=quD -])V[.JcE%UqZ)3Im/Qt`JcG3=quD -])V[.JcE%UqZ)3Im/Qt`JcG3=quD -\c;R-JcE+WqZ)3Im/Qt`JcG3=quD -\c;R-JcE+WqZ)3Im/Qt`JcG3=quD -\c;R-JcE+WqZ)3Im/Qt`JcG3=quD -\GuL-JcE1YqZ)3Ili6k_JcG3=quD -\GuL-JcE1YqZ)3Ili6k_JcG3=quD -\GuL-JcE1YqZ)3Ili6k_JcG3=quD -\,ZC,JcE7[qZ)3Ili6k_JcG3=quD -\,ZC,JcE7[qZ)3Ili6k_JcG3=quD -\,ZC,JcE7[qZ)3Ili6k_JcG3=quD -[f?:+JcE@^qZ)3Ili6h^JcG3=quD -[f?:+JcE@^qZ)3Ili6h^JcG3=quD -[f?:+JcE@^qZ)3Ili6h^JcG3=quD -[K$1*JcEF`qZ)3Ili6k_JcG0O~> -[K$1*JcEF`qZ)3Ili6k_JcG0O~> -[K$1*JcEF`qZ)3Ili6k_JcG0O~> -[/^%(JcERdqZ)3IlMpb^JcG3=quD -[/^%(JcERdqZ)3IlMpb^JcG3=quD -[/^%(JcERdqZ)3IlMpb^JcG3=quD -ZiBq'JcE[gq>c*HlMpb^JcG3=quD -ZiBq'JcE[gq>c*HlMpb^JcG3=quD -ZiBq'JcE[gq>c*HlMpb^JcG3=quD -ZN'h&JcEaiqZ)3IlMp_]JcG3=quD -ZN'h&JcEaiqZ)3IlMp_]JcG3=quD -ZN'h&JcEaiqZ)3IlMp_]JcG3=quD -Z2a\$JcEpnq#H!GlMp_]JcG6>qZ)3IScAQeYQ'+~> -Z2a\$JcEpnq#H!GlMp_]JcG6>qZ)3IScAQeYQ'+~> -Z2a\$JcEpnq#H!GlMp_]JcG6>qZ)3IScAQeYQ'+~> -YlFS#JcF$qq#H!GlMp_]JcG3=qZ)3IT)\ZfXoEn~> -YlFS#JcF$qq#H!GlMp_]JcG3=qZ)3IT)\ZfXoEn~> -YlFS#JcF$qq#H!GlMp_]JcG3=qZ)3IT)\ZfXoEn~> -Y5eD"JcF-tq#H!GlMp\\JcG6>q>c*HT)\ZfXT*e~> -Y5eD"JcF-tq#H!GlMp\\JcG6>q>c*HT)\ZfXT*e~> -Y5eD"JcF-tq#H!GlMp\\JcG6>q>c*HT)\ZfXT*e~> -XoJ;!JcF7"q#H!Gl2UV\JcG3=qZ)3IT)\ZfWrIS~> -XoJ;!JcF7"q#H!Gl2UV\JcG3=qZ)3IT)\ZfWrIS~> -XoJ;!JcF7"q#H!Gl2UV\JcG3=qZ)3IT)\ZfWrIS~> -XT/.tJcFC&q#H!Gl2UV\JcG3=qZ)3IScAQeWW.J~> -XT/.tJcFC&q#H!Gl2UV\JcG3=qZ)3IScAQeWW.J~> -XT/.tJcFC&q#H!Gl2UV\JcG3=qZ)3IScAQeWW.J~> -X8i%sJcFL)q>c*Hkl:JZJcG3=qZ)3IT)\ZfVuM8~> -X8i%sJcFL)q>c*Hkl:JZJcG3=qZ)3IT)\ZfVuM8~> -X8i%sJcFL)q>c*Hkl:JZJcG3=qZ)3IT)\ZfVuM8~> -WW2hqJcF[.q#H!GkPtDZJcG3=qZ)3IT)\WeVZ2/~> -WW2hqJcF[.q#H!GkPtDZJcG3=qZ)3IT)\WeVZ2/~> -WW2hqJcF[.q#H!GkPtDZJcG3=qZ)3IT)\WeVZ2/~> -W;l\oJcFg2q#H!Gkl:JZJcG3=q>c*HT)\ZfV#Pr~> -W;l\oJcFg2q#H!Gkl:JZJcG3=q>c*HT)\ZfV#Pr~> -W;l\oJcFg2q#H!Gkl:JZJcG3=q>c*HT)\ZfV#Pr~> -VZ6JmJcG!7p],mFkl:GYJcG6>q>c*HTE"`fUAo`~> -VZ6JmJcG!7p],mFkl:GYJcG6>q>c*HTE"`fUAo`~> -VZ6JmJcG!7p],mFkl:GYJcG6>q>c*HTE"`fUAo`~> -V>pAlJcG-;pAfdEkl:GYJcG6>q#H!GT`=ffU&TW~> -V>pAlJcG-;pAfdEkl:GYJcG6>q#H!GT`=ffU&TW~> -V>pAlJcG-;pAfdEkl:GYJcG6>q#H!GT`=ffU&TW~> -U]:/jJcG<@pAfdEkl:DXJcG6>q#H!GT`=ffTDsE~> -U]:/jJcG<@pAfdEkl:DXJcG6>q#H!GT`=ffTDsE~> -U]:/jJcG<@pAfdEkl:DXJcG6>q#H!GT`=ffTDsE~> -U&XrhJcGKEpAfdEkPt;WJcG9?q#H!GTE"]eSc=3~> -U&XrhJcGKEpAfdEkPt;WJcG9?q#H!GTE"]eSc=3~> -U&XrhJcGKEpAfdEkPt;WJcG9?q#H!GTE"]eSc=3~> -TE"`fJcG]Kp&K[Dk5Y5WJcG6>q#H!GT`=ceS,\!~> -TE"`fJcG]Kp&K[Dk5Y5WJcG6>q#H!GT`=ceS,\!~> -TE"`fJcG]Kp&K[Dk5Y5WJcG6>q#H!GT`=ceS,\!~> -ScANdK)bNEJcFm4p],mFnGi:aJcDDCq#Hf^J,~> -ScANdK)bNEJcFm4p],mFnGi:aJcDDCq#Hf^J,~> -ScANdK)bNEJcFm4p],mFnGi:aJcDDCq#Hf^J,~> -S,`9aM?!5KJcFm4p],mFnGi7`JcDGDp]-W[J,~> -S,`9aM?!5KJcFm4p],mFnGi7`JcDGDp]-W[J,~> -S,`9aM?!5KJcFm4p],mFnGi7`JcDGDp]-W[J,~> -RfE*^OT4qQJcFp5p&K[Dnc/=`JcDJEpAgHXJ,~> -RfE*^OT4qQJcFp5p&K[Dnc/=`JcDJEpAgHXJ,~> -RfE*^OT4qQJcFp5p&K[Dnc/=`JcDJEpAgHXJ,~> -QiHd[R/c^WJcFp5o`0RCoDeLaJcDJEp&L9UJ,~> -QiHd[R/c^WJcFp5o`0RCoDeLaJcDJEp&L9UJ,~> -QiHd[R/c^WJcFp5o`0RCoDeLaJcDJEp&L9UJ,~> -PlLLYT)\?]JcFp5o`0RCo)J@_JcDPGo`1'QJ,~> -PlLLYT)\?]JcFp5o`0RCo)J@_JcDPGo`1'QJ,~> -PlLLYT)\?]JcFp5o`0RCo)J@_JcDPGo`1'QJ,~> -P5k7VVZ62eJcFj3o`0RCo)JC`JcDMFo`0sNJ,~> -P5k7VVZ62eJcFj3o`0RCo)JC`JcDMFo`0sNJ,~> -P5k7VVZ62eJcFj3o`0RCo)JC`JcDMFo`0sNJ,~> -O8nkQZ2a:nJcFm4oDjIBoDeF_JcDPGo`0gJJ,~> -O8nkQZ2a:nJcFm4oDjIBoDeF_JcDPGo`0gJJ,~> -O8nkQZ2a:nJcFm4oDjIBoDeF_JcDPGo`0gJJ,~> -N;rMM^&RI"JcFp5nGn.?p&FR_JcDYJnc4CDJ,~> -N;rMM^&RI"JcFp5nGn.?p&FR_JcDYJnc4CDJ,~> -N;rMM^&RI"JcFp5nGn.?p&FR_JcDYJnc4CDJ,~> -M?!,Hb5^]+JcG!7mf7q=p]'^_JcD_Lmf7t>J,~> -M?!,Hb5^]+JcG!7mf7q=p]'^_JcD_Lmf7t>J,~> -M?!,Hb5^]+JcG!7mf7q=p]'^_JcD_Lmf7t>J,~> -L&^Q@h>cO9JcG-;l2ZD8qZ#m^JcDkPlMuM9rr7K~> -L&^Q@h>cO9JcG-;l2ZD8qZ#m^JcDkPlMuM9rr7K~> -L&^Q@h>cO9JcG-;l2ZD8qZ#m^JcDkPlMuM9rr7K~> -Jc>`MJH16$JH16$LB)o*q#>j~> -Jc>`MJH16$JH16$LB)o*q#>j~> -Jc>`MJH16$JH16$LB)o*q#>j~> -JcGWIJH16$JH16$OoU(5o)F4~> -JcGWIJH16$JH16$OoU(5o)F4~> -JcGWIJH16$JH16$OoU(5o)F4~> -JcGECJH16$JH16$ScF?Am/MS~> -JcGECJH16$JH16$ScF?Am/MS~> -JcGECJH16$JH16$ScF?Am/MS~> -JcFm4r;_EKb5VGAJcFm4rr@WMRfEBfJcFI(J,~> -JcFm4r;_EKb5VGAJcFm4rr@WMRfEBfJcFI(J,~> -JcFm4r;_EKb5VGAJcFm4rr@WMRfEBfJcFI(J,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -JcC<$JcC<$JcC<$JcG]KJ,~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/executable_names/doc/figures/comm.eps b/executable_names/doc/figures/comm.eps deleted file mode 100644 index ad30ee7245..0000000000 --- a/executable_names/doc/figures/comm.eps +++ /dev/null @@ -1,2525 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /g/g0/jette/sigops/figure3.eps -%%CreationDate: Wed Feb 1 14:14:21 2006 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 720 455 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 440.640000 translate -705.600000 -440.640000 scale -% Image geometry -980 612 8 -% Transformation matrix -[ 980 0 0 612 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 980 string def -/gstr 980 string def -/bstr 980 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 120044 ASCII Bytes -colorimage -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)6`rrBY1rrD`lrrD`lrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)6`rrBY1rrD`lrrD`lrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)6`rrBY1rrD`lrrD`lrW%NLJcC<$e,Op~> -JcC<$JcFR+rW) -JcC<$JcFR+rW) -JcC<$JcFR+rW) -JcC<$JcFR+rW)9arW'S1rW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'S1rW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'S1rW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'h8!!)orrW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'h8!!)orrW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'h8!!)orrW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'h8rrDusrW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'h8rrDusrW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'h8rrDusrW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'k9rW)lrrW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'k9rW)lrrW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)9arW'k9rW)lrrW)ZlrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)TjqZ-WqrW)osrW)rtr;c`p!W`9#rW)rtrrE*!rW)lrrW)`nr;cfrqZ-WqrW)iq -r;ZitrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)TjqZ-WqrW)osrW)rtr;c`p!W`9#rW)rtrrE*!rW)lrrW)`nr;cfrqZ-WqrW)iq -r;ZitrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)TjqZ-WqrW)osrW)rtr;c`p!W`9#rW)rtrrE*!rW)lrrW)`nr;cfrqZ-WqrW)iq -r;ZitrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)WkrrE&urrE&urW)osrW)lrrW)uuo)JdjquHcsqZ-NnrrE*!rW)uuq>gNprW)lr -rrE&ur;cNjrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)WkrrE&urrE&urW)osrW)lrrW)uuo)JdjquHcsqZ-NnrrE*!rW)uuq>gNprW)lr -rrE&ur;cNjrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)WkrrE&urrE&urW)osrW)lrrW)uuo)JdjquHcsqZ-NnrrE*!rW)uuq>gNprW)lr -rrE&ur;cNjrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrW)os!!*#urW)lrrW)osrW)rtq#LHpr;cisr;cfrrrDusrrE#trW)rtrW)lr -rW)osrrDusrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrW)os!!*#urW)lrrW)osrW)rtq#LHpr;cisr;cfrrrDusrrE#trW)rtrW)lr -rW)osrrDusrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrW)os!!*#urW)lrrW)osrW)rtq#LHpr;cisr;cfrrrDusrrE#trW)rtrW)lr -rW)osrrDusrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrW)os!!*#urW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDusrW)rtrW)lr -rW)rtrW)lrrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrW)os!!*#urW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDusrW)rtrW)lr -rW)rtrW)lrrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrW)os!!*#urW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDusrW)rtrW)lr -rW)rtrW)lrrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrW)corW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDcmrW)lrrW)rtrW)lr -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrW)corW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDcmrW)lrrW)rtrW)lr -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrW)corW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDcmrW)lrrW)rtrW)lr -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Wkr;c`prW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDcmrW)lrrW)rtrrDrr -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Wkr;c`prW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDcmrW)lrrW)rtrrDrr -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Wkr;c`prW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDcmrW)lrrW)rtrrDrr -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)TjquH]qrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)ZlrW)lrrW)uurW)iq -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)TjquH]qrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)ZlrW)lrrW)uurW)iq -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)TjquH]qrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)ZlrW)lrrW)uurW)iq -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)QiquH`rrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)ZlrW)lrrW)uurW)iq -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)QiquH`rrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)ZlrW)lrrW)uurW)iq -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)QiquH`rrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)ZlrW)lrrW)uurW)iq -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Kgr;cltrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uur;cTlrW)lrrW)uur;ccq -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Kgr;cltrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uur;cTlrW)lrrW)uur;ccq -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Kgr;cltrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uur;cTlrW)lrrW)uur;ccq -rW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Zl!!)rsrW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtrW)iq!!*#urW)lr -rW)rtrW)lrrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Zl!!)rsrW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtrW)iq!!*#urW)lr -rW)rtrW)lrrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Zl!!)rsrW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtrW)iq!!*#urW)lr -rW)rtrW)lrrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrrE#trW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtr;cfrrrE&urW)lr -rW)rtr;cfrrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrrE#trW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtr;cfrrrE&urW)lr -rW)rtr;cfrrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrrE#trW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtr;cfrrrE&urW)lr -rW)rtr;cfrrW)WkrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrrE#trrE&urW)lrp&P*lrW)iqrW)osr;cfrrW)osq#LBnqZ-ZrrW)oso`4ad -rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrrE#trrE&urW)lrp&P*lrW)iqrW)osr;cfrrW)osq#LBnqZ-ZrrW)oso`4ad -rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)ZlrrE#trrE&urW)lrp&P*lrW)iqrW)osr;cfrrW)osq#LBnqZ-ZrrW)oso`4ad -rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Zlq>gNpqZ-Tpqu?`sr;ZitqZ-TpquHcsqZ-ZrquH]qqZ-Nnr;cltqZ-Wqp]1!e -rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Zlq>gNpqZ-Tpqu?`sr;ZitqZ-TpquHcsqZ-ZrquH]qqZ-Nnr;cltqZ-Wqp]1!e -rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)Zlq>gNpqZ-Tpqu?`sr;ZitqZ-TpquHcsqZ-ZrquH]qqZ-Nnr;cltqZ-Wqp]1!e -rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)NhrrDTh!!(OK!!)fo!!)TirrDQgrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)NhrrDTh!!(OK!!)fo!!)TirrDQgrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)NhrrDTh!!(OK!!)fo!!)TirrDQgrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)'[r;cZn!W`9#rW)ZlqZ-Tp!W`9#rVururW)rtr;c`p!!*#urW)*\rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)'[r;cZn!W`9#rW)ZlqZ-Tp!W`9#rVururW)rtr;c`p!!*#urW)*\rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)'[r;cZn!W`9#rW)ZlqZ-Tp!W`9#rVururW)rtr;c`p!!*#urW)*\rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)-]q#LEopAk!grrE&urr<'!oDnghrW)rtpAjCVrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)-]q#LEopAk!grrE&urr<'!oDnghrW)rtpAjCVrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)-]q#LEopAk!grrE&urr<'!oDnghrW)rtpAjCVrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)0^rrDusrW)rtq#L3irW)os!W`9#q#LHprW)osrW)osr;cisrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)0^rrDusrW)rtq#L3irW)os!W`9#q#LHprW)osrW)osr;cisrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)0^rrDusrW)rtq#L3irW)os!W`9#q#LHprW)osrW)osr;cisrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)3_rW)lrrW)osrW)TjrW)os!!*#urW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)3_rW)lrrW)osrW)TjrW)os!!*#urW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)3_rW)lrrW)osrW)TjrW)os!!*#urW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)TjrW)corW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)TjrW)corW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)TjrW)corW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)Qir;c`prW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)Qir;c`prW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)Qir;c`prW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)6`r;c`prW)rtrW)NhquH]qrW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)6`r;c`prW)rtrW)NhquH]qrW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)6`r;c`prW)rtrW)NhquH]qrW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)6`r;c`prW)rtrW)KgquH`rrW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)6`r;c`prW)rtrW)KgquH`rrW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)6`r;c`prW)rtrW)KgquH`rrW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)Eer;cltrW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)Eer;cltrW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)Eer;cltrW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)Tj!!)rsrW)uurW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)Tj!!)rsrW)uurW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)3_rW)iqrW)rtrW)Tj!!)rsrW)uurW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)0^rrDrrrrE#trW)TjrrE#trW)uurW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)0^rrDrrrrE#trW)TjrrE#trW)uurW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)0^rrDrrrrE#trW)TjrrE#trW)uurW)iqrW)osrW)osrW)osrW)0^rW%NLJcC<$ -e,Op~> -JcC<$JcFR+rW)0^rW)osrrDusrW)TjrrE#trrE&urW)iqp&P*lrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)0^rW)osrrDusrW)TjrrE#trrE&urW)iqp&P*lrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)0^rW)osrrDusrW)TjrrE#trrE&urW)iqp&P*lrW)osrW)0^rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)-]q>gKoqZ-gQqqZ-Nnqu?`sr;cltquHcsquH!]rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)-]q>gKoqZ-gQqqZ-Nnqu?`sr;cltquHcsquH!]rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)-]q>gKoqZ-gQqqZ-Nnqu?`sr;cltquHcsquH!]rW%NLJcC<$e,Op~> -JcC<$JcFR+rW)$ZrrD0\rrDQg!!(OKrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)$ZrrD0\rrDQg!!(OKrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)$ZrrD0\rrDQg!!(OKrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW%ZPrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)KgnGpW0pAjIXrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)KgnGpW0pAjIXrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)KgnGpW0pAjIXrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)NhnGpQ.nGr(YrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)NhnGpQ.nGr(YrW%NLJcC<$e,Op~> -JcC<$JcFR+rW)NhnGpQ.nGr(YrW%NLJcC<$e,Op~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcFR+JH5]MJcC<$JcF4!J,~> -JcC<$JcEgkp&Mr/pAfdEJcC<$]DmB~> -JcC<$JcEgkp&Mr/pAfdEJcC<$]DmB~> -JcC<$JcEgkp&Mr/pAfdEJcC<$]DmB~> -JcC<$JcEmmo`2c,pAfdEJcC<$]`3K~> -JcC<$JcEmmo`2c,pAfdEJcC<$]`3K~> -JcC<$JcEmmo`2c,pAfdEJcC<$]`3K~> -JcC<$JcEsoq>gQqr;aS3qu?`sqZ)3IJcC<$^Ai]~> -JcC<$JcEsoq>gQqr;aS3qu?`sqZ)3IJcC<$^Ai]~> -JcC<$JcEsoq>gQqr;aS3qu?`sqZ)3IJcC<$^Ai]~> -JcC<$JcF!pqZ-Tpr;aP2r;cltqZ)3IJcC<$^]/f~> -JcC<$JcF!pqZ-Tpr;aP2r;cltqZ)3IJcC<$^]/f~> -JcC<$JcF!pqZ-Tpr;aP2r;cltqZ)3IJcC<$^]/f~> -JcC<$JcF'rq>gHnrW'S1rW)osqZ)3IJcC<$_>f#~> -JcC<$JcF'rq>gHnrW'S1rW)osqZ)3IJcC<$_>f#~> -JcC<$JcF'rq>gHnrW'S1rW)osqZ)3IJcC<$_>f#~> -JcC<$JcF*sqZ-KmrW'S1rW)lrqZ)3IJcC<$_Z,,~> -JcC<$JcF*sqZ-KmrW'S1rW)lrqZ)3IJcC<$_Z,,~> -JcC<$JcF*sqZ-KmrW'S1rW)lrqZ)3IJcC<$_Z,,~> -JcC<$JcF0uqZ-EkrrBV0rrDoqqZ)3IJcC<$`;b>~> -JcC<$JcF0uqZ-EkrrBV0rrDoqqZ)3IJcC<$`;b>~> -JcC<$JcF0uqZ-EkrrBV0rrDoqqZ)3IJcC<$`;b>~> -JcC<$JcF7"q>g9i!!'P/rrDlpqZ)3IJcC<$`W(G~> -JcC<$JcF7"q>g9i!!'P/rrDlpqZ)3IJcC<$`W(G~> -JcC<$JcF7"q>g9i!!'P/rrDlpqZ)3IJcC<$`W(G~> -JcC<$JcF:#qZ- -JcC<$JcF:#qZ- -JcC<$JcF:#qZ- -JcC<$JcF@%qZ*Sp!!)`mqZ)3IJcC<$aT$b~> -JcC<$JcF@%qZ*Sp!!)`mqZ)3IJcC<$aT$b~> -JcC<$JcF@%qZ*Sp!!)`mqZ)3IJcC<$aT$b~> -JcC<$JcFF'q>cr`qZ)3IJcC<$b5Zt~> -JcC<$JcFF'q>cr`qZ)3IJcC<$b5Zt~> -JcC<$JcFF'q>cr`qZ)3IJcC<$b5Zt~> -JcC<$JcFI(qZ)r^qZ)3IJcC<$bQ!(~> -JcC<$JcFI(qZ)r^qZ)3IJcC<$bQ!(~> -JcC<$JcFI(qZ)r^qZ)3IJcC<$bQ!(~> -JcC<$JcFO*qZ)i[q>c*HJcC<$c2W:~> -JcC<$JcFO*qZ)i[q>c*HJcC<$c2W:~> -JcC<$JcFO*qZ)i[q>c*HJcC<$c2W:~> -JcC<$JcFU,q>cWWqZ)3IJcC<$cMrC~> -JcC<$JcFU,q>cWWqZ)3IJcC<$cMrC~> -JcC<$JcFU,q>cWWqZ)3IJcC<$cMrC~> -JcC<$JcFX-qZ)WUq>c*HJcC<$d/SU~> -JcC<$JcFX-qZ)WUq>c*HJcC<$d/SU~> -JcC<$JcFX-qZ)WUq>c*HJcC<$d/SU~> -JcC<$JcF^/qZ)KQqZ)3IJcC<$dJn^~> -JcC<$JcF^/qZ)KQqZ)3IJcC<$dJn^~> -JcC<$JcF^/qZ)KQqZ)3IJcC<$dJn^~> -JcC<$JcFd1q>cc*HJcC<$e,Op~> -JcC<$JcFd1q>cc*HJcC<$e,Op~> -JcC<$JcFd1q>cc*HJcC<$e,Op~> -JcC<$JcFg2qZ)9KqZ)3IJcC<$eGk%~> -JcC<$JcFg2qZ)9KqZ)3IJcC<$eGk%~> -JcC<$JcFg2qZ)9KqZ)3IJcC<$eGk%~> -JcC<$JcFm4qZ)3I!<;lqJcC<$JcF=$J,~> -JcC<$JcFm4qZ)3I!<;lqJcC<$JcF=$J,~> -JcC<$JcFm4qZ)3I!<;lqJcC<$JcF=$J,~> -JcC<$JcFs6q>c*HrVu`pJcC<$JcF@%J,~> -JcC<$JcFs6q>c*HrVu`pJcC<$JcF@%J,~> -JcC<$JcFs6q>c*HrVu`pJcC<$JcF@%J,~> -JcC<$JcG!7qZ)3IqZ$BlJcC<$JcFF'J,~> -JcC<$JcG!7qZ)3IqZ$BlJcC<$JcFF'J,~> -JcC<$JcG!7qZ)3IqZ$BlJcC<$JcFF'J,~> -JcC<$JcG'9qZ)3IpAb!iJcC<$JcFI(J,~> -JcC<$JcG'9qZ)3IpAb!iJcC<$JcFI(J,~> -JcC<$JcG'9qZ)3IpAb!iJcC<$JcFI(J,~> -JcC<$JcG-;q>c*Ho`+dgJcC<$JcFL)J,~> -JcC<$JcG-;q>c*Ho`+dgJcC<$JcFL)J,~> -JcC<$JcG-;q>c*Ho`+dgJcC<$JcFL)J,~> -JcC<$JcG0 -JcC<$JcG0 -JcC<$JcG0 -JcC<$JcG6>qZ)3ImJm%`JcC<$JcFU,J,~> -JcC<$JcG6>qZ)3ImJm%`JcC<$JcFU,J,~> -JcC<$JcG6>qZ)3ImJm%`JcC<$JcFU,J,~> -JcC<$JcG<@q>c*HlMp_]JcC<$JcF[.J,~> -JcC<$JcG<@q>c*HlMp_]JcC<$JcF[.J,~> -JcC<$JcG<@q>c*HlMp_]JcC<$JcF[.J,~> -JcC<$JcG?AqZ)3IkPtDZJcC<$JcF^/J,~> -JcC<$JcG?AqZ)3IkPtDZJcC<$JcF^/J,~> -JcC<$JcG?AqZ)3IkPtDZJcC<$JcF^/J,~> -JcC<$JcGECqZ)3Ij8\uVJcC<$JcFd1J,~> -JcC<$JcGECqZ)3Ij8\uVJcC<$JcFd1J,~> -JcC<$JcGECqZ)3Ij8\uVJcC<$JcFd1J,~> -JcC<$JcGKEq>c*HiW&cTJcC<$JcFg2J,~> -JcC<$JcGKEq>c*HiW&cTJcC<$JcFg2J,~> -JcC<$JcGKEq>c*HiW&cTJcC<$JcFg2J,~> -JcC<$JcGNFqZ)3Ih>d?PJcC<$JcFm4J,~> -JcC<$JcGNFqZ)3Ih>d?PJcC<$JcFm4J,~> -JcC<$JcGNFqZ)3Ih>d?PJcC<$JcFm4J,~> -JcC<$JcGTHqZ)3IgAh$MJcC<$JcFp5J,~> -JcC<$JcGTHqZ)3IgAh$MJcC<$JcFp5J,~> -JcC<$JcGTHqZ)3IgAh$MJcC<$JcFp5J,~> -JcC<$JcGZJq>c*HfDk^JJcC<$JcG!7J,~> -JcC<$JcGZJq>c*HfDk^JJcC<$JcG!7J,~> -JcC<$JcGZJq>c*HfDk^JJcC<$JcG!7J,~> -JcC<$JcG]KqZ)3IeGoCGJcC<$JcG$8J,~> -JcC<$JcG]KqZ)3IeGoCGJcC<$JcG$8J,~> -JcC<$JcG]KqZ)3IeGoCGJcC<$JcG$8J,~> -JcC<$JcGcMq>c*HdJs(DJcC<$JcG*:J,~> -JcC<$JcGcMq>c*HdJs(DJcC<$JcG*:J,~> -JcC<$JcGcMq>c*HdJs(DJcC<$JcG*:J,~> -JcC<$JcGQHJcF$qqZ)3IJcC<$mJh\~> -JcC<$JcGQHJcF$qqZ)3IJcC<$mJh\~> -JcC<$JcGQHJcF$qqZ)3IJcC<$mJh\~> -JcC<$K)b]JJcEmmqZ)3IJcC<$n,In~> -JcC<$K)b]JJcEmmqZ)3IJcC<$n,In~> -JcC<$K)b]JJcEmmqZ)3IJcC<$n,In~> -JcC<$K`ClKJcEgkqZ)3IJcC<$nGe"~> -JcC<$K`ClKJcEgkqZ)3IJcC<$nGe"~> -JcC<$K`ClKJcEgkqZ)3IJcC<$nGe"~> -JcC<$LB%)MJcE[gqZ)3IJcC<$o)F4~> -JcC<$LB%)MJcE[gqZ)3IJcC<$o)F4~> -JcC<$LB%)MJcE[gqZ)3IJcC<$o)F4~> -JcC<$L]@5OJcERdqZ)3IJcC<$oDa=~> -JcC<$L]@5OJcERdqZ)3IJcC<$oDa=~> -JcC<$L]@5OJcERdqZ)3IJcC<$oDa=~> -JcC<$M?!DPJcEIaqZ)3IJcC<$p&BO~> -JcC<$M?!DPJcEIaqZ)3IJcC<$p&BO~> -JcC<$M?!DPJcEIaqZ)3IJcC<$p&BO~> -JcC<$MuWVRJcE@^qZ)3IJcC<$pA]X~> -JcC<$MuWVRJcE@^qZ)3IJcC<$pA]X~> -JcC<$MuWVRJcE@^qZ)3IJcC<$pA]X~> -JcC<$N;rbTJcE4ZqZ)3IJcC<$q#>j~> -JcC<$N;rbTJcE4ZqZ)3IJcC<$q#>j~> -JcC<$N;rbTJcE4ZqZ)3IJcC<$q#>j~> -JcC<$NrSqUJcE.XqZ)3IJcC<$q>Ys~> -JcC<$NrSqUJcE.XqZ)3IJcC<$q>Ys~> -JcC<$NrSqUJcE.XqZ)3IJcC<$q>Ys~> -JcC<$OT5.WJcE"TqZ)3IJcC<$qu;0~> -JcC<$OT5.WJcE"TqZ)3IJcC<$qu;0~> -JcC<$OT5.WJcE"TqZ)3IJcC<$qu;0~> -JcC<$OoP:YJcDnQqZ)3IJcC<$r;V9~> -JcC<$OoP:YJcDnQqZ)3IJcC<$r;V9~> -JcC<$OoP:YJcDnQqZ)3IJcC<$r;V9~> -JcC<$PQ1IZJcDeNqZ)3IJcC<$rr7K~> -JcC<$PQ1IZJcDeNqZ)3IJcC<$rr7K~> -JcC<$PQ1IZJcDeNqZ)3IJcC<$rr7K~> -JcC<$Q2g[\JcD\KqZ)3IJcC<$s8RT~> -JcC<$Q2g[\JcD\KqZ)3IJcC<$s8RT~> -JcC<$Q2g[\JcD\KqZ)3IJcC<$s8RT~> -JcC<$QN-g^JcDPGqZ)3IJcC<$J,~> -JcC<$QN-g^JcDPGqZ)3IJcC<$J,~> -JcC<$QN-g^JcDPGqZ)3IJcC<$J,~> -JcC<$R/d!_JcDJEqZ)3IJcC?%J,~> -JcC<$R/d!_JcDJEqZ)3IJcC?%J,~> -JcC<$R/d!_JcDJEqZ)3IJcC?%J,~> -JcC<$RfE3aJcD>AqZ)3IJcCE'J,~> -JcC<$RfE3aJcD>AqZ)3IJcCE'J,~> -JcC<$RfE3aJcD>AqZ)3IJcCE'J,~> -JcC<$S,`?cJcD5>qZ)3IJcCH(J,~> -JcC<$S,`?cJcD5>qZ)3IJcCH(J,~> -JcC<$S,`?cJcD5>qZ)3IJcCH(J,~> -JcC<$ScANdJcD,;qZ)3IJcCN*J,~> -JcC<$ScANdJcD,;qZ)3IJcCN*J,~> -JcC<$ScANdJcD,;qZ)3IJcCN*J,~> -JcC<$TE"`fJcD#8qZ)3IJcCQ+J,~> -JcC<$TE"`fJcD#8qZ)3IJcCQ+J,~> -JcC<$TE"`fJcD#8qZ)3IJcCQ+J,~> -JcC<$T`=lhJcCl4qZ)3IJcCW-J,~> -JcC<$T`=lhJcCl4qZ)3IJcCW-J,~> -JcC<$T`=lhJcCl4qZ)3IJcCW-J,~> -JcC<$UAt&iJcCf2qZ)3IJcCZ.J,~> -JcC<$UAt&iJcCf2qZ)3IJcCZ.J,~> -JcC<$UAt&iJcCf2qZ)3IJcCZ.J,~> -JcC<$V#U8kJcCZ.qZ)3IJcC`0J,~> -JcC<$V#U8kJcCZ.qZ)3IJcC`0J,~> -JcC<$V#U8kJcCZ.qZ)3IJcC`0J,~> -JcC<$V>pDmJcCQ+qZ)3IJcCc1J,~> -JcC<$V>pDmJcCQ+qZ)3IJcCc1J,~> -JcC<$V>pDmJcCQ+qZ)3IJcCc1J,~> -JcC<$VuQSnJcCH(qZ)3IJcCi3J,~> -JcC<$VuQSnJcCH(qZ)3IJcCi3J,~> -JcC<$VuQSnJcCH(qZ)3IJcCi3J,~> -JcC<$WW2epJcC?%qZ)3IJcCl4J,~> -JcC<$WW2epJcC?%qZ)3IJcCl4J,~> -JcC<$WW2epJcC?%qZ)3IJcCl4J,~> -JcC<$WrMqrJcC<$rr;iqJcC<$PQ-.~> -JcC<$WrMqrJcC<$rr;iqJcC<$PQ-.~> -JcC<$WrMqrJcC<$rr;iqJcC<$PQ-.~> -JcC<$XT/+sJcC<$r;ZWoJcC<$PlH7~> -JcC<$XT/+sJcC<$r;ZWoJcC<$PlH7~> -JcC<$XT/+sJcC<$r;ZWoJcC<$PlH7~> -JcC<$Y5e=uJcC<$q#C3kJcC<$QN)I~> -JcC<$Y5e=uJcC<$q#C3kJcC<$QN)I~> -JcC<$Y5e=uJcC<$q#C3kJcC<$QN)I~> -JcC<$YQ+J"JcC<$p&FmhJcC<$QiDR~> -JcC<$YQ+J"JcC<$p&FmhJcC<$QiDR~> -JcC<$YQ+J"JcC<$p&FmhJcC<$QiDR~> -JcC<$Z2aY#JcC<$o)JReJcC<$RK%d~> -JcC<$Z2aY#JcC<$o)JReJcC<$RK%d~> -JcC<$Z2aY#JcC<$o)JReJcC<$RK%d~> -JcC<$ZN'e%JcC<$n,N7bJcC<$Rf@m~> -JcC<$ZN'e%JcC<$n,N7bJcC<$Rf@m~> -JcC<$ZN'e%JcC<$n,N7bJcC<$Rf@m~> -JcC<$[/^"'JcC<$li6h^JcC<$SH"*~> -JcC<$[/^"'JcC<$li6h^JcC<$SH"*~> -JcC<$[/^"'JcC<$li6h^JcC<$SH"*~> -JcC<$[f?1(JcC<$l2UV\JcC<$Sc=3~> -JcC<$[f?1(JcC<$l2UV\JcC<$Sc=3~> -JcC<$[f?1(JcC<$l2UV\JcC<$Sc=3~> -JcC<$\,Z=*JcC<$jo>2XJcC<$TDsE~> -JcC<$\,Z=*JcC<$jo>2XJcC<$TDsE~> -JcC<$\,Z=*JcC<$jo>2XJcC<$TDsE~> -JcC<$\c;O,JcC<$irAlUJcC<$T`9N~> -JcC<$\c;O,JcC<$irAlUJcC<$T`9N~> -JcC<$\c;O,JcC<$irAlUJcC<$T`9N~> -JcC<$]Dq^-JcC<$huEQRJcC<$UAo`~> -JcC<$]Dq^-JcC<$huEQRJcC<$UAo`~> -JcC<$]Dq^-JcC<$huEQRJcC<$UAo`~> -JcC<$]`7j/JcC<$h#I6OJcC<$U]5i~> -JcC<$]`7j/JcC<$h#I6OJcC<$U]5i~> -JcC<$]`7j/JcC<$h#I6OJcC<$U]5i~> -JcC<$^An'1JcC<$f`1gKJcC<$V>l&~> -JcC<$^An'1JcC<$f`1gKJcC<$V>l&~> -JcC<$^An'1JcC<$f`1gKJcC<$V>l&~> -JcC<$_#O62JcC<$f)PUIJcC<$VZ2/~> -JcC<$_#O62JcC<$f)PUIJcC<$VZ2/~> -JcC<$_#O62JcC<$f)PUIJcC<$VZ2/~> -JcC<$_>jB4JcC<$df91EJcC<$W;hA~> -JcC<$_>jB4JcC<$df91EJcC<$W;hA~> -JcC<$_>jB4JcC<$df91EJcC<$W;hA~> -JcC<$_uKT6JcC<$ci -JcC<$_uKT6JcC<$ci -JcC<$_uKT6JcC<$ci -JcC<$`W,c7JcC<$bl@P?JcC<$X8d\~> -JcC<$`W,c7JcC<$bl@P?JcC<$X8d\~> -JcC<$`W,c7JcC<$bl@P?JcC<$X8d\~> -JcC<$`rGo9JcC<$aoD5 -JcC<$`rGo9JcC<$aoD5 -JcC<$`rGo9JcC<$aoD5 -JcC<$aT),;JcC<$`W,f8JcC<$Y5a"~> -JcC<$aT),;JcC<$`W,f8JcC<$Y5a"~> -JcC<$aT),;JcC<$`W,f8JcC<$Y5a"~> -JcC<$b5_; -JcC<$b5_; -JcC<$b5_; -JcC<$bQ%G>JcC<$^]402JcC<$Z2]=~> -JcC<$bQ%G>JcC<$^]402JcC<$Z2]=~> -JcC<$bQ%G>JcC<$^]402JcC<$Z2]=~> -JcC<$c2[Y@JcC<$]`7j/JcC<$ZN#F~> -JcC<$c2[Y@JcC<$]`7j/JcC<$ZN#F~> -JcC<$c2[Y@JcC<$]`7j/JcC<$ZN#F~> -JcC<$ci -JcC<$ci -JcC<$ci -JcC<$d/WtCJcC<$[f?4)JcC<$[Jta~> -JcC<$d/WtCJcC<$[f?4)JcC<$[Jta~> -JcC<$d/WtCJcC<$[f?4)JcC<$[Jta~> -JcC<$df91EJcC<$ZN'e%JcC<$\,Us~> -JcC<$df91EJcC<$ZN'e%JcC<$\,Us~> -JcC<$df91EJcC<$ZN'e%JcC<$\,Us~> -JcC<$eGo@FJcC<$YlFS#JcC<$\Gq'~> -JcC<$eGo@FJcC<$YlFS#JcC<$\Gq'~> -JcC<$eGo@FJcC<$YlFS#JcC<$\Gq'~> -JcC<$ec5LHJcC<$XT/.tJcC<$])R9~> -JcC<$ec5LHJcC<$XT/.tJcC<$])R9~> -JcC<$ec5LHJcC<$XT/.tJcC<$])R9~> -JcC<$fDk^JJcC<$WW2hqJcC<$]DmB~> -JcC<$fDk^JJcC<$WW2hqJcC<$]DmB~> -JcC<$fDk^JJcC<$WW2hqJcC<$]DmB~> -JcC<$g&LmKJcC<$VZ6MnJcC<$^&NT~> -JcC<$g&LmKJcC<$VZ6MnJcC<$^&NT~> -JcC<$g&LmKJcC<$VZ6MnJcC<$^&NT~> -JcC<$gAh$MJcC<$U]:2kJcC<$^Ai]~> -JcC<$gAh$MJcC<$U]:2kJcC<$^Ai]~> -JcC<$gAh$MJcC<$U]:2kJcC<$^Ai]~> -JcC<$h#I6OJcC<$TE"cgJcC<$_#Jo~> -JcC<$h#I6OJcC<$TE"cgJcC<$_#Jo~> -JcC<$h#I6OJcC<$TE"cgJcC<$_#Jo~> -JcC<$hZ*EPJcC<$ScAQeJcC<$_>f#~> -JcC<$hZ*EPJcC<$ScAQeJcC<$_>f#~> -JcC<$hZ*EPJcC<$ScAQeJcC<$_>f#~> -JcC<$huEQRJcC<$RK*-aJcC<$_uG5~> -JcC<$huEQRJcC<$RK*-aJcC<$_uG5~> -JcC<$huEQRJcC<$RK*-aJcC<$_uG5~> -JcC<$iW&`SJcC<$QiHp_JcC<$`;b>~> -JcC<$iW&`SJcC<$QiHp_JcC<$`;b>~> -JcC<$iW&`SJcC<$QiHp_JcC<$`;b>~> -JcC<$j8\rUJcC<$PQ1L[JcC<$`rCP~> -JcC<$j8\rUJcC<$PQ1L[JcC<$`rCP~> -JcC<$j8\rUJcC<$PQ1L[JcC<$`rCP~> -JcC<$jT#)WJcC<$OT51XJcC<$a8^Y~> -JcC<$jT#)WJcC<$OT51XJcC<$a8^Y~> -JcC<$jT#)WJcC<$OT51XJcC<$a8^Y~> -JcC<$k5Y8XJcC<$NW8kUJcC<$ao?k~> -JcC<$k5Y8XJcC<$NW8kUJcC<$ao?k~> -JcC<$k5Y8XJcC<$NW8kUJcC<$ao?k~> -JcC<$kl:JZJcC<$MZ -JcC<$kl:JZJcC<$MZ -JcC<$kl:JZJcC<$MZ -JcC<$l2UV\JcC<$LB%,NJcC<$bl<1~> -JcC<$l2UV\JcC<$LB%,NJcC<$bl<1~> -JcC<$l2UV\JcC<$LB%,NJcC<$bl<1~> -JcC<$li6e]JcC<$K`CoLJcC<$c2W:~> -JcC<$li6e]JcC<$K`CoLJcC<$c2W:~> -JcC<$li6e]JcC<$K`CoLJcC<$c2W:~> -JcC<$mJm"_JcC<$Jc>`MqZ)3IJcF'rJ,~> -JcC<$mJm"_JcC<$Jc>`MqZ)3IJcF'rJ,~> -JcC<$mJm"_JcC<$Jc>`MqZ)3IJcF'rJ,~> -JcC<$mf3.aJcC<$JcG]KqZ)3IJcF*sJ,~> -JcC<$mf3.aJcC<$JcG]KqZ)3IJcF*sJ,~> -JcC<$mf3.aJcC<$JcG]KqZ)3IJcF*sJ,~> -JcC<$nGi=bJcC<$JcGTHqZ)3IJcF0uJ,~> -JcC<$nGi=bJcC<$JcGTHqZ)3IJcF0uJ,~> -JcC<$nGi=bJcC<$JcGTHqZ)3IJcF0uJ,~> -JcC<$o)JOdJcC<$JcGKEqZ)3IJcF4!J,~> -JcC<$o)JOdJcC<$JcGKEqZ)3IJcF4!J,~> -JcC<$o)JOdJcC<$JcGKEqZ)3IJcF4!J,~> -JcC<$oDe[fJcC<$JcG?AqZ)3IJcF:#J,~> -JcC<$oDe[fJcC<$JcG?AqZ)3IJcF:#J,~> -JcC<$oDe[fJcC<$JcG?AqZ)3IJcF:#J,~> -JcC<$p&FjgJcC<$JcG9?qZ)3IJcF=$J,~> -JcC<$p&FjgJcC<$JcG9?qZ)3IJcF=$J,~> -JcC<$p&FjgJcC<$JcG9?qZ)3IJcF=$J,~> -JcC?%!!)cnq>c*HJcC<$mJm%`JcC<$f`-I~> -JcC?%!!)cnq>c*HJcC<$mJm%`JcC<$f`-I~> -JcC?%!!)cnq>c*HJcC<$mJm%`JcC<$f`-I~> -JcC?%!!)foqZ)3IJcC<$lMp_]JcC<$g&HR~> -JcC?%!!)foqZ)3IJcC<$lMp_]JcC<$g&HR~> -JcC?%!!)foqZ)3IJcC<$lMp_]JcC<$g&HR~> -JcCB&rrDoqq>c*HJcC<$kPtDZJcC<$g])d~> -JcCB&rrDoqq>c*HJcC<$kPtDZJcC<$g])d~> -JcCB&rrDoqq>c*HJcC<$kPtDZJcC<$g])d~> -JcCE'rW)lrq>c*HJcC<$jT#)WJcC<$h#Dm~> -JcCE'rW)lrq>c*HJcC<$jT#)WJcC<$h#Dm~> -JcCE'rW)lrq>c*HJcC<$jT#)WJcC<$h#Dm~> -JcCE'rW)osqZ)3IJcC<$i;`ZSJcC<$hZ&*~> -JcCE'rW)osqZ)3IJcC<$i;`ZSJcC<$hZ&*~> -JcCE'rW)osqZ)3IJcC<$i;`ZSJcC<$hZ&*~> -JcCH(r;cltq>c*HJcC<$hZ*HQJcC<$huA3~> -JcCH(r;cltq>c*HJcC<$hZ*HQJcC<$huA3~> -JcCH(r;cltq>c*HJcC<$hZ*HQJcC<$huA3~> -JcCK)o`0RCJcC<$gAh$MJcC<$iW"E~> -JcCK)o`0RCJcC<$gAh$MJcC<$iW"E~> -JcCK)o`0RCJcC<$gAh$MJcC<$iW"E~> -JcCK)pAfdEJcC<$fDk^JJcC<$ir=N~> -JcCK)pAfdEJcC<$fDk^JJcC<$ir=N~> -JcCK)pAfdEJcC<$fDk^JJcC<$ir=N~> -JcCN*pAfdEJcC<$eGoCGJcC<$jSs`~> -JcCN*pAfdEJcC<$eGoCGJcC<$jSs`~> -JcCN*pAfdEJcC<$eGoCGJcC<$jSs`~> -JcCN*q#H!GJcC<$dJs(DJcC<$jo9i~> -JcCN*q#H!GJcC<$dJs(DJcC<$jo9i~> -JcCN*q#H!GJcC<$dJs(DJcC<$jo9i~> -JcCQ+pAfdEJcC<$d/WtCJcC<$kPp&~> -JcCQ+pAfdEJcC<$d/WtCJcC<$kPp&~> -JcCQ+pAfdEJcC<$d/WtCJcC<$kPp&~> -JcCT,oDjIBJcC<$dJs(DJcC<$kl6/~> -JcCT,oDjIBJcC<$dJs(DJcC<$kl6/~> -JcCT,oDjIBJcC<$dJs(DJcC<$kl6/~> -JcCT,nc47@JcC<$df9.DJcC<$lMlA~> -JcCT,nc47@JcC<$df9.DJcC<$lMlA~> -JcCT,nc47@JcC<$df9.DJcC<$lMlA~> -JcEIaRK.p=JcC<$oDe[fJcC<$li2J~> -JcEIaRK.p=JcC<$oDe[fJcC<$li2J~> -JcEIaRK.p=JcC<$oDe[fJcC<$li2J~> -JcEIaRK.p=JcC<$o)JOdJcC<$mJh\~> -JcEIaRK.p=JcC<$o)JOdJcC<$mJh\~> -JcEIaRK.p=JcC<$o)JOdJcC<$mJh\~> -JcEIaRK.p=JcC<$nGi@cJcC<$mf.e~> -JcEIaRK.p=JcC<$nGi@cJcC<$mf.e~> -JcEIaRK.p=JcC<$nGi@cJcC<$mf.e~> -JcEIarW&VkrW%NLJcC<$n,N4aJcC<$nGe"~> -JcEIarW&VkrW%NLJcC<$n,N4aJcC<$nGe"~> -JcEIarW&VkrW%NLJcC<$n,N4aJcC<$nGe"~> -JcEIarW&VkrW%NLJcC<$mJm%`JcC<$nc++~> -JcEIarW&VkrW%NLJcC<$mJm%`JcC<$nc++~> -JcEIarW&VkrW%NLJcC<$mJm%`JcC<$nc++~> -JcEIarW&VkrW%NLJcC<$m/Qn^JcC<$oDa=~> -JcEIarW&VkrW%NLJcC<$m/Qn^JcC<$oDa=~> -JcEIarW&VkrW%NLJcC<$m/Qn^JcC<$oDa=~> -JcEIarW&VkrW%NLJcC<$lMp_]JcC<$o`'F~> -JcEIarW&VkrW%NLJcC<$lMp_]JcC<$o`'F~> -JcEIarW&VkrW%NLJcC<$lMp_]JcC<$o`'F~> -JcEIarW&VkrW%NLJcC<$l2US[JcC<$pA]X~> -JcEIarW&VkrW%NLJcC<$l2US[JcC<$pA]X~> -JcEIarW&VkrW%NLJcC<$l2US[JcC<$pA]X~> -JcEIarW&VkrW%NLJcC<$kPtDZJcC<$p]#a~> -JcEIarW&VkrW%NLJcC<$kPtDZJcC<$p]#a~> -JcEIarW&VkrW%NLJcC<$kPtDZJcC<$p]#a~> -JcEIarW&VkrW%NLJcC<$k5Y;YJcC<$q#>j~> -JcEIarW&VkrW%NLJcC<$k5Y;YJcC<$q#>j~> -JcEIarW&VkrW%NLJcC<$k5Y;YJcC<$q#>j~> -JcEIarW&VkrW%NLJcC<$jT#)WJcC<$qYu'~> -JcEIarW&VkrW%NLJcC<$jT#)WJcC<$qYu'~> -JcEIarW&VkrW%NLJcC<$jT#)WJcC<$qYu'~> -JcEIarW&VkrW%NLJcC<$j8\uVJcC<$qu;0~> -JcEIarW&VkrW%NLJcC<$j8\uVJcC<$qu;0~> -JcEIarW&VkrW%NLJcC<$j8\uVJcC<$qu;0~> -JcEIarW&VkrW%NLJcC<$iW&cTp\t3nJcCQ+J,~> -JcEIarW&VkrW%NLJcC<$iW&cTp\t3nJcCQ+J,~> -JcEIarW&VkrW%NLJcC<$iW&cTp\t3nJcCQ+J,~> -JcEIarW&VkrW%NLJcC<$i;`ZSq#: -JcEIarW&VkrW%NLJcC<$i;`ZSq#: -JcEIarW&VkrW%NLJcC<$i;`ZSq#: -JcEIarW)6`rrC+>rrD`lrW%NLJcC<$hZ*HQqu?WqJcCT,J,~> -JcEIarW)6`rrC+>rrD`lrW%NLJcC<$hZ*HQqu?WqJcCT,J,~> -JcEIarW)6`rrC+>rrD`lrW%NLJcC<$hZ*HQqu?WqJcCT,J,~> -JcEIarW)r;cNjrW%NLJcC<$h>d?Pr;Z`rJcCT,J,~> -JcEIarW)r;cNjrW%NLJcC<$h>d?Pr;Z`rJcCT,J,~> -JcEIarW)r;cNjrW%NLJcC<$h>d?Pr;Z`rJcCT,J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$g].-Nrr;osJcCW-J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$g].-Nrr;osJcCW-J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$g].-Nrr;osJcCW-J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$gAh$Ms8W#tJcCW-J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$gAh$Ms8W#tJcCW-J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$gAh$Ms8W#tJcCW-J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$f`1XFJcCZ.J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$f`1XFJcCZ.J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$f`1XFJcCZ.J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$fDkRFJcCZ.J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$fDkRFJcCZ.J,~> -JcEIarW)9arW(%>rW)WkrW%NLJcC<$fDkRFJcCZ.J,~> -JcEIarW)TjqZ-WqrW)osrW)rtr;c`p!W`9#rW)rtrrE*!rW)lrrW)cor;ZitrW)WkrW%NLJcC<$ -ec5CEJcC]/J,~> -JcEIarW)TjqZ-WqrW)osrW)rtr;c`p!W`9#rW)rtrrE*!rW)lrrW)cor;ZitrW)WkrW%NLJcC<$ -ec5CEJcC]/J,~> -JcEIarW)TjqZ-WqrW)osrW)rtr;c`p!W`9#rW)rtrrE*!rW)lrrW)cor;ZitrW)WkrW%NLJcC<$ -ec5CEJcC]/J,~> -JcEIarW)WkrrE&urrE&urW)osrW)lrrW)uuo)JdjquHcsqZ-NnrrE&ur;cNjrW%NLJcC<$eGo:D -JcC`0J,~> -JcEIarW)WkrrE&urrE&urW)osrW)lrrW)uuo)JdjquHcsqZ-NnrrE&ur;cNjrW%NLJcC<$eGo:D -JcC`0J,~> -JcEIarW)WkrrE&urrE&urW)osrW)lrrW)uuo)JdjquHcsqZ-NnrrE&ur;cNjrW%NLJcC<$eGo:D -JcC`0J,~> -JcEIarW)ZlrW)os!!*#urW)lrrW)osrW)rtq#LHpr;cisr;cfrrrDusrrDusrW)WkrW%NLJcC<$ -f)PFDJcC`0J,~> -JcEIarW)ZlrW)os!!*#urW)lrrW)osrW)rtq#LHpr;cisr;cfrrrDusrrDusrW)WkrW%NLJcC<$ -f)PFDJcC`0J,~> -JcEIarW)ZlrW)os!!*#urW)lrrW)osrW)rtq#LHpr;cisr;cfrrrDusrrDusrW)WkrW%NLJcC<$ -f)PFDJcC`0J,~> -JcEIarW)ZlrW)os!!*#urW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrW)lrrW)WkrW%NLJcC<$ -f`1OCJcCc1J,~> -JcEIarW)ZlrW)os!!*#urW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrW)lrrW)WkrW%NLJcC<$ -f`1OCJcCc1J,~> -JcEIarW)ZlrW)os!!*#urW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrW)lrrW)WkrW%NLJcC<$ -f`1OCJcCc1J,~> -JcEIarW)ZlrW)corW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrW)lrrW)WkrW%NLJcC<$gAg[C -JcCc1J,~> -JcEIarW)ZlrW)corW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrW)lrrW)WkrW%NLJcC<$gAg[C -JcCc1J,~> -JcEIarW)ZlrW)corW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrW)lrrW)WkrW%NLJcC<$gAg[C -JcCc1J,~> -JcEIarW)Wkr;c`prW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDrrrW)WkrW%NLJcC<$r;W5d -JcEUeJ,~> -JcEIarW)Wkr;c`prW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDrrrW)WkrW%NLJcC<$r;W5d -JcEUeJ,~> -JcEIarW)Wkr;c`prW)lrrW)osrW)osrW)iqrW)osr;cfrrW)rtrrDrrrW)WkrW%NLJcC<$r;W5d -JcEUeJ,~> -JcEIarW)TjquH]qrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)iqrW)WkrW%NLJcC<$r;W5d -JcEUeJ,~> -JcEIarW)TjquH]qrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)iqrW)WkrW%NLJcC<$r;W5d -JcEUeJ,~> -JcEIarW)TjquH]qrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)iqrW)WkrW%NLJcC<$r;W5d -JcEUeJ,~> -JcEIarW)QiquH`rrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)iqrW)WkrW%NLJcC<$r;W5d -JcEUeJ,~> -JcEIarW)QiquH`rrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)iqrW)WkrW%NLJcC<$r;W5d -JcEUeJ,~> -JcEIarW)QiquH`rrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)iqrW)WkrW%NLJcC<$r;W5d -JcEUeJ,~> -JcEIarW)Kgr;cltrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uur;ccqrW)WkrW%NLJcC<$r;Z`r -U&Y)lJcEUeJ,~> -JcEIarW)Kgr;cltrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uur;ccqrW)WkrW%NLJcC<$r;Z`r -U&Y)lJcEUeJ,~> -JcEIarW)Kgr;cltrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uur;ccqrW)WkrW%NLJcC<$r;Z`r -U&Y)lJcEUeJ,~> -JcEIarW)Zl!!)rsrW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtrW)lrrW)WkrW%NLJcC<$ -r;Z`rU&Y)lJcEUeJ,~> -JcEIarW)Zl!!)rsrW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtrW)lrrW)WkrW%NLJcC<$ -r;Z`rU&Y)lJcEUeJ,~> -JcEIarW)Zl!!)rsrW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtrW)lrrW)WkrW%NLJcC<$ -r;Z`rU&Y)lJcEUeJ,~> -JcEIarW)ZlrrE#trW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtr;cfrrW)WkrW%NLJcC<$ -r;Z`rU&Y)lJcEUeJ,~> -JcEIarW)ZlrrE#trW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtr;cfrrW)WkrW%NLJcC<$ -r;Z`rU&Y)lJcEUeJ,~> -JcEIarW)ZlrrE#trW)uurW)lrrW)osrW)osrW)iqrW)lrrW)osrW)rtr;cfrrW)WkrW%NLJcC<$ -r;Z`rU&Y)lJcEUeJ,~> -JcEIarW)ZlrrE#trrE&urW)lrp&P*lrW)iqrW)osr;cfrrW)oso`4adrW%NLJcC<$r;Z`rU&Y)l -JcEUeJ,~> -JcEIarW)ZlrrE#trrE&urW)lrp&P*lrW)iqrW)osr;cfrrW)oso`4adrW%NLJcC<$r;Z`rU&Y)l -JcEUeJ,~> -JcEIarW)ZlrrE#trrE&urW)lrp&P*lrW)iqrW)osr;cfrrW)oso`4adrW%NLJcC<$r;Z`rU&Y)l -JcEUeJ,~> -JcEIarW)Zlq>gNpqZ-Tpqu?`sr;ZitqZ-TpquHcsqZ-ZrquH]qp]1!erW%NLJcC<$r;Z`rU&Y)l -JcEUeJ,~> -JcEIarW)Zlq>gNpqZ-Tpqu?`sr;ZitqZ-TpquHcsqZ-ZrquH]qp]1!erW%NLJcC<$r;Z`rU&Y)l -JcEUeJ,~> -JcEIarW)Zlq>gNpqZ-Tpqu?`sr;ZitqZ-TpquHcsqZ-ZrquH]qp]1!erW%NLJcC<$r;Z`rU&Y)l -JcEUeJ,~> -JcEIarW)NhrrDTh!!(RLrrDQgrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW)NhrrDTh!!(RLrrDQgrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW)NhrrDTh!!(RLrrDQgrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rU&Y)lJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rlMpkaaT)8?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rlMpkaaT)8?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rlMpkaaT)8?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rm/R"ab5_D?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rm/R"ab5_D?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rm/R"ab5_D?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW&VkrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW(sX!!)6_!!(aQrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW(sX!!)6_!!(aQrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW(sX!!)6_!!(aQrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW)$ZrW)0^rW(aRrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW)$ZrW)0^rW(aRrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW)$ZrW)0^rW(aRrW%NLJcC<$r;Z`rli6qaaoD>?p&G!kJcEUeJ,~> -JcEIarW)*\quGs\quGURrW%NLJcC<$r;Z`rp&FmhrVuisrVuisrr;osqu6]ts8W&urr;uus8W&u -r;Z`rqZ$Ko!<<#up&G!kJcEUeJ,~> -JcEIarW)*\quGs\quGURrW%NLJcC<$r;Z`rp&FmhrVuisrVuisrr;osqu6]ts8W&urr;uus8W&u -r;Z`rqZ$Ko!<<#up&G!kJcEUeJ,~> -JcEIarW)*\quGs\quGURrW%NLJcC<$r;Z`rp&FmhrVuisrVuisrr;osqu6]ts8W&urr;uus8W&u -r;Z`rqZ$Ko!<<#up&G!kJcEUeJ,~> -JcEIaRK.p=JcC<$r;Z`rpAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!k -JcEUeJ,~> -JcEIaRK.p=JcC<$r;Z`rpAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!k -JcEUeJ,~> -JcEIaRK.p=JcC<$r;Z`rpAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!k -JcEUeJ,~> -JcEIaRK.p=JcC<$r;Z`rp](3mrVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`r -p&G!kJcEUeJ,~> -JcEIaRK.p=JcC<$r;Z`rp](3mrVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`r -p&G!kJcEUeJ,~> -JcEIaRK.p=JcC<$r;Z`rp](3mrVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`r -p&G!kJcEUeJ,~> -JcEIaRK.p=JcC<$r;Z`rp](3mrVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`r -p&G!kJcEUeJ,~> -JcEIaRK.p=JcC<$r;Z`rp](3mrVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`r -p&G!kJcEUeJ,~> -JcEIaRK.p=JcC<$r;Z`rp](3mrVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`r -p&G!kJcEUeJ,~> -JcDbMo)RqQo`0RCJcC<$hZ*QTp](3mq#C -JcDbMo)RqQo`0RCJcC<$hZ*QTp](3mq#C -JcDbMo)RqQo`0RCJcC<$hZ*QTp](3mq#C -JcDbMo)RqQo)O@AJcC<$i;`cVpAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wq -p&G!kJcEUeJ,~> -JcDbMo)RqQo)O@AJcC<$i;`cVpAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wq -p&G!kJcEUeJ,~> -JcDbMo)RqQo)O@AJcC<$i;`cVpAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wq -p&G!kJcEUeJ,~> -JcDSHp]0IVp],mFJcC<$g].6Qp&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wq -p&G!kJcEUeJ,~> -JcDSHp]0IVp],mFJcC<$g].6Qp&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wq -p&G!kJcEUeJ,~> -JcDSHp]0IVp],mFJcC<$g].6Qp&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wq -p&G!kJcEUeJ,~> -JcDSHq#KOVq#H!GJcC<$gAh-Po`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wq -p&G!kJcEUeJ,~> -JcDSHq#KOVq#H!GJcC<$gAh-Po`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wq -p&G!kJcEUeJ,~> -JcDSHq#KOVq#H!GJcC<$gAh-Po`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wq -p&G!kJcEUeJ,~> -JcDVIr;Zitr;bpYq#H!GJcC<$g].6Qo)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;ut -r;Z`rp&G!kJcEUeJ,~> -JcDVIr;Zitr;bpYq#H!GJcC<$g].6Qo)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;ut -r;Z`rp&G!kJcEUeJ,~> -JcDVIr;Zitr;bpYq#H!GJcC<$g].6Qo)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;ut -r;Z`rp&G!kJcEUeJ,~> -JcDYJr;cltr;bpYrVurur;_EKJcC<$g].6Qp\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`r -rVuiss8W&ur;Z`rp&G!kJcEUeJ,~> -JcDYJr;cltr;bpYrVurur;_EKJcC<$g].6Qp\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`r -rVuiss8W&ur;Z`rp&G!kJcEUeJ,~> -JcDYJr;cltr;bpYrVurur;_EKJcC<$g].6Qp\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`r -rVuiss8W&ur;Z`rp&G!kJcEUeJ,~> -JcD\KquHcsr;bpYrW)uur;_EKJcC<$h#I?Rp](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`r -rVuiss8W#trVuisp&G!kJcEUeJ,~> -JcD\KquHcsr;bpYrW)uur;_EKJcC<$h#I?Rp](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`r -rVuiss8W#trVuisp&G!kJcEUeJ,~> -JcD\KquHcsr;bpYrW)uur;_EKJcC<$h#I?Rp](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`r -rVuiss8W#trVuisp&G!kJcEUeJ,~> -JcD_LquH]qrrD*ZrW)rtr;_EKJcC<$h>dHSp](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuis -rr;Wkp](3mJcEUeJ,~> -JcD_LquH]qrrD*ZrW)rtr;_EKJcC<$h>dHSp](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuis -rr;Wkp](3mJcEUeJ,~> -JcD_LquH]qrrD*ZrW)rtr;_EKJcC<$h>dHSp](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuis -rr;Wkp](3mJcEUeJ,~> -JcD_Lr;ccqrrD*ZrrDusr;_EKJcC<$hZ*QTp]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vus -rr;`np&G!kJcEUeJ,~> -JcD_Lr;ccqrrD*ZrrDusr;_EKJcC<$hZ*QTp]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vus -rr;`np&G!kJcEUeJ,~> -JcD_Lr;ccqrrD*ZrrDusr;_EKJcC<$hZ*QTp]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vus -rr;`np&G!kJcEUeJ,~> -JcDbMr;c`prrD'Y!!)rsquD -JcDbMr;c`prrD'Y!!)rsquD -JcDbMr;c`prrD'Y!!)rsquD -JcDeNr;cZn!!)$Y!!)orr;_EKJcC<$huEZUU&Y)lJcEUeJ,~> -JcDeNr;cZn!!)$Y!!)orr;_EKJcC<$huEZUU&Y)lJcEUeJ,~> -JcDeNr;cZn!!)$Y!!)orr;_EKJcC<$huEZUU&Y)lJcEUeJ,~> -JcDhOr;b4Er;_EKJcC<$i;`cVU&Y)lJcEUeJ,~> -JcDhOr;b4Er;_EKJcC<$i;`cVU&Y)lJcEUeJ,~> -JcDhOr;b4Er;_EKJcC<$i;`cVU&Y)lJcEUeJ,~> -JcDkPquG(Cr;_EKJcC<$iW&lWU&Y)lJcEUeJ,~> -JcDkPquG(Cr;_EKJcC<$iW&lWU&Y)lJcEUeJ,~> -JcDkPquG(Cr;_EKJcC<$iW&lWU&Y)lJcEUeJ,~> -JcDnQquG%BquD -JcDnQquG%BquD -JcDnQquG%BquD -JcDnQr;b(Ar;_EKJcC<$irAuXU&Y)lJcEUeJ,~> -JcDnQr;b(Ar;_EKJcC<$irAuXU&Y)lJcEUeJ,~> -JcDnQr;b(Ar;_EKJcC<$irAuXU&Y)lJcEUeJ,~> -JcDqRr;b"?r;_EKJcC<$j8])YU&Y)lJcEUeJ,~> -JcDqRr;b"?r;_EKJcC<$j8])YU&Y)lJcEUeJ,~> -JcDqRr;b"?r;_EKJcC<$j8])YU&Y)lJcEUeJ,~> -JcDtSr;aq=r;_EKJcC<$jT#2ZU&Y)lJcEUeJ,~> -JcDtSr;aq=r;_EKJcC<$jT#2ZU&Y)lJcEUeJ,~> -JcDtSr;aq=r;_EKJcC<$jT#2ZU&Y)lJcEUeJ,~> -JcE"Tr;an;[U&Y)lJcEUeJ,~> -JcE"Tr;an;[U&Y)lJcEUeJ,~> -JcE"Tr;an;[U&Y)lJcEUeJ,~> -JcE%UquFb:r;_EKJcC<$jo>;[U&Y)lJcEUeJ,~> -JcE%UquFb:r;_EKJcC<$jo>;[U&Y)lJcEUeJ,~> -JcE%UquFb:r;_EKJcC<$jo>;[U&Y)lJcEUeJ,~> -JcE(VquF\8r;_EKJcC<$k5YD\j8],Znc/Uhe,TCIJcEUeJ,~> -JcE(VquF\8r;_EKJcC<$k5YD\j8],Znc/Uhe,TCIJcEUeJ,~> -JcE(VquF\8r;_EKJcC<$k5YD\j8],Znc/Uhe,TCIJcEUeJ,~> -JcE(Vr;a_7r;_EKJcC<$kPtM]k5YA[nGi@cfDkgMJcEUeJ,~> -JcE(Vr;a_7r;_EKJcC<$kPtM]k5YA[nGi@cfDkgMJcEUeJ,~> -JcE(Vr;a_7r;_EKJcC<$kPtM]k5YA[nGi@cfDkgMJcEUeJ,~> -JcE+Wr;a\6quD -JcE+Wr;a\6quD -JcE+Wr;a\6quD -JcE.Xr;aV4quD -JcE.Xr;aV4quD -JcE.Xr;aV4quD -JcE1YquFJ2r;_EKJcC<$l2R4QJcEUeJ,~> -JcE1YquFJ2r;_EKJcC<$l2R4QJcEUeJ,~> -JcE1YquFJ2r;_EKJcC<$l2R4QJcEUeJ,~> -JcE4ZquFD0r;_EKJcC<$lMm=RJcEUeJ,~> -JcE4ZquFD0r;_EKJcC<$lMm=RJcEUeJ,~> -JcE4ZquFD0r;_EKJcC<$lMm=RJcEUeJ,~> -JcE4Zr;aG/r;_EKJcC<$f`1OCmJln\JcD5>J,~> -JcE4Zr;aG/r;_EKJcC<$f`1OCmJln\JcD5>J,~> -JcE4Zr;aG/r;_EKJcC<$f`1OCmJln\JcD5>J,~> -JcE7[r;aD.quD -JcE7[r;aD.quD -JcE7[r;aD.quD -JcE:\r;a>,r;_EKJcC<$eGo:Dm/Qh\JcD5>J,~> -JcE:\r;a>,r;_EKJcC<$eGo:Dm/Qh\JcD5>J,~> -JcE:\r;a>,r;_EKJcC<$eGo:Dm/Qh\JcD5>J,~> -JcE=]r;a8*r;_EKJcC<$f)PLFlMpVZJcD8?J,~> -JcE=]r;a8*r;_EKJcC<$f)PLFlMpVZJcD8?J,~> -JcE=]r;a8*r;_EKJcC<$f)PLFlMpVZJcD8?J,~> -JcE@^quF,(r;_EKJcC<$f`1jL!<;utlMpe_!<;rsJcD;@J,~> -JcE@^quF,(r;_EKJcC<$f`1jL!<;utlMpe_!<;rsJcD;@J,~> -JcE@^quF,(r;_EKJcC<$f`1jL!<;utlMpe_!<;rsJcD;@J,~> -JcEC_quF)'quDAJ,~> -JcEC_quF)'quDAJ,~> -JcEC_quF)'quDAJ,~> -JcEC_r;a,&r;_EKJcC<$gAh*OrVuisl2U__rr;lrJcDABJ,~> -JcEC_r;a,&r;_EKJcC<$gAh*OrVuisl2U__rr;lrJcDABJ,~> -JcEC_r;a,&r;_EKJcC<$gAh*OrVuisl2U__rr;lrJcDABJ,~> -JcEF`r;a&$r;_EKJcC<$h#I -JcEF`r;a&$r;_EKJcC<$h#I -JcEF`r;a&$r;_EKJcC<$h#I -JcEIar;`u"r;_EKJcC<$hZ*NSqu?Zrkl:Y_qu?QoJcDGDJ,~> -JcEIar;`u"r;_EKJcC<$hZ*NSqu?Zrkl:Y_qu?QoJcDGDJ,~> -JcEIar;`u"r;_EKJcC<$hZ*NSqu?Zrkl:Y_qu?QoJcDGDJ,~> -JcELbr;`r!quD -JcELbr;`r!quD -JcELbr;`r!quD -JcEOcquEetr;_EKJcC<$iW&iVq#: -JcEOcquEetr;_EKJcC<$iW&iVq#: -JcEOcquEetr;_EKJcC<$iW&iVq#: -JcERdquE_rr;_EKJcC<$j8]#We,T=GJcDPGJ,~> -JcERdquE_rr;_EKJcC<$j8]#We,T=GJcDPGJ,~> -JcERdquE_rr;_EKJcC<$j8]#We,T=GJcDPGJ,~> -JcERdr;`bqr;_EKJcC<$jo>5Yd/X%EJcDSHJ,~> -JcERdr;`bqr;_EKJcC<$jo>5Yd/X%EJcDSHJ,~> -JcERdr;`bqr;_EKJcC<$jo>5Yd/X%EJcDSHJ,~> -JcEUer;`\or;_EKJcC<$kPtG[cN!eBJcDYJJ,~> -JcEUer;`\or;_EKJcC<$kPtG[cN!eBJcDYJJ,~> -JcEUer;`\or;_EKJcC<$kPtG[cN!eBJcDYJJ,~> -JcEXfr;`YnquD -JcEXfr;`YnquD -JcEXfr;`YnquD -JcE[gquEMlr;_EKJcC<$lMpb^b5_A>JcD_LJ,~> -JcE[gquEMlr;_EKJcC<$lMpb^b5_A>JcD_LJ,~> -JcE[gquEMlr;_EKJcC<$lMpb^b5_A>JcD_LJ,~> -JcE^hquEGjr;_EKJcC<$m/Qt`aT)/ -JcE^hquEGjr;_EKJcC<$m/Qt`aT)/ -JcE^hquEGjr;_EKJcC<$m/Qt`aT)/ -JcE^hr;`Jir;_EKJcC<$mf31b`rGr:JcDeNJ,~> -JcE^hr;`Jir;_EKJcC<$mf31b`rGr:JcDeNJ,~> -JcE^hr;`Jir;_EKJcC<$mf31b`rGr:JcDeNJ,~> -JcEair;`GhquD -JcEair;`GhquD -JcEair;`GhquD -JcEdjr;`Afr;_EKJcC<$nc/Le_Z0N6JcDkPJ,~> -JcEdjr;`Afr;_EKJcC<$nc/Le_Z0N6JcDkPJ,~> -JcEdjr;`Afr;_EKJcC<$nc/Le_Z0N6JcDkPJ,~> -JcEgkr;`;dr;_EKJcC<$o)JXg_#O<4JcDnQJ,~> -JcEgkr;`;dr;_EKJcC<$o)JXg_#O<4JcDnQJ,~> -JcEgkr;`;dr;_EKJcC<$o)JXg_#O<4JcDnQJ,~> -JcEjlquE/br;_EKJcC<$o`+ji^An*2JcDqRJ,~> -JcEjlquE/br;_EKJcC<$o`+ji^An*2JcDqRJ,~> -JcEjlquE/br;_EKJcC<$o`+ji^An*2JcDqRJ,~> -JcEmmquE,aquD -JcEmmquE,aquD -JcEmmquE,aquD -JcEmmr;`/`r;_EKJcC<$p](0l])V[.JcE"TJ,~> -JcEmmr;`/`r;_EKJcC<$p](0l])V[.JcE"TJ,~> -JcEmmr;`/`r;_EKJcC<$p](0l])V[.JcE"TJ,~> -JcEpnr;`)^r;_EKJcC<$q>^Bn\GuI,JcE%UJ,~> -JcEpnr;`)^r;_EKJcC<$q>^Bn\GuI,JcE%UJ,~> -JcEpnr;`)^r;_EKJcC<$q>^Bn\GuI,JcE%UJ,~> -JcEsor;`#\r;_EKJcC<$qu?Tp[f?7*JcE(VJ,~> -JcEsor;`#\r;_EKJcC<$qu?Tp[f?7*JcE(VJ,~> -JcEsor;`#\r;_EKJcC<$qu?Tp[f?7*JcE(VJ,~> -JcF!pr;_u[quD -JcF!pr;_u[quD -JcF!pr;_u[quD -JcF$qquDiYquD -JcF$qquDiYquD -JcF$qquDiYquD -JcF'rquDcWr;_EKJcC<$!<;rsYlFV$JcE4ZJ,~> -JcF'rquDcWr;_EKJcC<$!<;rsYlFV$JcE4ZJ,~> -JcF'rquDcWr;_EKJcC<$!<;rsYlFV$JcE4ZJ,~> -JcF'rr;_fVr;_EKJcC?%quEo"quD -JcF'rr;_fVr;_EKJcC?%quEo"quD -JcF'rr;_fVr;_EKJcC?%quEo"quD -JcF*sr;_`Tr;_EKJcCE'quEhuquD -JcF*sr;_`Tr;_EKJcCE'quEhuquD -JcF*sr;_`Tr;_EKJcCE'quEhuquD -JcF-tr;_]SquD -JcF-tr;_]SquD -JcF-tr;_]SquD -JcF0uquDQQr;_EKJcCN*quE\qquD -JcF0uquDQQr;_EKJcCN*quE\qquD -JcF0uquDQQr;_EKJcCN*quE\qquD -JcF4!quDKOr;_EKJcCT,quEVoquD -JcF4!quDKOr;_EKJcCT,quEVoquD -JcF4!quDKOr;_EKJcCT,quEVoquD -JcF4!r;_NNr;_EKJcCZ.quEPmquD -JcF4!r;_NNr;_EKJcCZ.quEPmquD -JcF4!r;_NNr;_EKJcCZ.quEPmquD -JcF7"r;_KMquD -JcF7"r;_KMquD -JcF7"r;_KMquD -JcF:#r;_EKr;_EKJcC`0r;`MjquD -JcF:#r;_EKr;_EKJcC`0r;`MjquD -JcF:#r;_EKr;_EKJcC`0r;`MjquD -JcF=$r;_EKs8W#tJcC<$O8o.YT)\]gJcEOcJ,~> -JcF=$r;_EKs8W#tJcC<$O8o.YT)\]gJcEOcJ,~> -JcF=$r;_EKs8W#tJcC<$O8o.YT)\]gJcEOcJ,~> -JcF@%quD -JcF@%quD -JcF@%quD -JcFC&quD -JcFC&quD -JcFC&quD -JcFC&r;_EKqu?TpJcC<$PlL[^R/d'aJcEXfJ,~> -JcFC&r;_EKqu?TpJcC<$PlL[^R/d'aJcEXfJ,~> -JcFC&r;_EKqu?TpJcC<$PlL[^R/d'aJcEXfJ,~> -JcFF'r;_EKq>^BnJcC<$QN-j_QiHs`JcE[gJ,~> -JcFF'r;_EKq>^BnJcC<$QN-j_QiHs`JcE[gJ,~> -JcFF'r;_EKq>^BnJcC<$QN-j_QiHs`JcE[gJ,~> -JcFI(r;_EKp](0lJcC<$R/d'aPlL[^JcE^hJ,~> -JcFI(r;_EKp](0lJcC<$R/d'aPlL[^JcE^hJ,~> -JcFI(r;_EKp](0lJcC<$R/d'aPlL[^JcE^hJ,~> -JcFL)r;_EKp&FsjJcC<$RfE9cP5kF[JcEdjJ,~> -JcFL)r;_EKp&FsjJcC<$RfE9cP5kF[JcEdjJ,~> -JcFL)r;_EKp&FsjJcC<$RfE9cP5kF[JcEdjJ,~> -JcFO*quD -JcFO*quD -JcFO*quD -JcFR+quD -JcFR+quD -JcFR+quD -JcFR+r;_EKnc/OfJcC<$TE"fhN;reUJcEmmJ,~> -JcFR+r;_EKnc/OfJcC<$TE"fhN;reUJcEmmJ,~> -JcFR+r;_EKnc/OfJcC<$TE"fhN;reUJcEmmJ,~> -JcFU,r;_EKn,N=dJcC<$U&Y#jMZ -JcFU,r;_EKn,N=dJcC<$U&Y#jMZ -JcFU,r;_EKn,N=dJcC<$U&Y#jMZ -JcFX-r;_EKmf31bJcC<$U]:5lM#[AQJcEsoJ,~> -JcFX-r;_EKmf31bJcC<$U]:5lM#[AQJcEsoJ,~> -JcFX-r;_EKmf31bJcC<$U]:5lM#[AQJcEsoJ,~> -JcF[.quD -JcF[.quD -JcF[.quD -JcF^/quDpJoK`CrMJcF$qJ,~> -JcF^/quDpJoK`CrMJcF$qJ,~> -JcF^/quDpJoK`CrMJcF$qJ,~> -JcF^/r;_EKl2U\^JcC<$VuQ\qK)b`KJcF'rJ,~> -JcF^/r;_EKl2U\^JcC<$VuQ\qK)b`KJcF'rJ,~> -JcF^/r;_EKl2U\^JcC<$VuQ\qK)b`KJcF'rJ,~> -JcFa0r;_EKkl:P\JcC<$WW2nsJc>`MquD -JcFa0r;_EKkl:P\JcC<$WW2nsJc>`MquD -JcFa0r;_EKkl:P\JcC<$WW2nsJc>`MquD -JcFd1r;_EKk5YA[JcC<$WrN"tJcG`LquD -JcFd1r;_EKk5YA[JcC<$WrN"tJcG`LquD -JcFd1r;_EKk5YA[JcC<$WrN"tJcG`LquD -JcFg2r;_EKjT#/YJcC<$XT/5!JcGZJquD -JcFg2r;_EKjT#/YJcC<$XT/5!JcGZJquD -JcFg2r;_EKjT#/YJcC<$XT/5!JcGZJquD -JcFj3quD -JcFj3quD -JcFj3quD -JcFm4quD -JcFm4quD -JcFm4quD -JcFm4r;_EKi;``UJcC<$Z2a_%JcGHDr;_EKec1.~> -JcFm4r;_EKi;``UJcC<$Z2a_%JcGHDr;_EKec1.~> -JcFm4r;_EKi;``UJcC<$Z2a_%JcGHDr;_EKec1.~> -JcFp5r;_EKhZ*NSJcC<$ZiBq'JcGBBquD -JcFp5r;_EKhZ*NSJcC<$ZiBq'JcGBBquD -JcFp5r;_EKhZ*NSJcC<$ZiBq'JcGBBquD -JcFs6r;_EKh#I -JcFs6r;_EKh#I -JcFs6r;_EKh#I -JcG!7quDquD -JcG!7quDquD -JcG!7quDquD -JcG$8quD -JcG$8quD -JcG$8quD -JcG'9quD -JcG'9quD -JcG'9quD -JcG'9r;_EKf)P[KJcC<$]`7m0JcG$8quD -JcG'9r;_EKf)P[KJcC<$]`7m0JcG$8quD -JcG'9r;_EKf)P[KJcC<$]`7m0JcG$8quD -JcG*:r;_EKeGoIIJcC<$^&S$2JcFs6quD`!~> -JcG*:r;_EKeGoIIJcC<$^&S$2JcFs6quD`!~> -JcG*:r;_EKeGoIIJcC<$^&S$2JcFs6quD`!~> -JcG-;r;_EKe,T=GJcC<$^]464JcFm4quD -JcG-;r;_EKe,T=GJcC<$^]464JcFm4quD -JcG-;r;_EKe,T=GJcC<$^]464JcFm4quD -JcG0 -JcG0 -JcG0 -JcG3=quD -JcG3=quD -JcG3=quD -JcG3=r;_EKcN!hCJcC<$`;fc9JcF[.quD -JcG3=r;_EKcN!hCJcC<$`;fc9JcF[.quD -JcG3=r;_EKcN!hCJcC<$`;fc9JcF[.quD -JcG6>r;_EKc2[\AJcC<$`rGu;JcFU,quD -JcG6>r;_EKc2[\AJcC<$`rGu;JcFU,quD -JcG6>r;_EKc2[\AJcC<$`rGu;JcFU,quD -JcG9?r;_EKbQ%M@JcC<$a8c&;JcFR+quD -JcG9?r;_EKbQ%M@JcC<$a8c&;JcFR+quD -JcG9?r;_EKbQ%M@JcC<$a8c&;JcFR+quD -JcG<@r;_EKaoD;>JcC<$aoD8=JcFL)quD -JcG<@r;_EKaoD;>JcC<$aoD8=JcFL)quD -JcG<@r;_EKaoD;>JcC<$aoD8=JcFL)quD -JcG?AquD -JcG?AquD -JcG?AquD -JcGBBquD -JcGBBquD -JcGBBquD -JcGBBr;_EK`W,i9JcC<$ci -JcGBBr;_EK`W,i9JcC<$ci -JcGBBr;_EK`W,i9JcC<$ci -JcGECr;_EK_uKZ8JcC<$d/X"DJcF0uquD -JcGECr;_EK_uKZ8JcC<$d/X"DJcF0uquD -JcGECr;_EK_uKZ8JcC<$d/X"DJcF0uquD -JcGHDr;_EK_>jH6JcC<$df94FJcF*squD -JcGHDr;_EK_>jH6JcC<$df94FJcF*squD -JcGHDr;_EK_>jH6JcC<$df94FJcF*squD -JcGKEquD -JcGKEquD -JcGKEquD -JcGNFquD -JcGNFquD -JcGNFquD -JcGQGquD -JcGQGquD -JcGQGquD -JcGQGr;_EK]Dqg0JcC<$f`1mMJcEgkquD -JcGQGr;_EK]Dqg0JcC<$f`1mMJcEgkquD -JcGQGr;_EK]Dqg0JcC<$f`1mMJcEgkquD -JcGTHr;_EK\c;U.JcC<$gAh*OJcEaiquD -JcGTHr;_EK\c;U.JcC<$gAh*OJcEaiquD -JcGTHr;_EK\c;U.JcC<$gAh*OJcEaiquD -JcGWIr;_EK\GuI,JcC<$h#I -JcGWIr;_EK\GuI,JcC<$h#I -JcGWIr;_EK\GuI,JcC<$h#I -JcGZJquDdERJcEUequD -JcGZJquDdERJcEUequD -JcGZJquDdERJcEUequD -JcG]KquD -JcG]KquD -JcG]KquD -JcG]Kr;_EKZiBt(JcC<$iW&fUJcELbquD -JcG]Kr;_EKZiBt(JcC<$iW&fUJcELbquD -JcG]Kr;_EKZiBt(JcC<$iW&fUJcELbquD -JcG`Lr;_EKZN'h&JcC<$j8]#WJcEC_r;_EKo`'F~> -JcG`Lr;_EKZN'h&JcC<$j8]#WJcEC_r;_EKo`'F~> -JcG`Lr;_EKZN'h&JcC<$j8]#WJcEC_r;_EKo`'F~> -JcGcMr;_EKYlFY%JcC<$jT#,XJcE=]quD -JcGcMr;_EKYlFY%JcC<$jT#,XJcE=]quD -JcGcMr;_EKYlFY%JcC<$jT#,XJcE=]quD -Jc>`Mr;_EKY5eG#JcC<$k5Y>ZJcE7[quD -Jc>`Mr;_EKY5eG#JcC<$k5Y>ZJcE7[quD -Jc>`Mr;_EKY5eG#JcC<$k5Y>ZJcE7[quD -JcGWJJcDkPr;_EKJcFs6quD -JcGWJJcDkPr;_EKJcFs6quD -JcGWJJcDkPr;_EKJcFs6quD -K)b`KJcDeNr;_EKJcG$8quD -K)b`KJcDeNr;_EKJcG$8quD -K)b`KJcDeNr;_EKJcG$8quD -K)bcLJcDbMquD -K)bcLJcDbMquD -K)bcLJcDbMquD -KE(lMJcD\Kr;_EKJcG-;quD -KE(lMJcD\Kr;_EKJcG-;quD -KE(lMJcD\Kr;_EKJcG-;quD -K`CuNJcDVIr;_EKJcG0 -K`CuNJcDVIr;_EKJcG0 -K`CuNJcDVIr;_EKJcG0 -N;ikXqu?QoJcDSHr;c]o!!%TMJcGNFr;_EKXT/1uJcG]KJ,~> -N;ikXqu?QoJcDSHr;c]o!!%TMJcGNFr;_EKXT/1uJcG]KJ,~> -N;ikXqu?QoJcDSHr;c]o!!%TMJcGNFr;_EKXT/1uJcG]KJ,~> -N;ikXr;ZZpJcDPGquHZprr@WMJc>]MqZ$KoJcDbMquHQm!!%fSJ,~> -N;ikXr;ZZpJcDPGquHZprr@WMJc>]MqZ$KoJcDbMquHQm!!%fSJ,~> -N;ikXr;ZZpJcDPGquHZprr@WMJc>]MqZ$KoJcDbMquHQm!!%fSJ,~> -NW9"Yr;Z]qJcDJEr;ccqrr@WMJcG`Mr;Z]qJcD\KquHTn!!%fSJ,~> -NW9"Yr;Z]qJcDJEr;ccqrr@WMJcG`Mr;Z]qJcD\KquHTn!!%fSJ,~> -NW9"Yr;Z]qJcDJEr;ccqrr@WMJcG`Mr;Z]qJcD\KquHTn!!%fSJ,~> -NW8tXrr;osJcDDCr;cfrrr@WMJcG`MrVufrJcDVIquHZprr@iSJ,~> -NW8tXrr;osJcDDCr;cfrrr@WMJcG`MrVufrJcDVIquHZprr@iSJ,~> -NW8tXrr;osJcDDCr;cfrrr@WMJcG`MrVufrJcDVIquHZprr@iSJ,~> -NW8tXs8W#tJcD>Ar;cltrW%NLK)bfMrr;osJcDPGquH]qrW%cSJ,~> -NW8tXs8W#tJcD>Ar;cltrW%NLK)bfMrr;osJcDPGquH]qrW%cSJ,~> -NW8tXs8W#tJcD>Ar;cltrW%NLK)bfMrr;osJcDPGquH]qrW%cSJ,~> -NW8tX!<;utJcD;@qu?`sr;_EKKE(lM!<;rsJcDMFquH`rrW%cSJ,~> -NW8tX!<;utJcD;@qu?`sr;_EKKE(lM!<;rsJcDMFquH`rrW%cSJ,~> -NW8tX!<;utJcD;@qu?`sr;_EKKE(lM!<;rsJcDMFquH`rrW%cSJ,~> -NW8eSJcD8?r;Zitr;_EKKE(]HJcDGDquHcsr;_]SJ,~> -NW8eSJcD8?r;Zitr;_EKKE(]HJcDGDquHcsr;_]SJ,~> -NW8eSJcD8?r;Zitr;_EKKE(]HJcDGDquHcsr;_]SJ,~> -NrSnTJcD2=q#H!GKE(`IJcD>Ar;Zitr;_]SJ,~> -NrSnTJcD2=q#H!GKE(`IJcD>Ar;Zitr;_]SJ,~> -NrSnTJcD2=q#H!GKE(`IJcD>Ar;Zitr;_]SJ,~> -NrSqUJcD,;q>c*HK`CiJJcD8?q#H9OJ,~> -NrSqUJcD,;q>c*HK`CiJJcD8?q#H9OJ,~> -NrSqUJcD,;q>c*HK`CiJJcD8?q#H9OJ,~> -NrSeQJcDMFo)O@AK`CfIJcD8?q#H -NrSeQJcDMFo)O@AK`CfIJcD8?q#H -NrSeQJcDMFo)O@AK`CfIJcD8?q#H -NrS\NJcDSHo)O@AL&^`EJcDJEp]-3OJ,~> -NrS\NJcDSHo)O@AL&^`EJcDJEp]-3OJ,~> -NrS\NJcDSHo)O@AL&^`EJcDJEp]-3OJ,~> -O8nhPJcDDCp&K[DL&^cFJcDPGoDjgLJ,~> -O8nhPJcDDCp&K[DL&^cFJcDPGoDjgLJ,~> -O8nhPJcDDCp&K[DL&^cFJcDPGoDjgLJ,~> -O8nqSJcD5>p],mFLB$oHJcDPGnc4UJJ,~> -O8nqSJcD5>p],mFLB$oHJcDPGnc4UJJ,~> -O8nqSJcD5>p],mFLB$oHJcDPGnc4UJJ,~> -O8o"UJcD):q>c*HLB%#KJcDABo)OaLJ,~> -O8o"UJcD):q>c*HLB%#KJcDABo)OaLJ,~> -O8o"UJcD):q>c*HLB%#KJcDABo)OaLJ,~> -O8o(WJcCr6quD -O8o(WJcCr6quD -O8o(WJcCr6quD -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9lMpkaaT)8?p&G!kJcG-;rW)6`rrC.?rrD`lrW%NLmJm.clMpkaaT)8?p&G!kJcG-;rW)6` -rrC.?rrD`lrW'_5J,~> -_uK]9lMpkaaT)8?p&G!kJcG-;rW)6`rrC.?rrD`lrW%NLmJm.clMpkaaT)8?p&G!kJcG-;rW)6` -rrC.?rrD`lrW'_5J,~> -_uK]9lMpkaaT)8?p&G!kJcG-;rW)6`rrC.?rrD`lrW%NLmJm.clMpkaaT)8?p&G!kJcG-;rW)6` -rrC.?rrD`lrW'_5J,~> -_uK]9m/R"ab5_D?p&G!kJcG-;rW) -_uK]9m/R"ab5_D?p&G!kJcG-;rW) -_uK]9m/R"ab5_D?p&G!kJcG-;rW) -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9li6qaaoD>?p&G!kJcG-;rW)9arW((?rW)WkrW%NLmJm.cli6qaaoD>?p&G!kJcG-;rW)9a -rW((?rW)WkrW'_5J,~> -_uK]9p&FmhrVuisrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kJcG-;rW)Wk -qZ-TprW)osrW)rtr;c`p!W`9#rW)rtrrE*!rW)lrrW)fpr;ZitrW)WkrW%NLmJm.cp&FmhrVuis -rVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kJcG-;rW)WkqZ-TprW)osrW)rt -r;c`p!W`9#rW)rtrrE*!rW)lrrW)fpr;ZitrW)WkrW'_5J,~> -_uK]9p&FmhrVuisrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kJcG-;rW)Wk -qZ-TprW)osrW)rtr;c`p!W`9#rW)rtrrE*!rW)lrrW)fpr;ZitrW)WkrW%NLmJm.cp&FmhrVuis -rVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kJcG-;rW)WkqZ-TprW)osrW)rt -r;c`p!W`9#rW)rtrrE*!rW)lrrW)fpr;ZitrW)WkrW'_5J,~> -_uK]9p&FmhrVuisrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kJcG-;rW)Wk -qZ-TprW)osrW)rtr;c`p!W`9#rW)rtrrE*!rW)lrrW)fpr;ZitrW)WkrW%NLmJm.cp&FmhrVuis -rVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kJcG-;rW)WkqZ-TprW)osrW)rt -r;c`p!W`9#rW)rtrrE*!rW)lrrW)fpr;ZitrW)WkrW'_5J,~> -_uK]9pAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kJcG-;rW)ZlrrE&u -rrE#trW)osrW)lrrW)uuo)JdjquHcsqZ-QorrE&ur;cNjrW%NLmJm.cpAb-mrr;uurVuisrVuis -r;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kJcG-;rW)ZlrrE&urrE#trW)osrW)lrrW)uuo)Jdj -quHcsqZ-QorrE&ur;cNjrW'_5J,~> -_uK]9pAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kJcG-;rW)ZlrrE&u -rrE#trW)osrW)lrrW)uuo)JdjquHcsqZ-QorrE&ur;cNjrW%NLmJm.cpAb-mrr;uurVuisrVuis -r;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kJcG-;rW)ZlrrE&urrE#trW)osrW)lrrW)uuo)Jdj -quHcsqZ-QorrE&ur;cNjrW'_5J,~> -_uK]9pAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kJcG-;rW)ZlrrE&u -rrE#trW)osrW)lrrW)uuo)JdjquHcsqZ-QorrE&ur;cNjrW%NLmJm.cpAb-mrr;uurVuisrVuis -r;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kJcG-;rW)ZlrrE&urrE#trW)osrW)lrrW)uuo)Jdj -quHcsqZ-QorrE&ur;cNjrW'_5J,~> -_uK]9p](3mrVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`rp&G!kJcG-;rW)]m -rW)os!!)utrW)lrrW)osrW)rtq#LHpr;cisr;cfrrrE#trrDusrW)WkrW%NLmJm.cp](3mrVlit -rVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`rp&G!kJcG-;rW)]mrW)os!!)utrW)lr -rW)osrW)rtq#LHpr;cisr;cfrrrE#trrDusrW)WkrW'_5J,~> -_uK]9p](3mrVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`rp&G!kJcG-;rW)]m -rW)os!!)utrW)lrrW)osrW)rtq#LHpr;cisr;cfrrrE#trrDusrW)WkrW%NLmJm.cp](3mrVlit -rVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`rp&G!kJcG-;rW)]mrW)os!!)utrW)lr -rW)osrW)rtq#LHpr;cisr;cfrrrE#trrDusrW)WkrW'_5J,~> -_uK]9p](3mrVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`rp&G!kJcG-;rW)]m -rW)os!!)utrW)lrrW)osrW)rtq#LHpr;cisr;cfrrrE#trrDusrW)WkrW%NLmJm.cp](3mrVlit -rVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`rp&G!kJcG-;rW)]mrW)os!!)utrW)lr -rW)osrW)rtq#LHpr;cisr;cfrrrE#trrDusrW)WkrW'_5J,~> -_uK]9p](3mrVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kJcG-;rW)]m -rW)os!!)utrW)lrrW)osrW)osrW)iqrW)osr;cfrrW)uurW)lrrW)WkrW%NLmJm.cp](3mrVlit -rVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kJcG-;rW)]mrW)os!!)utrW)lr -rW)osrW)osrW)iqrW)osr;cfrrW)uurW)lrrW)WkrW'_5J,~> -_uK]9p](3mrVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kJcG-;rW)]m -rW)os!!)utrW)lrrW)osrW)osrW)iqrW)osr;cfrrW)uurW)lrrW)WkrW%NLmJm.cp](3mrVlit -rVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kJcG-;rW)]mrW)os!!)utrW)lr -rW)osrW)osrW)iqrW)osr;cfrrW)uurW)lrrW)WkrW'_5J,~> -_uK]9p](3mrVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kJcG-;rW)]m -rW)os!!)utrW)lrrW)osrW)osrW)iqrW)osr;cfrrW)uurW)lrrW)WkrW%NLmJm.cp](3mrVlit -rVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kJcG-;rW)]mrW)os!!)utrW)lr -rW)osrW)osrW)iqrW)osr;cfrrW)uurW)lrrW)WkrW'_5J,~> -_uK]9p](3mq#C -_uK]9p](3mq#C -_uK]9p](3mq#C -_uK]9pAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kJcG-;rW)Zlr;c]o -rW)lrrW)osrW)osrW)iqrW)osr;cfrrW)uurrDrrrW)WkrW%NLmJm.cpAb'kqZ$Npr;Z`rrVuis -rVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kJcG-;rW)Zlr;c]orW)lrrW)osrW)osrW)iqrW)os -r;cfrrW)uurrDrrrW)WkrW'_5J,~> -_uK]9pAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kJcG-;rW)Zlr;c]o -rW)lrrW)osrW)osrW)iqrW)osr;cfrrW)uurrDrrrW)WkrW%NLmJm.cpAb'kqZ$Npr;Z`rrVuis -rVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kJcG-;rW)Zlr;c]orW)lrrW)osrW)osrW)iqrW)os -r;cfrrW)uurrDrrrW)WkrW'_5J,~> -_uK]9pAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kJcG-;rW)Zlr;c]o -rW)lrrW)osrW)osrW)iqrW)osr;cfrrW)uurrDrrrW)WkrW%NLmJm.cpAb'kqZ$Npr;Z`rrVuis -rVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kJcG-;rW)Zlr;c]orW)lrrW)osrW)osrW)iqrW)os -r;cfrrW)uurrDrrrW)WkrW'_5J,~> -_uK]9p&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)WkquHZp -rW)lrrW)osrW)osrW)iqrW)lrrW)osrVururW)iqrW)WkrW%NLmJm.cp&Fpir;Z`rr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)WkquHZprW)lrrW)osrW)osrW)iqrW)lr -rW)osrVururW)iqrW)WkrW'_5J,~> -_uK]9p&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)WkquHZp -rW)lrrW)osrW)osrW)iqrW)lrrW)osrVururW)iqrW)WkrW%NLmJm.cp&Fpir;Z`rr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)WkquHZprW)lrrW)osrW)osrW)iqrW)lr -rW)osrVururW)iqrW)WkrW'_5J,~> -_uK]9p&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)WkquHZp -rW)lrrW)osrW)osrW)iqrW)lrrW)osrVururW)iqrW)WkrW%NLmJm.cp&Fpir;Z`rr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)WkquHZprW)lrrW)osrW)osrW)iqrW)lr -rW)osrVururW)iqrW)WkrW'_5J,~> -_uK]9o`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)TjquH]q -rW)lrrW)osrW)osrW)iqrW)lrrW)osrVururW)iqrW)WkrW%NLmJm.co`+ghrVuisr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)TjquH]qrW)lrrW)osrW)osrW)iqrW)lr -rW)osrVururW)iqrW)WkrW'_5J,~> -_uK]9o`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)TjquH]q -rW)lrrW)osrW)osrW)iqrW)lrrW)osrVururW)iqrW)WkrW%NLmJm.co`+ghrVuisr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)TjquH]qrW)lrrW)osrW)osrW)iqrW)lr -rW)osrVururW)iqrW)WkrW'_5J,~> -_uK]9o`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)TjquH]q -rW)lrrW)osrW)osrW)iqrW)lrrW)osrVururW)iqrW)WkrW%NLmJm.co`+ghrVuisr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kJcG-;rW)TjquH]qrW)lrrW)osrW)osrW)iqrW)lr -rW)osrVururW)iqrW)WkrW'_5J,~> -_uK]9o)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kJcG-;rW)Nhr;cis -rW)lrrW)osrW)osrW)iqrW)lrrW)osrVurur;ccqrW)WkrW%NLmJm.co)JXgrr;rtr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kJcG-;rW)Nhr;cisrW)lrrW)osrW)osrW)iqrW)lr -rW)osrVurur;ccqrW)WkrW'_5J,~> -_uK]9o)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kJcG-;rW)Nhr;cis -rW)lrrW)osrW)osrW)iqrW)lrrW)osrVurur;ccqrW)WkrW%NLmJm.co)JXgrr;rtr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kJcG-;rW)Nhr;cisrW)lrrW)osrW)osrW)iqrW)lr -rW)osrVurur;ccqrW)WkrW'_5J,~> -_uK]9o)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kJcG-;rW)Nhr;cis -rW)lrrW)osrW)osrW)iqrW)lrrW)osrVurur;ccqrW)WkrW%NLmJm.co)JXgrr;rtr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kJcG-;rW)Nhr;cisrW)lrrW)osrW)osrW)iqrW)lr -rW)osrVurur;ccqrW)WkrW'_5J,~> -_uK]9p\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kJcG-;rW)]m -!!)rsrW)rtrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)lrrW)WkrW%NLmJm.cp\t3nr;Z`r -rr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kJcG-;rW)]m!!)rsrW)rtrW)lr -rW)osrW)osrW)iqrW)lrrW)osrW)uurW)lrrW)WkrW'_5J,~> -_uK]9p\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kJcG-;rW)]m -!!)rsrW)rtrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)lrrW)WkrW%NLmJm.cp\t3nr;Z`r -rr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kJcG-;rW)]m!!)rsrW)rtrW)lr -rW)osrW)osrW)iqrW)lrrW)osrW)uurW)lrrW)WkrW'_5J,~> -_uK]9p\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kJcG-;rW)]m -!!)rsrW)rtrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uurW)lrrW)WkrW%NLmJm.cp\t3nr;Z`r -rr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kJcG-;rW)]m!!)rsrW)rtrW)lr -rW)osrW)osrW)iqrW)lrrW)osrW)uurW)lrrW)WkrW'_5J,~> -_uK]9p](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kJcG-;rW)]m -rrE#trW)rtrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uur;cfrrW)WkrW%NLmJm.cp](6nrVuis -rr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kJcG-;rW)]mrrE#trW)rtrW)lr -rW)osrW)osrW)iqrW)lrrW)osrW)uur;cfrrW)WkrW'_5J,~> -_uK]9p](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kJcG-;rW)]m -rrE#trW)rtrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uur;cfrrW)WkrW%NLmJm.cp](6nrVuis -rr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kJcG-;rW)]mrrE#trW)rtrW)lr -rW)osrW)osrW)iqrW)lrrW)osrW)uur;cfrrW)WkrW'_5J,~> -_uK]9p](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kJcG-;rW)]m -rrE#trW)rtrW)lrrW)osrW)osrW)iqrW)lrrW)osrW)uur;cfrrW)WkrW%NLmJm.cp](6nrVuis -rr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kJcG-;rW)]mrrE#trW)rtrW)lr -rW)osrW)osrW)iqrW)lrrW)osrW)uur;cfrrW)WkrW'_5J,~> -_uK]9p](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mJcG-;rW)]mrrE#trrE#t -rW)lrp&P*lrW)iqrW)osr;cfrrW)rto`4adrW%NLmJm.cp](6nrVultrVuisr;ZHjrr;rtqu?Wq -rVufrrVuisrr;Wkp](3mJcG-;rW)]mrrE#trrE#trW)lrp&P*lrW)iqrW)osr;cfrrW)rto`4ad -rW'_5J,~> -_uK]9p](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mJcG-;rW)]mrrE#trrE#t -rW)lrp&P*lrW)iqrW)osr;cfrrW)rto`4adrW%NLmJm.cp](6nrVultrVuisr;ZHjrr;rtqu?Wq -rVufrrVuisrr;Wkp](3mJcG-;rW)]mrrE#trrE#trW)lrp&P*lrW)iqrW)osr;cfrrW)rto`4ad -rW'_5J,~> -_uK]9p](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mJcG-;rW)]mrrE#trrE#t -rW)lrp&P*lrW)iqrW)osr;cfrrW)rto`4adrW%NLmJm.cp](6nrVultrVuisr;ZHjrr;rtqu?Wq -rVufrrVuisrr;Wkp](3mJcG-;rW)]mrrE#trrE#trW)lrp&P*lrW)iqrW)osr;cfrrW)rto`4ad -rW'_5J,~> -_uK]9p]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kJcG-;rW)]mq>gKoqZ-Tp -qu?`sr;ZitqZ-TpquHcsqZ-ZrquH`rp]1!erW%NLmJm.cp]('irVu`prVucq!<;ut!<;orrVucq -s8Vrrs8Vusrr;`np&G!kJcG-;rW)]mq>gKoqZ-Tpqu?`sr;ZitqZ-TpquHcsqZ-ZrquH`rp]1!e -rW'_5J,~> -_uK]9p]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kJcG-;rW)]mq>gKoqZ-Tp -qu?`sr;ZitqZ-TpquHcsqZ-ZrquH`rp]1!erW%NLmJm.cp]('irVu`prVucq!<;ut!<;orrVucq -s8Vrrs8Vusrr;`np&G!kJcG-;rW)]mq>gKoqZ-Tpqu?`sr;ZitqZ-TpquHcsqZ-ZrquH`rp]1!e -rW'_5J,~> -_uK]9p]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kJcG-;rW)]mq>gKoqZ-Tp -qu?`sr;ZitqZ-TpquHcsqZ-ZrquH`rp]1!erW%NLmJm.cp]('irVu`prVucq!<;ut!<;orrVucq -s8Vrrs8Vusrr;`np&G!kJcG-;rW)]mq>gKoqZ-Tpqu?`sr;ZitqZ-TpquHcsqZ-ZrquH`rp]1!e -rW'_5J,~> -_uK]9oDegjnG`Igf)PaMnGiIfJcG-;rW)QirrDQg!!(UMrrDQgrW%NLmJm.coDegjnG`Igf)PaM -nGiIfJcG-;rW)QirrDQg!!(UMrrDQgrW'_5J,~> -_uK]9oDegjnG`Igf)PaMnGiIfJcG-;rW)QirrDQg!!(UMrrDQgrW%NLmJm.coDegjnG`Igf)PaM -nGiIfJcG-;rW)QirrDQg!!(UMrrDQgrW'_5J,~> -_uK]9oDegjnG`Igf)PaMnGiIfJcG-;rW)QirrDQg!!(UMrrDQgrW%NLmJm.coDegjnG`Igf)PaM -nGiIfJcG-;rW)QirrDQg!!(UMrrDQgrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9U&Y)lJcG-;rW&YlrW%NLmJm.cU&Y)lJcG-;rW&YlrW'_5J,~> -_uK]9ir8uYl2Ub`g].6QJcG-;rW(sX!!(sW!!)'ZrW%NLmJm.cir8uYi;WcWj8])YJcG-;rW(sX -!!(sW!!)'ZrW'_5J,~> -_uK]9ir8uYl2Ub`g].6QJcG-;rW(sX!!(sW!!)'ZrW%NLmJm.cir8uYi;WcWj8])YJcG-;rW(sX -!!(sW!!)'ZrW'_5J,~> -_uK]9ir8uYl2Ub`g].6QJcG-;rW(sX!!(sW!!)'ZrW%NLmJm.cir8uYi;WcWj8])YJcG-;rW(sX -!!(sW!!)'ZrW'_5J,~> -_uK]9j8],Zl2U__h#I?RJcG-;rW)!YrrD$XrW)$ZrW%NLmJm.cj8],Zi;`fWjT#2ZJcG-;rW)!Y -rrD!WrrD-[rW'_5J,~> -_uK]9j8],Zl2U__h#I?RJcG-;rW)!YrrD$XrW)$ZrW%NLmJm.cj8],Zi;`fWjT#2ZJcG-;rW)!Y -rrD!WrrD-[rW'_5J,~> -_uK]9j8],Zl2U__h#I?RJcG-;rW)!YrrD$XrW)$ZrW%NLmJm.cj8],Zi;`fWjT#2ZJcG-;rW)!Y -rrD!WrrD-[rW'_5J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -_uH2+JcG-;RfJ$>mJiXUJcG-;RfL5'J,~> -VuQPmlMp\\JcDkPq#KFSq>c*H[/]t&irAfSJcE.Xq>fOTq#I5jJ,~> -VuQPmlMp\\JcDkPq#KFSq>c*H[/]t&irAfSJcE.Xq>fOTq#I5jJ,~> -VuQPmlMp\\JcDkPq#KFSq>c*H[/]t&irAfSJcE.Xq>fOTq#I5jJ,~> -W;lVmli6_[JcDqRp]0@Sq#H!G[K$%&irAcRJcE4Zq#KFSp]./jJ,~> -W;lVmli6_[JcDqRp]0@Sq#H!G[K$%&irAcRJcE4Zq#KFSp]./jJ,~> -W;lVmli6_[JcDqRp]0@Sq#H!G[K$%&irAcRJcE4Zq#KFSp]./jJ,~> -WW2\mli6\ZJcE"TpAj7Rp],mF[f?+&j8\iRJcE7[p]0@SpAh)jJ,~> -WW2\mli6\ZJcE"TpAj7Rp],mF[f?+&j8\iRJcE7[p]0@SpAh)jJ,~> -WW2\mli6\ZJcE"TpAj7Rp],mF[f?+&j8\iRJcE7[p]0@SpAh)jJ,~> -WrMbmli6YYJcE(Vp&O.QpAfdE\Gu:'j8\fQJcE=]pAj7Rp&M#jJ,~> -WrMbmli6YYJcE(Vp&O.QpAfdE\Gu:'j8\fQJcE=]pAj7Rp&M#jJ,~> -WrMbmli6YYJcE(Vp&O.QpAfdE\Gu:'j8\fQJcE=]pAj7Rp&M#jJ,~> -X8hhmli6VXJcE.Xo`4%Pp&K[D])VI(j8\cPJcEC_p&O.Qo`1rjJ,~> -X8hhmli6VXJcE.Xo`4%Pp&K[D])VI(j8\cPJcEC_p&O.Qo`1rjJ,~> -X8hhmli6VXJcE.Xo`4%Pp&K[D])VI(j8\cPJcEC_p&O.Qo`1rjJ,~> -XT/1u!<;lqli6e]!<;rsJcE4Zqu?`sq>fRUo`0RC]`7X)jT#&V!<;orJcEIao`4(Qq>^NqqZ*Vq -J,~> -XT/1u!<;lqli6e]!<;rsJcE4Zqu?`sq>fRUo`0RC]`7X)jT#&V!<;orJcEIao`4(Qq>^NqqZ*Vq -J,~> -XT/1u!<;lqli6e]!<;rsJcE4Zqu?`sq>fRUo`0RC]`7X)jT#&V!<;orJcEIao`4(Qq>^NqqZ*Vq -J,~> -XoJD$rVuWmm/Qn^r;ZcsJcE:\rrE#tp]0FUq#LHpr;_EK^An-3!<;ipjT##Ur;Q`sJcELbr;Zit -q#KLUq#L?m!!'"uJ,~> -XoJD$rVuWmm/Qn^r;ZcsJcE:\rrE#tp]0FUq#LHpr;_EK^An-3!<;ipjT##Ur;Q`sJcELbr;Zit -q#KLUq#L?m!!'"uJ,~> -XoJD$rVuWmm/Qn^r;ZcsJcE:\rrE#tp]0FUq#LHpr;_EK^An-3!<;ipjT##Ur;Q`sJcELbr;Zit -q#KLUq#L?m!!'"uJ,~> -VuQ_rs8W#tm/R%b!<;utJcDkPrW)uur;bsZr;ZitrW)lr!!%TM^]4<6rVuiss8W#tjo>8Z!<<#u -JcE=]rrE#trW)uur;bsZr;ZitrW&_nJ,~> -VuQ_rs8W#tm/R%b!<;utJcDkPrW)uur;bsZr;ZitrW)lr!!%TM^]4<6rVuiss8W#tjo>8Z!<<#u -JcE=]rrE#trW)uur;bsZr;ZitrW&_nJ,~> -VuQ_rs8W#tm/R%b!<;utJcDkPrW)uur;bsZr;ZitrW)lr!!%TM^]4<6rVuiss8W#tjo>8Z!<<#u -JcE=]rrE#trW)uur;bsZr;ZitrW&_nJ,~> -VuQ_rrr;rtm/R(crr;rtJcDkPrW)rtrW)'[rW)uurW%NLZiC")rr;rtjo>;[s8W&uJcE+WrW)rt -rW)'[rW)uurW&_nJ,~> -VuQ_rrr;rtm/R(crr;rtJcDkPrW)rtrW)'[rW)uurW%NLZiC")rr;rtjo>;[s8W&uJcE+WrW)rt -rW)'[rW)uurW&_nJ,~> -VuQ_rrr;rtm/R(crr;rtJcDkPrW)rtrW)'[rW)uurW%NLZiC")rr;rtjo>;[s8W&uJcE+WrW)rt -rW)'[rW)uurW&_nJ,~> -W;lerrVultmJm.crr;osJcDqRr;cfrrrD0\rrE&ur;_EK[K$1*rVultjo>>\rr;osJcE1Yr;cfr -rrD0\rrE&ur;`YnJ,~> -W;lerrVultmJm.crr;osJcDqRr;cfrrrD0\rrE&ur;_EK[K$1*rVultjo>>\rr;osJcE1Yr;cfr -rrD0\rrE&ur;`YnJ,~> -W;lerrVultmJm.crr;osJcDqRr;cfrrrD0\rrE&ur;_EK[K$1*rVultjo>>\rr;osJcE1Yr;cfr -rrD0\rrE&ur;`YnJ,~> -W;lhsqu6WrmJm1drVufrJcDqRrW)iq!!)0]rrE#tr;_EK[K$1*r;Q`sjo5;\r;Z`rJcE1Yr;ccq -!!)-\!!)rsrW&boJ,~> -W;lhsqu6WrmJm1drVufrJcDqRrW)iq!!)0]rrE#tr;_EK[K$1*r;Q`sjo5;\r;Z`rJcE1Yr;ccq -!!)-\!!)rsrW&boJ,~> -W;lhsqu6WrmJm1drVufrJcDqRrW)iq!!)0]rrE#tr;_EK[K$1*r;Q`sjo5;\r;Z`rJcE1Yr;ccq -!!)-\!!)rsrW&boJ,~> -WW2nsqu6WrmJd.dqu?WqJcDtSr;c`p!!)0]!!)orrW%NL[K$4+f`1mMJcE4ZrW(UNr;`\oJ,~> -WW2nsqu6WrmJd.dqu?WqJcDtSr;c`p!!)0]!!)orrW%NL[K$4+f`1mMJcE4ZrW(UNr;`\oJ,~> -WW2nsqu6WrmJd.dqu?WqJcDtSr;c`p!!)0]!!)orrW%NL[K$4+f`1mMJcE4ZrW(UNr;`\oJ,~> -WW2nshuEWTJcE"Tr;bLMrW%NL[K$4+f`1mMJcE4ZrW(UNr;`\oJ,~> -WW2nshuEWTJcE"Tr;bLMrW%NL[K$4+f`1mMJcE4ZrW(UNr;`\oJ,~> -WW2nshuEWTJcE"Tr;bLMrW%NL[K$4+f`1mMJcE4ZrW(UNr;`\oJ,~> -WW2qthZ*NSJcE"TrW(RMr;_EK\,ZC,fDkgMJcE7[r;bILrW&epJ,~> -WW2qthZ*NSJcE"TrW(RMr;_EK\,ZC,fDkgMJcE7[r;bILrW&epJ,~> -WW2qthZ*NSJcE"TrW(RMr;_EK\,ZC,fDkgMJcE7[r;bILrW&epJ,~> -WrN"th>dHSJcE%Ur;bFKrW%NL\,ZF-f)P[KJcE:\rW(OLr;`_pJ,~> -WrN"th>dHSJcE%Ur;bFKrW%NL\,ZF-f)P[KJcE:\rW(OLr;`_pJ,~> -WrN"th>dHSJcE%Ur;bFKrW%NL\,ZF-f)P[KJcE:\rW(OLr;`_pJ,~> -WrN"th>dERJcE(Vr;bFKrW%NL\,ZF-f)P[KJcE:\rW(OLr;`_pJ,~> -WrN"th>dERJcE(Vr;bFKrW%NL\,ZF-f)P[KJcE:\rW(OLr;`_pJ,~> -WrN"th>dERJcE(Vr;bFKrW%NL\,ZF-f)P[KJcE:\rW(OLr;`_pJ,~> -WrN%uh#I -WrN%uh#I -WrN%uh#I -X8i+ug].6QJcE+Wr;bCJr;_EK\c;U.ec5RJJcE@^r;bCJr;`bqJ,~> -X8i+ug].6QJcE+Wr;bCJr;_EK\c;U.ec5RJJcE@^r;bCJr;`bqJ,~> -X8i+ug].6QJcE+Wr;bCJr;_EK\c;U.ec5RJJcE@^r;bCJr;`bqJ,~> -X8i/!gAh*OJcE.XrW(FIrW%NL\c;X/e,TCIJcE@^rW(FIrW&krJ,~> -X8i/!gAh*OJcE.XrW(FIrW%NL\c;X/e,TCIJcE@^rW(FIrW&krJ,~> -X8i/!gAh*OJcE.XrW(FIrW%NL\c;X/e,TCIJcE@^rW(FIrW&krJ,~> -X8i/!g&M$OJcE.XrW(FIrW%NL\c;X/e,TCIJcE@^rW(FIrW&krJ,~> -X8i/!g&M$OJcE.XrW(FIrW%NL\c;X/e,TCIJcE@^rW(FIrW&krJ,~> -X8i/!g&M$OJcE.XrW(FIrW%NL\c;X/e,TCIJcE@^rW(FIrW&krJ,~> -XT/5!g&M$OJcE1Yr;b=Hr;_EK]Dqg0e,T@HJcEF`r;b=Hr;`erJ,~> -XT/5!g&M$OJcE1Yr;b=Hr;_EK]Dqg0e,T@HJcEF`r;b=Hr;`erJ,~> -XT/5!g&M$OJcE1Yr;b=Hr;_EK]Dqg0e,T@HJcEF`r;b=Hr;`erJ,~> -XT/8"f`1mMJcE4ZrW(@GrW%NL]Dqj1dJs1GJcEF`rW(@GrW&nsJ,~> -XT/8"f`1mMJcE4ZrW(@GrW%NL]Dqj1dJs1GJcEF`rW(@GrW&nsJ,~> -XT/8"f`1mMJcE4ZrW(@GrW%NL]Dqj1dJs1GJcEF`rW(@GrW&nsJ,~> -XT/8"fDkgMJcE4ZrW(@GrW%NL]Dqj1dJs1GJcEF`rW(@GrW&nsJ,~> -XT/8"fDkgMJcE4ZrW(@GrW%NL]Dqj1dJs1GJcEF`rW(@GrW&nsJ,~> -XT/8"fDkgMJcE4ZrW(@GrW%NL]Dqj1dJs1GJcEF`rW(@GrW&nsJ,~> -XoJ>"fDkdLJcE:\r;b7Fr;_EK^&S$2dJs.FJcELbr;b7Fr;`hsJ,~> -XoJ>"fDkdLJcE:\r;b7Fr;_EK^&S$2dJs.FJcELbr;b7Fr;`hsJ,~> -XoJ>"fDkdLJcE:\r;b7Fr;_EK^&S$2dJs.FJcELbr;b7Fr;`hsJ,~> -XoJA#f)P[KJcE:\rW(=Fr;_EK^&S$2d/X(FJcELbr;b4ErW&qtJ,~> -XoJA#f)P[KJcE:\rW(=Fr;_EK^&S$2d/X(FJcELbr;b4ErW&qtJ,~> -XoJA#f)P[KJcE:\rW(=Fr;_EK^&S$2d/X(FJcELbr;b4ErW&qtJ,~> -Y5eG#ec5UKJcE=]r;b1DrW%NL^&S'3ci -Y5eG#ec5UKJcE=]r;b1DrW%NL^&S'3ci -Y5eG#ec5UKJcE=]r;b1DrW%NL^&S'3ci -Y5eG#ec5RJJcE@^r;b1DrW%NL^&S'3ci -Y5eG#ec5RJJcE@^r;b1DrW%NL^&S'3ci -Y5eG#ec5RJJcE@^r;b1DrW%NL^&S'3ci -Y5eJ$eGoIIJcE@^rW(7Dr;_EK^]464cN!kDJcERdr;b.CrW&tuJ,~> -Y5eJ$eGoIIJcE@^rW(7Dr;_EK^]464cN!kDJcERdr;b.CrW&tuJ,~> -Y5eJ$eGoIIJcE@^rW(7Dr;_EK^]464cN!kDJcERdr;b.CrW&tuJ,~> -YQ+P$e,TCIJcEC_r;b+BrW%NL^]495c2[_BJcEUerW(4Cr;`nuJ,~> -YQ+P$e,TCIJcEC_r;b+BrW%NL^]495c2[_BJcEUerW(4Cr;`nuJ,~> -YQ+P$e,TCIJcEC_r;b+BrW%NL^]495c2[_BJcEUerW(4Cr;`nuJ,~> -YQ+P$e,T@HJcEF`r;b+BrW%NL^]495c2[_BJcEUerW(4Cr;`nuJ,~> -YQ+P$e,T@HJcEF`r;b+BrW%NL^]495c2[_BJcEUerW(4Cr;`nuJ,~> -YQ+P$e,T@HJcEF`r;b+BrW%NL^]495c2[_BJcEUerW(4Cr;`nuJ,~> -YQ+S%df97GJcEF`rW(1Br;_EK_>jH6bl@YBJcEXfr;b(ArW'#!J,~> -YQ+S%df97GJcEF`rW(1Br;_EK_>jH6bl@YBJcEXfr;b(ArW'#!J,~> -YQ+S%df97GJcEF`rW(1Br;_EK_>jH6bl@YBJcEXfr;b(ArW'#!J,~> -YlFY%dJs1GJcEIar;b(Ar;_EK_>jH6bl@VAJcE[gr;b(Ar;`r!J,~> -YlFY%dJs1GJcEIar;b(Ar;_EK_>jH6bl@VAJcE[gr;b(Ar;`r!J,~> -YlFY%dJs1GJcEIar;b(Ar;_EK_>jH6bl@VAJcE[gr;b(Ar;`r!J,~> -YlF\&d/X%EJcELbrW(+@rW%NL_>jK7b5_G@JcE[grW(+@rW'&"J,~> -YlF\&d/X%EJcELbrW(+@rW%NL_>jK7b5_G@JcE[grW(+@rW'&"J,~> -YlF\&d/X%EJcELbrW(+@rW%NL_>jK7b5_G@JcE[grW(+@rW'&"J,~> -YlF\&cijK7b5_G@JcE[grW(+@rW'&"J,~> -YlF\&cijK7b5_G@JcE[grW(+@rW'&"J,~> -YlF\&cijK7b5_G@JcE[grW(+@rW'&"J,~> -Z2ab&ci -Z2ab&ci -Z2ab&ci -Z2ae'cN!hCJcERdrW(%>rW%NL_uK]9aT)5>JcEairW(%>rW')#J,~> -Z2ae'cN!hCJcERdrW(%>rW%NL_uK]9aT)5>JcEairW(%>rW')#J,~> -Z2ae'cN!hCJcERdrW(%>rW%NL_uK]9aT)5>JcEairW(%>rW')#J,~> -Z2ae'c2[bCJcERdrW(%>rW%NL_uK]9aT)5>JcEairW(%>rW')#J,~> -Z2ae'c2[bCJcERdrW(%>rW%NL_uK]9aT)5>JcEairW(%>rW')#J,~> -Z2ae'c2[bCJcERdrW(%>rW%NL_uK]9aT)5>JcEairW(%>rW')#J,~> -ZN'k'c2[_BJcEXfr;aq=r;_EK`W,l:aT)2=JcEgkr;aq=r;a##J,~> -ZN'k'c2[_BJcEXfr;aq=r;_EK`W,l:aT)2=JcEgkr;aq=r;a##J,~> -ZN'k'c2[_BJcEXfr;aq=r;_EK`W,l:aT)2=JcEgkr;aq=r;a##J,~> -ZN'n(bl@VAJcEXfrW("=r;_EK`W,l:a8c,=JcEgkr;an -ZN'n(bl@VAJcEXfrW("=r;_EK`W,l:a8c,=JcEgkr;an -ZN'n(bl@VAJcEXfrW("=r;_EK`W,l:a8c,=JcEgkr;an -ZiBt(bQ%PAJcE[gr;ak;rW%NL`W,o;`rGu;JcEjlrW't -ZiBt(bQ%PAJcE[gr;ak;rW%NL`W,o;`rGu;JcEjlrW't -ZiBt(bQ%PAJcE[gr;ak;rW%NL`W,o;`rGu;JcEjlrW't -ZiBt(bQ%M@JcE^hr;ak;rW%NL`W,o;`rGu;JcEjlrW't -ZiBt(bQ%M@JcE^hr;ak;rW%NL`W,o;`rGu;JcEjlrW't -ZiBt(bQ%M@JcE^hr;ak;rW%NL`W,o;`rGu;JcEjlrW't -ZiC")b5_D?JcE^hrW'q;r;_EKa8c)<`W,o;JcEmmr;ah:rW'/%J,~> -ZiC")b5_D?JcE^hrW'q;r;_EKa8c)<`W,o;JcEmmr;ah:rW'/%J,~> -ZiC")b5_D?JcE^hrW'q;r;_EKa8c)<`W,o;JcEmmr;ah:rW'/%J,~> -[/^()aoD>?JcEair;ae9rW%NLa8c,=`;fc9JcEpnrW'n:r;a)%J,~> -[/^()aoD>?JcEair;ae9rW%NLa8c,=`;fc9JcEpnrW'n:r;a)%J,~> -[/^()aoD>?JcEair;ae9rW%NLa8c,=`;fc9JcEpnrW'n:r;a)%J,~> -[/^()aoD;>JcEdjr;ae9rW%NLa8c,=`;fc9JcEpnrW'n:r;a)%J,~> -[/^()aoD;>JcEdjr;ae9rW%NLa8c,=`;fc9JcEpnrW'n:r;a)%J,~> -[/^()aoD;>JcEdjr;ae9rW%NLa8c,=`;fc9JcEpnrW'n:r;a)%J,~> -[/^+*aT)2=JcEdjrW'k9r;_EKaoD;>_uK]9JcEsor;ab8rW'2&J,~> -[/^+*aT)2=JcEdjrW'k9r;_EKaoD;>_uK]9JcEsor;ab8rW'2&J,~> -[/^+*aT)2=JcEdjrW'k9r;_EKaoD;>_uK]9JcEsor;ab8rW'2&J,~> -[K$1*a8c,=JcEgkr;ab8r;_EKaoD;>_uKZ8JcF!pr;ab8r;a,&J,~> -[K$1*a8c,=JcEgkr;ab8r;_EKaoD;>_uKZ8JcF!pr;ab8r;a,&J,~> -[K$1*a8c,=JcEgkr;ab8r;_EKaoD;>_uKZ8JcF!pr;ab8r;a,&J,~> -[K$4+`rGu;JcEjlrW'e7rW%NLaoD>?_>jK7JcF!prW'e7rW'5'J,~> -[K$4+`rGu;JcEjlrW'e7rW%NLaoD>?_>jK7JcF!prW'e7rW'5'J,~> -[K$4+`rGu;JcEjlrW'e7rW%NLaoD>?_>jK7JcF!prW'e7rW'5'J,~> -[K$4+`W,o;JcEjlrW'e7rW%NLaoD>?_>jK7JcF!prW'e7rW'5'J,~> -[K$4+`W,o;JcEjlrW'e7rW%NLaoD>?_>jK7JcF!prW'e7rW'5'J,~> -[K$4+`W,o;JcEjlrW'e7rW%NLaoD>?_>jK7JcF!prW'e7rW'5'J,~> -[f?:+`W,o;JcEmmr;a\6r;_EKbQ%M@_>jH6JcF'rr;a\6r;a/'J,~> -[f?:+`W,o;JcEmmr;a\6r;_EKbQ%M@_>jH6JcF'rr;a\6r;a/'J,~> -[f?:+`W,o;JcEmmr;a\6r;_EKbQ%M@_>jH6JcF'rr;a\6r;a/'J,~> -[f?=,`;fc9JcEpnrW'_5rW%NLbQ%PA^]495JcF'rrW'_5rW'8(J,~> -[f?=,`;fc9JcEpnrW'_5rW%NLbQ%PA^]495JcF'rrW'_5rW'8(J,~> -[f?=,`;fc9JcEpnrW'_5rW%NLbQ%PA^]495JcF'rrW'_5rW'8(J,~> -[f?=,_uK]9JcEpnrW'_5rW%NLbQ%PA^]495JcF'rrW'_5rW'8(J,~> -[f?=,_uK]9JcEpnrW'_5rW%NLbQ%PA^]495JcF'rrW'_5rW'8(J,~> -[f?=,_uK]9JcEpnrW'_5rW%NLbQ%PA^]495JcF'rrW'_5rW'8(J,~> -\,ZC,_uKZ8JcF!pr;aV4r;_EKc2[_B^]464JcF-tr;aV4r;a2(J,~> -\,ZC,_uKZ8JcF!pr;aV4r;_EKc2[_B^]464JcF-tr;aV4r;a2(J,~> -\,ZC,_uKZ8JcF!pr;aV4r;_EKc2[_B^]464JcF-tr;aV4r;a2(J,~> -\,ZF-_Z0Q7JcF!prW'\4r;_EKc2[_B^An04JcF-tr;aS3rW';)J,~> -\,ZF-_Z0Q7JcF!prW'\4r;_EKc2[_B^An04JcF-tr;aS3rW';)J,~> -\,ZF-_Z0Q7JcF!prW'\4r;_EKc2[_B^An04JcF-tr;aS3rW';)J,~> -\GuL-_>jK7JcF$qr;aP2rW%NLc2[bC^&S$2JcF0urW'Y3r;a5)J,~> -\GuL-_>jK7JcF$qr;aP2rW%NLc2[bC^&S$2JcF0urW'Y3r;a5)J,~> -\GuL-_>jK7JcF$qr;aP2rW%NLc2[bC^&S$2JcF0urW'Y3r;a5)J,~> -\GuL-_>jH6JcF'rr;aP2rW%NLc2[bC^&S$2JcF0urW'Y3r;a5)J,~> -\GuL-_>jH6JcF'rr;aP2rW%NLc2[bC^&S$2JcF0urW'Y3r;a5)J,~> -\GuL-_>jH6JcF'rr;aP2rW%NLc2[bC^&S$2JcF0urW'Y3r;a5)J,~> -\GuO._#O?5JcF'rrW'V2r;_EKci*J,~> -\GuO._#O?5JcF'rrW'V2r;_EKci*J,~> -\GuO._#O?5JcF'rrW'V2r;_EKci*J,~> -\c;U.^]495JcF*sr;aJ0rW%NLci -\c;U.^]495JcF*sr;aJ0rW%NLci -\c;U.^]495JcF*sr;aJ0rW%NLci -\c;U.^]464JcF-tr;aJ0rW%NLci -\c;U.^]464JcF-tr;aJ0rW%NLci -\c;U.^]464JcF-tr;aJ0rW%NLci -\c;X/^An-3JcF-trW'P0r;_EKdJs.F])Va0JcF:#r;aG/rW'A+J,~> -\c;X/^An-3JcF-trW'P0r;_EKdJs.F])Va0JcF:#r;aG/rW'A+J,~> -\c;X/^An-3JcF-trW'P0r;_EKdJs.F])Va0JcF:#r;aG/rW'A+J,~> -])V^/^&S'3JcF0ur;aG/r;_EKdJs.F])V^/JcF=$r;aG/r;a;+J,~> -])V^/^&S'3JcF0ur;aG/r;_EKdJs.F])V^/JcF=$r;aG/r;a;+J,~> -])V^/^&S'3JcF0ur;aG/r;_EKdJs.F])V^/JcF=$r;aG/r;a;+J,~> -])Va0]`7p1JcF4!rW'J.rW%NLdJs1G\GuO.JcF=$rW'J.rW'D,J,~> -])Va0]`7p1JcF4!rW'J.rW%NLdJs1G\GuO.JcF=$rW'J.rW'D,J,~> -])Va0]`7p1JcF4!rW'J.rW%NLdJs1G\GuO.JcF=$rW'J.rW'D,J,~> -])Va0]Dqj1JcF4!rW'J.rW%NLdJs1G\GuO.JcF=$rW'J.rW'D,J,~> -])Va0]Dqj1JcF4!rW'J.rW%NLdJs1G\GuO.JcF=$rW'J.rW'D,J,~> -])Va0]Dqj1JcF4!rW'J.rW%NLdJs1G\GuO.JcF=$rW'J.rW'D,J,~> -]Dqg0]Dqj1JcF7"r;aA-r;_EKe,T@H\GuL-JcFC&r;aA-r;a>,J,~> -]Dqg0]Dqj1JcF7"r;aA-r;_EKe,T@H\GuL-JcFC&r;aA-r;a>,J,~> -]Dqg0]Dqj1JcF7"r;aA-r;_EKe,T@H\GuL-JcFC&r;aA-r;a>,J,~> -]Dqj1])V^/JcF:#rW'D,rW%NLe,TCI[f?=,JcFC&rW'D,rW'G-J,~> -]Dqj1])V^/JcF:#rW'D,rW%NLe,TCI[f?=,JcFC&rW'D,rW'G-J,~> -]Dqj1])V^/JcF:#rW'D,rW%NLe,TCI[f?=,JcFC&rW'D,rW'G-J,~> -]Dqj1\c;X/JcF:#rW'D,rW%NLe,TCI[f?=,JcFC&rW'D,rW'G-J,~> -]Dqj1\c;X/JcF:#rW'D,rW%NLe,TCI[f?=,JcFC&rW'D,rW'G-J,~> -]Dqj1\c;X/JcF:#rW'D,rW%NLe,TCI[f?=,JcFC&rW'D,rW'G-J,~> -]`7p1\c;U.JcF@%r;a;+r;_EKec5RJ[f?:+JcFI(r;a;+r;aA-J,~> -]`7p1\c;U.JcF@%r;a;+r;_EKec5RJ[f?:+JcFI(r;a;+r;aA-J,~> -]`7p1\c;U.JcF@%r;a;+r;_EKec5RJ[f?:+JcFI(r;a;+r;aA-J,~> -]`7s2\GuL-JcF@%rW'A+r;_EKec5RJ[K$4+JcFI(r;a8*rW'J.J,~> -]`7s2\GuL-JcF@%rW'A+r;_EKec5RJ[K$4+JcFI(r;a8*rW'J.J,~> -]`7s2\GuL-JcF@%rW'A+r;_EKec5RJ[K$4+JcFI(r;a8*rW'J.J,~> -^&S$2\,ZF-JcFC&r;a5)rW%NLec5UK[/^()JcFL)rW'>*r;aD.J,~> -^&S$2\,ZF-JcFC&r;a5)rW%NLec5UK[/^()JcFL)rW'>*r;aD.J,~> -^&S$2\,ZF-JcFC&r;a5)rW%NLec5UK[/^()JcFL)rW'>*r;aD.J,~> -^&S$2\,ZC,JcFF'r;a5)rW%NLec5UK[/^()JcFL)rW'>*r;aD.J,~> -^&S$2\,ZC,JcFF'r;a5)rW%NLec5UK[/^()JcFL)rW'>*r;aD.J,~> -^&S$2\,ZC,JcFF'r;a5)rW%NLec5UK[/^()JcFL)rW'>*r;aD.J,~> -^&S'3[f?:+JcFF'rW';)r;_EKfDkdLZiC")JcFO*r;a2(rW'M/J,~> -^&S'3[f?:+JcFF'rW';)r;_EKfDkdLZiC")JcFO*r;a2(rW'M/J,~> -^&S'3[f?:+JcFF'rW';)r;_EKfDkdLZiC")JcFO*r;a2(rW'M/J,~> -^An-3[K$4+JcFI(r;a/'rW%NLfDkgMZN'k'JcFR+rW'8(r;aG/J,~> -^An-3[K$4+JcFI(r;a/'rW%NLfDkgMZN'k'JcFR+rW'8(r;aG/J,~> -^An-3[K$4+JcFI(r;a/'rW%NLfDkgMZN'k'JcFR+rW'8(r;aG/J,~> -^An-3[K$1*JcFL)r;a/'rW%NLfDkgMZN'k'JcFR+rW'8(r;aG/J,~> -^An-3[K$1*JcFL)r;a/'rW%NLfDkgMZN'k'JcFR+rW'8(r;aG/J,~> -^An-3[K$1*JcFL)r;a/'rW%NLfDkgMZN'k'JcFR+rW'8(r;aG/J,~> -^An04[/^()JcFL)rW'5'r;_EKg&M!NZ2ae'JcFU,r;a,&rW'P0J,~> -^An04[/^()JcFL)rW'5'r;_EKg&M!NZ2ae'JcFU,r;a,&rW'P0J,~> -^An04[/^()JcFL)rW'5'r;_EKg&M!NZ2ae'JcFU,r;a,&rW'P0J,~> -^]464ZiC")JcFO*r;a,&r;_EKg&M!NZ2ab&JcFX-r;a,&r;aJ0J,~> -^]464ZiC")JcFO*r;a,&r;_EKg&M!NZ2ab&JcFX-r;a,&r;aJ0J,~> -^]464ZiC")JcFO*r;a,&r;_EKg&M!NZ2ab&JcFX-r;a,&r;aJ0J,~> -^]495ZN'k'JcFR+rW'/%rW%NLg&M$OYQ+S%JcFX-rW'/%rW'S1J,~> -^]495ZN'k'JcFR+rW'/%rW%NLg&M$OYQ+S%JcFX-rW'/%rW'S1J,~> -^]495ZN'k'JcFR+rW'/%rW%NLg&M$OYQ+S%JcFX-rW'/%rW'S1J,~> -^]495Z2ae'JcFR+rW'/%rW%NLg&M$OYQ+S%JcFX-rW'/%rW'S1J,~> -^]495Z2ae'JcFR+rW'/%rW%NLg&M$OYQ+S%JcFX-rW'/%rW'S1J,~> -^]495Z2ae'JcFR+rW'/%rW%NLg&M$OYQ+S%JcFX-rW'/%rW'S1J,~> -_#O?5Z2ae'JcFU,r;a&$r;_EKg].3PYQ+P$JcF^/r;a&$r;aM1J,~> -_#O?5Z2ae'JcFU,r;a&$r;_EKg].3PYQ+P$JcF^/r;a&$r;aM1J,~> -_#O?5Z2ae'JcFU,r;a&$r;_EKg].3PYQ+P$JcF^/r;a&$r;aM1J,~> -_#OB6YlFY%JcFX-rW')#rW%NLg].6QXoJA#JcF^/rW')#rW'V2J,~> -_#OB6YlFY%JcFX-rW')#rW%NLg].6QXoJA#JcF^/rW')#rW'V2J,~> -_#OB6YlFY%JcFX-rW')#rW%NLg].6QXoJA#JcF^/rW')#rW'V2J,~> -_#OB6YQ+S%JcFX-rW')#rW%NLg].6QXoJA#JcF^/rW')#rW'V2J,~> -_#OB6YQ+S%JcFX-rW')#rW%NLg].6QXoJA#JcF^/rW')#rW'V2J,~> -_#OB6YQ+S%JcFX-rW')#rW%NLg].6QXoJA#JcF^/rW')#rW'V2J,~> -_>jH6YQ+P$JcF^/r;`u"r;_EKh>dERXoJ>"JcFd1r;`u"r;aP2J,~> -_>jH6YQ+P$JcF^/r;`u"r;_EKh>dERXoJ>"JcFd1r;`u"r;aP2J,~> -_>jH6YQ+P$JcF^/r;`u"r;_EKh>dERXoJ>"JcFd1r;`u"r;aP2J,~> -_>jK7Y5eG#JcF^/rW'&"r;_EKh>dERXT/8"JcFd1r;`r!rW'Y3J,~> -_>jK7Y5eG#JcF^/rW'&"r;_EKh>dERXT/8"JcFd1r;`r!rW'Y3J,~> -_>jK7Y5eG#JcF^/rW'&"r;_EKh>dERXT/8"JcFd1r;`r!rW'Y3J,~> -_Z0Q7XoJA#JcFa0r;`nurW%NLh>dHSX8i+uJcFg2rW'#!r;aS3J,~> -_Z0Q7XoJA#JcFa0r;`nurW%NLh>dHSX8i+uJcFg2rW'#!r;aS3J,~> -_Z0Q7XoJA#JcFa0r;`nurW%NLh>dHSX8i+uJcFg2rW'#!r;aS3J,~> -_Z0Q7XoJ>"JcFd1r;`nurW%NLh>dHSX8i+uJcFg2rW'#!r;aS3J,~> -_Z0Q7XoJ>"JcFd1r;`nurW%NLh>dHSX8i+uJcFg2rW'#!r;aS3J,~> -_Z0Q7XoJ>"JcFd1r;`nurW%NLh>dHSX8i+uJcFg2rW'#!r;aS3J,~> -_Z0T8XT/5!JcFd1rW&tur;_EKhuEWTWrN%uJcFj3r;`ktrW'\4J,~> -_Z0T8XT/5!JcFd1rW&tur;_EKhuEWTWrN%uJcFj3r;`ktrW'\4J,~> -_Z0T8XT/5!JcFd1rW&tur;_EKhuEWTWrN%uJcFj3r;`ktrW'\4J,~> -_uKZ8X8i/!JcFg2r;`hsrW%NLhuEZUWW2nsJcFm4rW&qtr;aV4J,~> -_uKZ8X8i/!JcFg2r;`hsrW%NLhuEZUWW2nsJcFm4rW&qtr;aV4J,~> -_uKZ8X8i/!JcFg2r;`hsrW%NLhuEZUWW2nsJcFm4rW&qtr;aV4J,~> -_uKZ8X8i+uJcFj3r;`hsrW%NLhuEZUWW2nsJcFm4rW&qtr;aV4J,~> -_uKZ8X8i+uJcFj3r;`hsrW%NLhuEZUWW2nsJcFm4rW&qtr;aV4J,~> -_uKZ8X8i+uJcFj3r;`hsrW%NLhuEZUWW2nsJcFm4rW&qtr;aV4J,~> -_uK]9WrN"tJcFj3rW&nsrW%NLhuEZUW;lhsJcFm4rW&nsrW'_5J,~> -_uK]9WrN"tJcFj3rW&nsrW%NLhuEZUW;lhsJcFm4rW&nsrW'_5J,~> -_uK]9WrN"tJcFj3rW&nsrW%NLhuEZUW;lhsJcFm4rW&nsrW'_5J,~> -`;fc9WW2qtJcFm4r;`err;_EKiW&iVW;lerJcFs6r;`err;aY5J,~> -`;fc9WW2qtJcFm4r;`err;_EKiW&iVW;lerJcFs6r;`err;aY5J,~> -`;fc9WW2qtJcFm4r;`err;_EKiW&iVW;lerJcFs6r;`err;aY5J,~> -`;ff:W;lerJcFp5rW&hqrW%NLiW&lWVZ6VqJcFs6rW&hqrW'b6J,~> -`;ff:W;lerJcFp5rW&hqrW%NLiW&lWVZ6VqJcFs6rW&hqrW'b6J,~> -`;ff:W;lerJcFp5rW&hqrW%NLiW&lWVZ6VqJcFs6rW&hqrW'b6J,~> -`;ff:VuQ_rJcFp5rW&hqrW%NLiW&lWVZ6VqJcFs6rW&hqrW'b6J,~> -`;ff:VuQ_rJcFp5rW&hqrW%NLiW&lWVZ6VqJcFs6rW&hqrW'b6J,~> -`;ff:VuQ_rJcFp5rW&hqrW%NLiW&lWVZ6VqJcFs6rW&hqrW'b6J,~> -`W,l:VuQ_rJcFs6r;`_pr;_EKj8]&XVZ6SpJcG$8r;`_pr;a\6J,~> -`W,l:VuQ_rJcFs6r;`_pr;_EKj8]&XVZ6SpJcG$8r;`_pr;a\6J,~> -`W,l:VuQ_rJcFs6r;`_pr;_EKj8]&XVZ6SpJcG$8r;`_pr;a\6J,~> -`W,o;VZ6SpJcG!7rW&epr;_EKj8]&XV>pMpJcG$8r;`\orW'e7J,~> -`W,o;VZ6SpJcG!7rW&epr;_EKj8]&XV>pMpJcG$8r;`\orW'e7J,~> -`W,o;VZ6SpJcG!7rW&epr;_EKj8]&XV>pMpJcG$8r;`\orW'e7J,~> -`W,o;V>pMpJcG!7rW&borW%NLj8])YV#UDoJcG$8rW&borW'e7J,~> -`W,o;V>pMpJcG!7rW&borW%NLj8])YV#UDoJcG$8rW&borW'e7J,~> -`W,o;V>pMpJcG!7rW&borW%NLj8])YV#UDoJcG$8rW&borW'e7J,~> -`rGu;V>pJoJcG'9r;`YnrW%NLj8])YV#UAnJcG'9rW&bor;a_7J,~> -`rGu;V>pJoJcG'9r;`YnrW%NLj8])YV#UAnJcG'9rW&bor;a_7J,~> -`rGu;V>pJoJcG'9r;`YnrW%NLj8])YV#UAnJcG'9rW&bor;a_7J,~> -`rH# -`rH# -`rH# -bl7YCrVufrU]:;nr;ZcsJcGNF!!)utr;`SlrW)lr!!%TMnc/UhrVuisUAt/lr;Q`sJcGQGrrE#t -rW&\mr;ccq!!(.@J,~> -bl7YCrVufrU]:;nr;ZcsJcGNF!!)utr;`SlrW)lr!!%TMnc/UhrVuisUAt/lr;Q`sJcGQGrrE#t -rW&\mr;ccq!!(.@J,~> -bl7YCrVufrU]:;nr;ZcsJcGNF!!)utr;`SlrW)lr!!%TMnc/UhrVuisUAt/lr;Q`sJcGQGrrE#t -rW&\mr;ccq!!(.@J,~> -bl@\Crr;osU]:8mrr;rtJcGNFrrE&ur;`SlrW)osrr@WMnGiLgrr;rtUAt/lrVultJcGNFrrE&u -rW&\mr;cfrrrC1@J,~> -bl@\Crr;osU]:8mrr;rtJcGNFrrE&ur;`SlrW)osrr@WMnGiLgrr;rtUAt/lrVultJcGNFrrE&u -rW&\mr;cfrrrC1@J,~> -bl@\Crr;osU]:8mrr;rtJcGNFrrE&ur;`SlrW)osrr@WMnGiLgrr;rtUAt/lrVultJcGNFrrE&u -rW&\mr;cfrrrC1@J,~> -bl@YBs8W&uUAt/lrr;uuJcGKErW)uurW&Ylr;cltrW%NLnGiIf!<;utU&Y)lrr;rtJcGNFrVuru -r;`PkrW)rtrW((?J,~> -bl@YBs8W&uUAt/lrr;uuJcGKErW)uurW&Ylr;cltrW%NLnGiIf!<;utU&Y)lrr;rtJcGNFrVuru -r;`PkrW)rtrW((?J,~> -bl@YBs8W&uUAt/lrr;uuJcGKErW)uurW&Ylr;cltrW%NLnGiIf!<;utU&Y)lrr;rtJcGNFrVuru -r;`PkrW)rtrW((?J,~> -bl@J=U&Y)ls8W&uJcGKEq#I,gr;Zitr;_EKnGi:aU&Y&k!<;utJcGNFq#I,gr;Zitr;at>J,~> -bl@J=U&Y)ls8W&uJcGKEq#I,gr;Zitr;_EKnGi:aU&Y&k!<;utJcGNFq#I,gr;Zitr;at>J,~> -bl@J=U&Y)ls8W&uJcGKEq#I,gr;Zitr;_EKnGi:aU&Y&k!<;utJcGNFq#I,gr;Zitr;at>J,~> -bl@J=r;Q`sXoAA$r;ZQmJcGKEq#L?m!!',#rW)rtq#H!GnGi=brVuisXoJD$rVuZnJcGKEq>gKo -rW')#rrE#tq#JM9J,~> -bl@J=r;Q`sXoAA$r;ZQmJcGKEq#L?m!!',#rW)rtq#H!GnGi=brVuisXoJD$rVuZnJcGKEq>gKo -rW')#rrE#tq#JM9J,~> -bl@J=r;Q`sXoAA$r;ZQmJcGKEq#L?m!!',#rW)rtq#H!GnGi=brVuisXoJD$rVuZnJcGKEq>gKo -rW')#rrE#tq#JM9J,~> -bl@M>s8VusXT.nmJcGKEq>gQqquEetoDjIBnGi+\X8i(t!<;lqJcGKEoDkrlqu?`sq>eV:J,~> -bl@M>s8VusXT.nmJcGKEq>gQqquEetoDjIBnGi+\X8i(t!<;lqJcGKEoDkrlqu?`sq>eV:J,~> -bl@M>s8VusXT.nmJcGKEq>gQqquEetoDjIBnGi+\X8i(t!<;lqJcGKEoDkrlqu?`sq>eV:J,~> -bl@;8WrM_lJcGKEoDkljp&K[Dn,N%\WW2VkJcGKEo`1uko`3)5J,~> -bl@;8WrM_lJcGKEoDkljp&K[Dn,N%\WW2VkJcGKEo`1uko`3)5J,~> -bl@;8WrM_lJcGKEoDkljp&K[Dn,N%\WW2VkJcGKEo`1uko`3)5J,~> -bl@>9W;lPkJcGKEo`1rjp&K[Dmf3"]VuQGjJcGHDpAh,kp&N26J,~> -bl@>9W;lPkJcGKEo`1rjp&K[Dmf3"]VuQGjJcGHDpAh,kp&N26J,~> -bl@>9W;lPkJcGKEo`1rjp&K[Dmf3"]VuQGjJcGHDpAh,kp&N26J,~> -bQ%;:VZ6AjJcGHDpAh)jpAfdEmf3%^V>p8iJcGHDp]./jpAi;7J,~> -bQ%;:VZ6AjJcGHDpAh)jpAfdEmf3%^V>p8iJcGHDp]./jpAi;7J,~> -bQ%;:VZ6AjJcGHDpAh)jpAfdEmf3%^V>p8iJcGHDp]./jpAi;7J,~> -bQ%>;V#U2iJcGHDp].,ip],mFmf3(_U]:)hJcGHDq#I2ip]/D8J,~> -bQ%>;V#U2iJcGHDp].,ip],mFmf3(_U]:)hJcGHDq#I2ip]/D8J,~> -bQ%>;V#U2iJcGHDp].,ip],mFmf3(_U]:)hJcGHDq#I2ip]/D8J,~> -bQ%A -bQ%A -bQ%A -bQ%G>TE"cgJcGECqZ*8gq>c*Hmf3+`T`=lhJcGECq>d2gqZ+\:J,~> -bQ%G>TE"cgJcGECqZ*8gq>c*Hmf3+`T`=lhJcGECq>d2gqZ+\:J,~> -bQ%G>TE"cgJcGECqZ*8gq>c*Hmf3+`T`=lhJcGECq>d2gqZ+\:J,~> -bQ%J?ScATfJcGECquE;fquD -bQ%J?ScATfJcGECquE;fquD -bQ%J?ScATfJcGECquE;fquD -bQ%M@S,`EeJcGECr;`>er;_EKm/R"aSH&NfJcGBBr;`Afr;an -bQ%M@S,`EeJcGECr;`>er;_EKm/R"aSH&NfJcGBBr;`Afr;an -bQ%M@S,`EeJcGECr;`>er;_EKm/R"aSH&NfJcGBBr;`Afr;an -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtl2Ub`aT)8?p&G!kqu?WqlMpkaaT)8?p&G!kgAh-Pl2Ub`aT)8?p&G!kqu?WqlMpkaaT)8? -p&G!kdJs1GlMpkaaT)8?p&G!kqu?WqlMpkaa8c/>p&G!kgAh-PlMpkaaT)8?p&G!kqu?WqlMpka -a8c/>p&G!kqYu'~> -rr;rtl2Ub`aT)8?p&G!kqu?WqlMpkaaT)8?p&G!kgAh-Pl2Ub`aT)8?p&G!kqu?WqlMpkaaT)8? -p&G!kdJs1GlMpkaaT)8?p&G!kqu?WqlMpkaa8c/>p&G!kgAh-PlMpkaaT)8?p&G!kqu?WqlMpka -a8c/>p&G!kqYu'~> -rr;rtl2Ub`aT)8?p&G!kqu?WqlMpkaaT)8?p&G!kgAh-Pl2Ub`aT)8?p&G!kqu?WqlMpkaaT)8? -p&G!kdJs1GlMpkaaT)8?p&G!kqu?WqlMpkaa8c/>p&G!kgAh-PlMpkaaT)8?p&G!kqu?WqlMpka -a8c/>p&G!kqYu'~> -rr;rtli6n`b5_D?p&G!kqu?Wqm/R"ab5_D?p&G!kgAh-Pli6n`b5_D?p&G!kqu?Wqm/R"ab5_D? -p&G!kdJs1Gm/R"ab5_D?p&G!kqu?Wqm/R"aaoD;>p&G!kgAh-Pm/R"ab5_D?p&G!kqu?Wqm/R"a -aoD;>p&G!kqYu'~> -rr;rtli6n`b5_D?p&G!kqu?Wqm/R"ab5_D?p&G!kgAh-Pli6n`b5_D?p&G!kqu?Wqm/R"ab5_D? -p&G!kdJs1Gm/R"ab5_D?p&G!kqu?Wqm/R"aaoD;>p&G!kgAh-Pm/R"ab5_D?p&G!kqu?Wqm/R"a -aoD;>p&G!kqYu'~> -rr;rtli6n`b5_D?p&G!kqu?Wqm/R"ab5_D?p&G!kgAh-Pli6n`b5_D?p&G!kqu?Wqm/R"ab5_D? -p&G!kdJs1Gm/R"ab5_D?p&G!kqu?Wqm/R"aaoD;>p&G!kgAh-Pm/R"ab5_D?p&G!kqu?Wqm/R"a -aoD;>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rtlMph`aoD>?p&G!kqu?Wqli6qaaoD>?p&G!kgAh-PlMph`aoD>?p&G!kqu?Wqli6qaaoD>? -p&G!kdJs1Gli6qaaoD>?p&G!kqu?Wqli6qaaT)5>p&G!kgAh-Pli6qaaoD>?p&G!kqu?Wqli6qa -aT)5>p&G!kqYu'~> -rr;rto`+dgrVuisrr;rtrr;osqu6]ts8W&urr;uus8W&ur;Z`rq>^Bn!<<#up&G!kqu?Wqp&Fmh -rVuisrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kgAh-Po`+dgrVuisrr;rt -rr;osqu6]ts8W&urr;uus8W&ur;Z`rq>^Bn!<<#up&G!kqu?Wqp&FmhrVuisrVuisrr;osqu6]t -s8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kdJs1Gp&FmhrVuisrVuisrr;osqu6]ts8W&urr;uu -s8W&ur;Z`rqZ$Ko!<<#up&G!kqu?Wqo`+dgrr;rtrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`r -q>^Bn!<<#up&G!kgAh-Pp&FmhrVuisrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#u -p&G!kqu?Wqo`+dgrr;rtrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rq>^Bn!<<#up&G!kqYu'~> -rr;rto`+dgrVuisrr;rtrr;osqu6]ts8W&urr;uus8W&ur;Z`rq>^Bn!<<#up&G!kqu?Wqp&Fmh -rVuisrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kgAh-Po`+dgrVuisrr;rt -rr;osqu6]ts8W&urr;uus8W&ur;Z`rq>^Bn!<<#up&G!kqu?Wqp&FmhrVuisrVuisrr;osqu6]t -s8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kdJs1Gp&FmhrVuisrVuisrr;osqu6]ts8W&urr;uu -s8W&ur;Z`rqZ$Ko!<<#up&G!kqu?Wqo`+dgrr;rtrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`r -q>^Bn!<<#up&G!kgAh-Pp&FmhrVuisrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#u -p&G!kqu?Wqo`+dgrr;rtrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rq>^Bn!<<#up&G!kqYu'~> -rr;rto`+dgrVuisrr;rtrr;osqu6]ts8W&urr;uus8W&ur;Z`rq>^Bn!<<#up&G!kqu?Wqp&Fmh -rVuisrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kgAh-Po`+dgrVuisrr;rt -rr;osqu6]ts8W&urr;uus8W&ur;Z`rq>^Bn!<<#up&G!kqu?Wqp&FmhrVuisrVuisrr;osqu6]t -s8W&urr;uus8W&ur;Z`rqZ$Ko!<<#up&G!kdJs1Gp&FmhrVuisrVuisrr;osqu6]ts8W&urr;uu -s8W&ur;Z`rqZ$Ko!<<#up&G!kqu?Wqo`+dgrr;rtrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`r -q>^Bn!<<#up&G!kgAh-Pp&FmhrVuisrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rqZ$Ko!<<#u -p&G!kqu?Wqo`+dgrr;rtrVuisrr;osqu6]ts8W&urr;uus8W&ur;Z`rq>^Bn!<<#up&G!kqYu'~> -rr;rtp&G$lrr;uurVuisrr;rtr;Z`rs8VZj!<;rss8Vrrqu?Zrrr;osp&G!kqu?WqpAb-mrr;uu -rVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kgAh-Pp&G$lrr;uurVuisrr;rtr;Z`r -s8VZj!<;rss8Vrrqu?Zrrr;osp&G!kqu?WqpAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrr -r;Zcsrr;osp&G!kdJs1GpAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!k -qu?Wqp&G$lrr;uurr;rtrVuisr;Z`rs8VZj!<;rss8Vrrqu?Zrrr;osp&G!kgAh-PpAb-mrr;uu -rVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kqu?Wqp&G$lrr;uurr;rtrVuisr;Z`r -s8VZj!<;rss8Vrrqu?Zrrr;osp&G!kqYu'~> -rr;rtp&G$lrr;uurVuisrr;rtr;Z`rs8VZj!<;rss8Vrrqu?Zrrr;osp&G!kqu?WqpAb-mrr;uu -rVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kgAh-Pp&G$lrr;uurVuisrr;rtr;Z`r -s8VZj!<;rss8Vrrqu?Zrrr;osp&G!kqu?WqpAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrr -r;Zcsrr;osp&G!kdJs1GpAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!k -qu?Wqp&G$lrr;uurr;rtrVuisr;Z`rs8VZj!<;rss8Vrrqu?Zrrr;osp&G!kgAh-PpAb-mrr;uu -rVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kqu?Wqp&G$lrr;uurr;rtrVuisr;Z`r -s8VZj!<;rss8Vrrqu?Zrrr;osp&G!kqYu'~> -rr;rtp&G$lrr;uurVuisrr;rtr;Z`rs8VZj!<;rss8Vrrqu?Zrrr;osp&G!kqu?WqpAb-mrr;uu -rVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kgAh-Pp&G$lrr;uurVuisrr;rtr;Z`r -s8VZj!<;rss8Vrrqu?Zrrr;osp&G!kqu?WqpAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrr -r;Zcsrr;osp&G!kdJs1GpAb-mrr;uurVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!k -qu?Wqp&G$lrr;uurr;rtrVuisr;Z`rs8VZj!<;rss8Vrrqu?Zrrr;osp&G!kgAh-PpAb-mrr;uu -rVuisrVuisr;Z`rs8VZj!<;rss8Vrrr;Zcsrr;osp&G!kqu?Wqp&G$lrr;uurr;rtrVuisr;Z`r -s8VZj!<;rss8Vrrqu?Zrrr;osp&G!kqYu'~> -rr;rtpAb*lrVlitrVuisrVuisrVuisrr;cos8W#trr;osrVultr;Zcsr;Z`rp&G!kqu?Wqp](3m -rVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`rp&G!kgAh-PpAb*lrVlitrVuis -rVuisrVuisrr;cos8W#trr;osrVultr;Zcsr;Z`rp&G!kqu?Wqp](3mrVlitrVuisr;Z`rrVuis -rr;cos8W#trr;osrVultrVultr;Z`rp&G!kdJs1Gp](3mrVlitrVuisr;Z`rrVuisrr;cos8W#t -rr;osrVultrVultr;Z`rp&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrr;cos8W#trr;osrVult -r;Zcsr;Z`rp&G!kgAh-Pp](3mrVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`r -p&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrr;cos8W#trr;osrVultr;Zcsr;Z`rp&G!kqYu'~> -rr;rtpAb*lrVlitrVuisrVuisrVuisrr;cos8W#trr;osrVultr;Zcsr;Z`rp&G!kqu?Wqp](3m -rVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`rp&G!kgAh-PpAb*lrVlitrVuis -rVuisrVuisrr;cos8W#trr;osrVultr;Zcsr;Z`rp&G!kqu?Wqp](3mrVlitrVuisr;Z`rrVuis -rr;cos8W#trr;osrVultrVultr;Z`rp&G!kdJs1Gp](3mrVlitrVuisr;Z`rrVuisrr;cos8W#t -rr;osrVultrVultr;Z`rp&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrr;cos8W#trr;osrVult -r;Zcsr;Z`rp&G!kgAh-Pp](3mrVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`r -p&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrr;cos8W#trr;osrVultr;Zcsr;Z`rp&G!kqYu'~> -rr;rtpAb*lrVlitrVuisrVuisrVuisrr;cos8W#trr;osrVultr;Zcsr;Z`rp&G!kqu?Wqp](3m -rVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`rp&G!kgAh-PpAb*lrVlitrVuis -rVuisrVuisrr;cos8W#trr;osrVultr;Zcsr;Z`rp&G!kqu?Wqp](3mrVlitrVuisr;Z`rrVuis -rr;cos8W#trr;osrVultrVultr;Z`rp&G!kdJs1Gp](3mrVlitrVuisr;Z`rrVuisrr;cos8W#t -rr;osrVultrVultr;Z`rp&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrr;cos8W#trr;osrVult -r;Zcsr;Z`rp&G!kgAh-Pp](3mrVlitrVuisr;Z`rrVuisrr;cos8W#trr;osrVultrVultr;Z`r -p&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrr;cos8W#trr;osrVultr;Zcsr;Z`rp&G!kqYu'~> -rr;rtpAb*lrVlitrVuisrVuisrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kqu?Wqp](3m -rVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kgAh-PpAb*lrVlitrVuis -rVuisrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kqu?Wqp](3mrVlitrVuisr;Z`rrVuis -rVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kdJs1Gp](3mrVlitrVuisr;Z`rrVuisrVuisqu?Wq -rVufrrVuiss8W&ur;Z`rp&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrVuisqu?WqrVufrrVuis -rr;rtr;Z`rp&G!kgAh-Pp](3mrVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`r -p&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kqYu'~> -rr;rtpAb*lrVlitrVuisrVuisrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kqu?Wqp](3m -rVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kgAh-PpAb*lrVlitrVuis -rVuisrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kqu?Wqp](3mrVlitrVuisr;Z`rrVuis -rVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kdJs1Gp](3mrVlitrVuisr;Z`rrVuisrVuisqu?Wq -rVufrrVuiss8W&ur;Z`rp&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrVuisqu?WqrVufrrVuis -rr;rtr;Z`rp&G!kgAh-Pp](3mrVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`r -p&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kqYu'~> -rr;rtpAb*lrVlitrVuisrVuisrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kqu?Wqp](3m -rVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kgAh-PpAb*lrVlitrVuis -rVuisrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kqu?Wqp](3mrVlitrVuisr;Z`rrVuis -rVuisqu?WqrVufrrVuiss8W&ur;Z`rp&G!kdJs1Gp](3mrVlitrVuisr;Z`rrVuisrVuisqu?Wq -rVufrrVuiss8W&ur;Z`rp&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrVuisqu?WqrVufrrVuis -rr;rtr;Z`rp&G!kgAh-Pp](3mrVlitrVuisr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W&ur;Z`r -p&G!kqu?WqpAb*lrVlitrr;rtr;Z`rrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kqYu'~> -rr;rtpAb*lq#C^Eor;Z`rrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kgAh-Pp](3mq#C^Eor;Z`rrVuisrVuis -qu?WqrVufrrVuisrr;rtr;Z`rp&G!kqYu'~> -rr;rtpAb*lq#C^Eor;Z`rrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kgAh-Pp](3mq#C^Eor;Z`rrVuisrVuis -qu?WqrVufrrVuisrr;rtr;Z`rp&G!kqYu'~> -rr;rtpAb*lq#C^Eor;Z`rrVuisrVuisqu?WqrVufrrVuisrr;rtr;Z`rp&G!kgAh-Pp](3mq#C^Eor;Z`rrVuisrVuis -qu?WqrVufrrVuisrr;rtr;Z`rp&G!kqYu'~> -rr;rtp&FsjqZ$NprVuisrVuisrVuisqu?WqrVufrrVuisrr;uuqu?Wqp&G!kqu?WqpAb'kqZ$Np -r;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kgAh-Pp&FsjqZ$NprVuisrVuisrVuis -qu?WqrVufrrVuisrr;uuqu?Wqp&G!kqu?WqpAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuis -s8W*!qu?Wqp&G!kdJs1GpAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!k -qu?Wqp&Fsjqu?Wqr;Z`rrVuisrVuisqu?WqrVufrrVuisrr;uuqu?Wqp&G!kgAh-PpAb'kqZ$Np -r;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kqu?Wqp&Fsjqu?Wqr;Z`rrVuisrVuis -qu?WqrVufrrVuisrr;uuqu?Wqp&G!kqYu'~> -rr;rtp&FsjqZ$NprVuisrVuisrVuisqu?WqrVufrrVuisrr;uuqu?Wqp&G!kqu?WqpAb'kqZ$Np -r;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kgAh-Pp&FsjqZ$NprVuisrVuisrVuis -qu?WqrVufrrVuisrr;uuqu?Wqp&G!kqu?WqpAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuis -s8W*!qu?Wqp&G!kdJs1GpAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!k -qu?Wqp&Fsjqu?Wqr;Z`rrVuisrVuisqu?WqrVufrrVuisrr;uuqu?Wqp&G!kgAh-PpAb'kqZ$Np -r;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kqu?Wqp&Fsjqu?Wqr;Z`rrVuisrVuis -qu?WqrVufrrVuisrr;uuqu?Wqp&G!kqYu'~> -rr;rtp&FsjqZ$NprVuisrVuisrVuisqu?WqrVufrrVuisrr;uuqu?Wqp&G!kqu?WqpAb'kqZ$Np -r;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kgAh-Pp&FsjqZ$NprVuisrVuisrVuis -qu?WqrVufrrVuisrr;uuqu?Wqp&G!kqu?WqpAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuis -s8W*!qu?Wqp&G!kdJs1GpAb'kqZ$Npr;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!k -qu?Wqp&Fsjqu?Wqr;Z`rrVuisrVuisqu?WqrVufrrVuisrr;uuqu?Wqp&G!kgAh-PpAb'kqZ$Np -r;Z`rrVuisrVuisqu?WqrVufrrVuiss8W*!qu?Wqp&G!kqu?Wqp&Fsjqu?Wqr;Z`rrVuisrVuis -qu?WqrVufrrVuisrr;uuqu?Wqp&G!kqYu'~> -rr;rto`+ghr;Z`rrVuisrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqp&Fpir;Z`r -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kgAh-Po`+ghr;Z`rrVuisrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqp&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -!<<#uqu?Wqp&G!kdJs1Gp&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!k -qu?Wqo`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kgAh-Pp&Fpir;Z`r -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kqu?Wqo`+ghrVuisr;Z`rrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqYu'~> -rr;rto`+ghr;Z`rrVuisrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqp&Fpir;Z`r -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kgAh-Po`+ghr;Z`rrVuisrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqp&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -!<<#uqu?Wqp&G!kdJs1Gp&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!k -qu?Wqo`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kgAh-Pp&Fpir;Z`r -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kqu?Wqo`+ghrVuisr;Z`rrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqYu'~> -rr;rto`+ghr;Z`rrVuisrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqp&Fpir;Z`r -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kgAh-Po`+ghr;Z`rrVuisrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqp&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -!<<#uqu?Wqp&G!kdJs1Gp&Fpir;Z`rr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!k -qu?Wqo`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kgAh-Pp&Fpir;Z`r -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kqu?Wqo`+ghrVuisr;Z`rrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqYu'~> -rr;rtoDe^grVuisrVuisrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqo`+ghrVuis -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kgAh-PoDe^grVuisrVuisrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqo`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -!<<#uqu?Wqp&G!kdJs1Go`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!k -qu?WqoDe^grr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kgAh-Po`+ghrVuis -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kqu?WqoDe^grr;rtr;Z`rrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqYu'~> -rr;rtoDe^grVuisrVuisrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqo`+ghrVuis -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kgAh-PoDe^grVuisrVuisrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqo`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -!<<#uqu?Wqp&G!kdJs1Go`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!k -qu?WqoDe^grr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kgAh-Po`+ghrVuis -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kqu?WqoDe^grr;rtr;Z`rrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqYu'~> -rr;rtoDe^grVuisrVuisrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqo`+ghrVuis -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kgAh-PoDe^grVuisrVuisrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqu?Wqo`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -!<<#uqu?Wqp&G!kdJs1Go`+ghrVuisr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!k -qu?WqoDe^grr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kgAh-Po`+ghrVuis -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<<#uqu?Wqp&G!kqu?WqoDe^grr;rtr;Z`rrVuisrVuis -qu?Wqr;Z`rrVuiss8W&uqu?Wqp&G!kqYu'~> -rr;rtnc/Ofrr;rtrVuisrVuisrVuisqu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kqu?Wqo)JXgrr;rt -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kgAh-Pnc/Ofrr;rtrVuisrVuisrVuis -qu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kqu?Wqo)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -!<;utr;Z`rp&G!kdJs1Go)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!k -qu?Wqnc/Ofs8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kgAh-Po)JXgrr;rt -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kqu?Wqnc/Ofs8W&ur;Z`rrVuisrVuis -qu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kqYu'~> -rr;rtnc/Ofrr;rtrVuisrVuisrVuisqu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kqu?Wqo)JXgrr;rt -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kgAh-Pnc/Ofrr;rtrVuisrVuisrVuis -qu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kqu?Wqo)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -!<;utr;Z`rp&G!kdJs1Go)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!k -qu?Wqnc/Ofs8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kgAh-Po)JXgrr;rt -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kqu?Wqnc/Ofs8W&ur;Z`rrVuisrVuis -qu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kqYu'~> -rr;rtnc/Ofrr;rtrVuisrVuisrVuisqu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kqu?Wqo)JXgrr;rt -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kgAh-Pnc/Ofrr;rtrVuisrVuisrVuis -qu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kqu?Wqo)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -!<;utr;Z`rp&G!kdJs1Go)JXgrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!k -qu?Wqnc/Ofs8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kgAh-Po)JXgrr;rt -r;Z`rrVuisrVuisqu?Wqr;Z`rrVuis!<;utr;Z`rp&G!kqu?Wqnc/Ofs8W&ur;Z`rrVuisrVuis -qu?Wqr;Z`rrVuiss8W#tr;Z`rp&G!kqYu'~> -rr;rtpAY*mr;Z`rrr;rtrVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;rtr;Z`rp&G!kqu?Wqp\t3n -r;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kgAh-PpAY*mr;Z`rrr;rt -rVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;rtr;Z`rp&G!kqu?Wqp\t3nr;Z`rrr;rtr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kdJs1Gp\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wq -r;Z`rrVuiss8W&ur;Z`rp&G!kqu?WqpAY*mr;Z`rs8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -rr;rtr;Z`rp&G!kgAh-Pp\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`r -p&G!kqu?WqpAY*mr;Z`rs8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuisrr;rtr;Z`rp&G!kqYu'~> -rr;rtpAY*mr;Z`rrr;rtrVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;rtr;Z`rp&G!kqu?Wqp\t3n -r;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kgAh-PpAY*mr;Z`rrr;rt -rVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;rtr;Z`rp&G!kqu?Wqp\t3nr;Z`rrr;rtr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kdJs1Gp\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wq -r;Z`rrVuiss8W&ur;Z`rp&G!kqu?WqpAY*mr;Z`rs8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -rr;rtr;Z`rp&G!kgAh-Pp\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`r -p&G!kqu?WqpAY*mr;Z`rs8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuisrr;rtr;Z`rp&G!kqYu'~> -rr;rtpAY*mr;Z`rrr;rtrVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;rtr;Z`rp&G!kqu?Wqp\t3n -r;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kgAh-PpAY*mr;Z`rrr;rt -rVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;rtr;Z`rp&G!kqu?Wqp\t3nr;Z`rrr;rtr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuiss8W&ur;Z`rp&G!kdJs1Gp\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wq -r;Z`rrVuiss8W&ur;Z`rp&G!kqu?WqpAY*mr;Z`rs8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -rr;rtr;Z`rp&G!kgAh-Pp\t3nr;Z`rrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W&ur;Z`r -p&G!kqu?WqpAY*mr;Z`rs8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuisrr;rtr;Z`rp&G!kqYu'~> -rr;rtpAb-mrVuisrr;rtrVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;osrVuisp&G!kqu?Wqp](6n -rVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kgAh-PpAb-mrVuisrr;rt -rVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;osrVuisp&G!kqu?Wqp](6nrVuisrr;rtr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kdJs1Gp](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wq -r;Z`rrVuiss8W#trVuisp&G!kqu?WqpAb-mrVuiss8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -rr;osrVuisp&G!kgAh-Pp](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuis -p&G!kqu?WqpAb-mrVuiss8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuisrr;osrVuisp&G!kqYu'~> -rr;rtpAb-mrVuisrr;rtrVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;osrVuisp&G!kqu?Wqp](6n -rVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kgAh-PpAb-mrVuisrr;rt -rVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;osrVuisp&G!kqu?Wqp](6nrVuisrr;rtr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kdJs1Gp](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wq -r;Z`rrVuiss8W#trVuisp&G!kqu?WqpAb-mrVuiss8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -rr;osrVuisp&G!kgAh-Pp](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuis -p&G!kqu?WqpAb-mrVuiss8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuisrr;osrVuisp&G!kqYu'~> -rr;rtpAb-mrVuisrr;rtrVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;osrVuisp&G!kqu?Wqp](6n -rVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kgAh-PpAb-mrVuisrr;rt -rVuisrVuisrVuisqu?Wqr;Z`rrVuisrr;osrVuisp&G!kqu?Wqp](6nrVuisrr;rtr;Z`rrVuis -rVuisqu?Wqr;Z`rrVuiss8W#trVuisp&G!kdJs1Gp](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wq -r;Z`rrVuiss8W#trVuisp&G!kqu?WqpAb-mrVuiss8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuis -rr;osrVuisp&G!kgAh-Pp](6nrVuisrr;rtr;Z`rrVuisrVuisqu?Wqr;Z`rrVuiss8W#trVuis -p&G!kqu?WqpAb-mrVuiss8W&ur;Z`rrVuisrVuisqu?Wqr;Z`rrVuisrr;osrVuisp&G!kqYu'~> -rr;rtpAb-mrVultrVuisrVuQkrr;rtqu?WqrVufrrVuisrVuNjp](3mqu?Wqp](6nrVultrVuis -r;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mgAh-PpAb-mrVultrVuisrVuQkrr;rtqu?WqrVufr -rVuisrVuNjp](3mqu?Wqp](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mdJs1G -p](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mqu?WqpAb-mrVultrr;rtr;ZHj -rr;rtqu?WqrVufrrVuisrVuNjp](3mgAh-Pp](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuis -rr;Wkp](3mqu?WqpAb-mrVultrr;rtr;ZHjrr;rtqu?WqrVufrrVuisrVuNjp](3mqYu'~> -rr;rtpAb-mrVultrVuisrVuQkrr;rtqu?WqrVufrrVuisrVuNjp](3mqu?Wqp](6nrVultrVuis -r;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mgAh-PpAb-mrVultrVuisrVuQkrr;rtqu?WqrVufr -rVuisrVuNjp](3mqu?Wqp](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mdJs1G -p](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mqu?WqpAb-mrVultrr;rtr;ZHj -rr;rtqu?WqrVufrrVuisrVuNjp](3mgAh-Pp](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuis -rr;Wkp](3mqu?WqpAb-mrVultrr;rtr;ZHjrr;rtqu?WqrVufrrVuisrVuNjp](3mqYu'~> -rr;rtpAb-mrVultrVuisrVuQkrr;rtqu?WqrVufrrVuisrVuNjp](3mqu?Wqp](6nrVultrVuis -r;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mgAh-PpAb-mrVultrVuisrVuQkrr;rtqu?WqrVufr -rVuisrVuNjp](3mqu?Wqp](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mdJs1G -p](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuisrr;Wkp](3mqu?WqpAb-mrVultrr;rtr;ZHj -rr;rtqu?WqrVufrrVuisrVuNjp](3mgAh-Pp](6nrVultrVuisr;ZHjrr;rtqu?WqrVufrrVuis -rr;Wkp](3mqu?WqpAb-mrVultrr;rtr;ZHjrr;rtqu?WqrVufrrVuisrVuNjp](3mqYu'~> -rr;rtpAashrVu`prr;lr!<;ut!<;orrVucqs8Vrrs8VusrVuWmp&G!kqu?Wqp]('irVu`prVucq -!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kgAh-PpAashrVu`prr;lr!<;ut!<;orrVucqs8Vrr -s8VusrVuWmp&G!kqu?Wqp]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kdJs1G -p]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kqu?WqpAashrr;iqrVucq!<;ut -!<;orrVucqs8Vrrs8VusrVuWmp&G!kgAh-Pp]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vus -rr;`np&G!kqu?WqpAashrr;iqrVucq!<;ut!<;orrVucqs8Vrrs8VusrVuWmp&G!kqYu'~> -rr;rtpAashrVu`prr;lr!<;ut!<;orrVucqs8Vrrs8VusrVuWmp&G!kqu?Wqp]('irVu`prVucq -!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kgAh-PpAashrVu`prr;lr!<;ut!<;orrVucqs8Vrr -s8VusrVuWmp&G!kqu?Wqp]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kdJs1G -p]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kqu?WqpAashrr;iqrVucq!<;ut -!<;orrVucqs8Vrrs8VusrVuWmp&G!kgAh-Pp]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vus -rr;`np&G!kqu?WqpAashrr;iqrVucq!<;ut!<;orrVucqs8Vrrs8VusrVuWmp&G!kqYu'~> -rr;rtpAashrVu`prr;lr!<;ut!<;orrVucqs8Vrrs8VusrVuWmp&G!kqu?Wqp]('irVu`prVucq -!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kgAh-PpAashrVu`prr;lr!<;ut!<;orrVucqs8Vrr -s8VusrVuWmp&G!kqu?Wqp]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kdJs1G -p]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vusrr;`np&G!kqu?WqpAashrr;iqrVucq!<;ut -!<;orrVucqs8Vrrs8VusrVuWmp&G!kgAh-Pp]('irVu`prVucq!<;ut!<;orrVucqs8Vrrs8Vus -rr;`np&G!kqu?WqpAashrr;iqrVucq!<;ut!<;orrVucqs8Vrrs8VusrVuWmp&G!kqYu'~> -rr;rto)J^inc&Rhec5XLnGiIfqu?WqoDegjnG`Igf)PaMnGiIfgAh-Po)J^inc&Rhec5XLnGiIf -qu?WqoDegjnG`Igf)PaMnGiIfdJs1GoDegjnG`Igf)PaMnGiIfqu?Wqo)J^inc&Rhec5XLnGiIf -gAh-PoDegjnG`Igf)PaMnGiIfqu?Wqo)J^inc&Rhec5XLnGiIfqYu'~> -rr;rto)J^inc&Rhec5XLnGiIfqu?WqoDegjnG`Igf)PaMnGiIfgAh-Po)J^inc&Rhec5XLnGiIf -qu?WqoDegjnG`Igf)PaMnGiIfdJs1GoDegjnG`Igf)PaMnGiIfqu?Wqo)J^inc&Rhec5XLnGiIf -gAh-PoDegjnG`Igf)PaMnGiIfqu?Wqo)J^inc&Rhec5XLnGiIfqYu'~> -rr;rto)J^inc&Rhec5XLnGiIfqu?WqoDegjnG`Igf)PaMnGiIfgAh-Po)J^inc&Rhec5XLnGiIf -qu?WqoDegjnG`Igf)PaMnGiIfdJs1GoDegjnG`Igf)PaMnGiIfqu?Wqo)J^inc&Rhec5XLnGiIf -gAh-PoDegjnG`Igf)PaMnGiIfqu?Wqo)J^inc&Rhec5XLnGiIfqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr;rtT`=ukqu?WqU&Y)lgAh-PT`=ukqu?WqU&Y)ldJs1GU&Y)lqu?WqT`=ukgAh-PU&Y)lqu?Wq -T`=ukqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -rr8Dequ<,cgAdTAqu<,cdJo[9qu<)bgAdWBqu<)bqYu'~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -JcC<$JcC<$JcC<$JcDkPJ,~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/executable_names/doc/figures/connections.dia b/executable_names/doc/figures/connections.dia deleted file mode 100644 index 572db84b1c..0000000000 --- a/executable_names/doc/figures/connections.dia +++ /dev/null @@ -1,2 +0,0 @@ - -#A4##srun##slurmctld##slurmd##slurmd##slurmd####ephemeral port####``known'' port##1.##2.##3.##4.# diff --git a/executable_names/doc/figures/connections.eps b/executable_names/doc/figures/connections.eps deleted file mode 100644 index 6703af0774..0000000000 --- a/executable_names/doc/figures/connections.eps +++ /dev/null @@ -1,619 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ../figures/connections.dia -%%Creator: Dia v0.88.1 -%%CreationDate: Thu Apr 3 14:26:17 2003 -%%For: grondo -%%Magnification: 1.0000 -%%Orientation: Portrait -%%BoundingBox: 0 0 594 437 -%%Pages: 1 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /A /B /C /D /E -/F /G /H /I /J /K /L /M /N /O -/P /Q /R /S /T /U /V /W /X /Y -/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c -/d /e /f /g /h /i /j /k /l /m -/n /o /p /q /r /s /t /u /v /w -/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/Times-Roman-latin1 - /Times-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Italic-latin1 - /Times-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Bold-latin1 - /Times-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-BoldItalic-latin1 - /Times-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Book-latin1 - /AvantGarde-Book findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-BookOblique-latin1 - /AvantGarde-BookOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Demi-latin1 - /AvantGarde-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-DemiOblique-latin1 - /AvantGarde-DemiOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Light-latin1 - /Bookman-Light findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-LightItalic-latin1 - /Bookman-LightItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Demi-latin1 - /Bookman-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-DemiItalic-latin1 - /Bookman-DemiItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-latin1 - /Courier findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Oblique-latin1 - /Courier-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Bold-latin1 - /Courier-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-BoldOblique-latin1 - /Courier-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-latin1 - /Helvetica findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Oblique-latin1 - /Helvetica-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Bold-latin1 - /Helvetica-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-BoldOblique-latin1 - /Helvetica-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-latin1 - /Helvetica-Narrow findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Oblique-latin1 - /Helvetica-Narrow-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Bold-latin1 - /Helvetica-Narrow-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-BoldOblique-latin1 - /Helvetica-Narrow-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Roman-latin1 - /NewCenturySchoolbook-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Italic-latin1 - /NewCenturySchoolbook-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Bold-latin1 - /NewCenturySchoolbook-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-BoldItalic-latin1 - /NewCenturySchoolbook-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Roman-latin1 - /Palatino-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Italic-latin1 - /Palatino-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Bold-latin1 - /Palatino-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-BoldItalic-latin1 - /Palatino-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Symbol-latin1 - /Symbol findfont -definefont pop -/ZapfChancery-MediumItalic-latin1 - /ZapfChancery-MediumItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/ZapfDingbats-latin1 - /ZapfDingbats findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def /savematrix mtrx currentmatrix def - x y tr xrad yrad sc - 0 0 1 startangle endangle arc - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -28.346000 -28.346000 scale --0.267000 -16.350000 translate -%%EndProlog - - -1.000000 1.000000 1.000000 srgb -n 0.817000 4.500000 m 0.817000 6.500000 l 3.433000 6.500000 l 3.433000 4.500000 l f -n 0.817000 5.000000 m 0.817000 5.000000 0.500000 0.500000 180.000000 270.000000 ellipse f -n 3.433000 5.000000 m 3.433000 5.000000 0.500000 0.500000 270.000000 360.000000 ellipse f -n 0.317000 5.000000 m 0.317000 6.000000 l 3.933000 6.000000 l 3.933000 5.000000 l f -n 0.817000 6.000000 m 0.817000 6.000000 0.500000 0.500000 90.000000 180.000000 ellipse f -n 3.433000 6.000000 m 3.433000 6.000000 0.500000 0.500000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 0.817000 4.500000 m 3.433000 4.500000 l s -n 0.817000 6.500000 m 3.433000 6.500000 l s -n 0.817000 5.000000 0.500000 0.500000 180.000000 270.000000 ellipse s -n 3.433000 5.000000 0.500000 0.500000 270.000000 360.000000 ellipse s -n 0.317000 5.000000 m 0.317000 6.000000 l s -n 3.933000 5.000000 m 3.933000 6.000000 l s -n 0.817000 6.000000 0.500000 0.500000 90.000000 180.000000 ellipse s -n 3.433000 6.000000 0.500000 0.500000 0.000000 90.000000 ellipse s -/Courier-Bold-latin1 ff 0.800000 scf sf -(srun) dup sw 2 div 2.125000 ex sub 5.805217 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n 3.500000 4.750000 m 3.500000 5.250000 l 4.000000 5.250000 l 4.000000 4.750000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.500000 4.750000 m 3.500000 5.250000 l 4.000000 5.250000 l 4.000000 4.750000 l cp s -1.000000 1.000000 1.000000 srgb -n 3.500000 5.750000 m 3.500000 6.250000 l 4.000000 6.250000 l 4.000000 5.750000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.500000 5.750000 m 3.500000 6.250000 l 4.000000 6.250000 l 4.000000 5.750000 l cp s -1.000000 1.000000 1.000000 srgb -n 1.750000 6.500000 0.250000 0.250000 0 360 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0.000000 0.000000 0.000000 srgb -n 1.750000 6.500000 0.250000 0.250000 0 360 ellipse cp s -1.000000 1.000000 1.000000 srgb -n 8.513600 1.000000 m 8.513600 3.000000 l 14.649600 3.000000 l 14.649600 1.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 8.513600 1.000000 m 8.513600 3.000000 l 14.649600 3.000000 l 14.649600 1.000000 l cp s -/Courier-Bold-latin1 ff 0.800000 scf sf -(slurmctld) dup sw 2 div 11.581600 ex sub 2.305217 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 3.750000 4.750000 m 4.000000 3.250000 4.500000 1.500000 8.500000 1.500000 c s -0 slj -1.000000 1.000000 1.000000 srgb -n 8.100000 1.700000 m 8.500000 1.500000 l 8.100000 1.300000 l f -0.100000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 8.100000 1.700000 m 8.500000 1.500000 l 8.100000 1.300000 l cp s -1.000000 1.000000 1.000000 srgb -n 16.542400 8.500000 m 16.542400 10.500000 l 21.166400 10.500000 l 21.166400 8.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 16.542400 8.500000 m 16.542400 10.500000 l 21.166400 10.500000 l 21.166400 8.500000 l cp s -/Courier-Bold-latin1 ff 0.800000 scf sf -(slurmd) dup sw 2 div 18.854400 ex sub 9.805217 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n 11.542400 8.500000 m 11.542400 10.500000 l 16.166400 10.500000 l 16.166400 8.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 11.542400 8.500000 m 11.542400 10.500000 l 16.166400 10.500000 l 16.166400 8.500000 l cp s -/Courier-Bold-latin1 ff 0.800000 scf sf -(slurmd) dup sw 2 div 13.854400 ex sub 9.805217 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n 6.542400 8.500000 m 6.542400 10.500000 l 11.166400 10.500000 l 11.166400 8.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 6.542400 8.500000 m 6.542400 10.500000 l 11.166400 10.500000 l 11.166400 8.500000 l cp s -/Courier-Bold-latin1 ff 0.800000 scf sf -(slurmd) dup sw 2 div 8.854400 ex sub 9.805217 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n 7.000000 10.250000 m 7.000000 10.750000 l 7.500000 10.750000 l 7.500000 10.250000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 7.000000 10.250000 m 7.000000 10.750000 l 7.500000 10.750000 l 7.500000 10.250000 l cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 4.000000 6.000000 m 5.079000 6.000000 7.250000 6.750000 7.250000 8.250000 c s -0 slj -1.000000 1.000000 1.000000 srgb -n 7.050000 7.850000 m 7.250000 8.250000 l 7.450000 7.850000 l f -0.100000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 7.050000 7.850000 m 7.250000 8.250000 l 7.450000 7.850000 l cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 4.000000 6.000000 m 5.250000 6.000000 12.000000 5.760000 12.250000 8.260000 c s -0 slj -1.000000 1.000000 1.000000 srgb -n 12.011191 7.881886 m 12.250000 8.260000 l 12.409206 7.842084 l f -0.100000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 12.011191 7.881886 m 12.250000 8.260000 l 12.409206 7.842084 l cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 4.000000 6.000000 m 4.500000 5.750000 17.250000 5.250000 17.250000 8.250000 c s -0 slj -1.000000 1.000000 1.000000 srgb -n 17.050000 7.850000 m 17.250000 8.250000 l 17.450000 7.850000 l f -0.100000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 17.050000 7.850000 m 17.250000 8.250000 l 17.450000 7.850000 l cp s -1.000000 1.000000 1.000000 srgb -n 7.250000 8.500000 0.250000 0.250000 0 360 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0.000000 0.000000 0.000000 srgb -n 7.250000 8.500000 0.250000 0.250000 0 360 ellipse cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 7.250000 10.750000 m 3.500000 13.000000 1.823220 9.323220 1.750000 6.750000 c s -0 slj -n 2.014120 7.242687 m 1.750000 6.750000 l 1.514323 7.256908 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 12.250000 10.760000 m 5.500000 15.510000 2.000000 13.000000 1.750000 6.750000 c s -0 slj -n 2.019784 7.239608 m 1.750000 6.750000 l 1.520184 7.259592 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 17.000000 10.750000 m 8.426800 16.323200 2.000000 16.750000 1.750000 6.750000 c s -0 slj -n 2.012418 7.243596 m 1.750000 6.750000 l 1.512574 7.256092 l f -1.000000 1.000000 1.000000 srgb -n 12.000000 10.250000 m 12.000000 10.760000 l 12.500000 10.760000 l 12.500000 10.250000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 12.000000 10.250000 m 12.000000 10.760000 l 12.500000 10.760000 l 12.500000 10.250000 l cp s -1.000000 1.000000 1.000000 srgb -n 12.250000 8.510000 0.250000 0.250000 0 360 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0.000000 0.000000 0.000000 srgb -n 12.250000 8.510000 0.250000 0.250000 0 360 ellipse cp s -1.000000 1.000000 1.000000 srgb -n 17.000000 10.250000 m 17.000000 10.750000 l 17.500000 10.750000 l 17.500000 10.250000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 17.000000 10.250000 m 17.000000 10.750000 l 17.500000 10.750000 l 17.500000 10.250000 l cp s -1.000000 1.000000 1.000000 srgb -n 17.250000 8.500000 0.250000 0.250000 0 360 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0.000000 0.000000 0.000000 srgb -n 17.250000 8.500000 0.250000 0.250000 0 360 ellipse cp s -1.000000 1.000000 1.000000 srgb -n 8.500000 2.250000 m 8.500000 2.750000 l 9.000000 2.750000 l 9.000000 2.250000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 8.500000 2.250000 m 8.500000 2.750000 l 9.000000 2.750000 l 9.000000 2.250000 l cp s -1.000000 1.000000 1.000000 srgb -n 8.750000 1.500000 0.250000 0.250000 0 360 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0.000000 0.000000 0.000000 srgb -n 8.750000 1.500000 0.250000 0.250000 0 360 ellipse cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 8.500000 2.500000 m 7.000000 2.500000 4.750000 3.000000 4.000000 4.750000 c s -0 slj -1.000000 1.000000 1.000000 srgb -n 3.973739 4.303558 m 4.000000 4.750000 l 4.341397 4.461126 l f -0.100000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.973739 4.303558 m 4.000000 4.750000 l 4.341397 4.461126 l cp s -1.000000 1.000000 1.000000 srgb -n 4.250000 15.750000 m 4.250000 16.300000 l 4.750000 16.300000 l 4.750000 15.750000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 4.250000 15.750000 m 4.250000 16.300000 l 4.750000 16.300000 l 4.750000 15.750000 l cp s -/Courier-latin1 ff 0.800000 scf sf -() dup sw 2 div 5.000000 ex sub 16.000000 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.700000 scf sf -(ephemeral port) 5.000000 16.250000 m gs 1 -1 sc sh gr -/Courier-latin1 ff 0.800000 scf sf -() dup sw 2 div 5.250000 ex sub 16.250000 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n 11.750000 16.000000 0.250000 0.250000 0 360 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0.000000 0.000000 0.000000 srgb -n 11.750000 16.000000 0.250000 0.250000 0 360 ellipse cp s -/Helvetica-latin1 ff 0.700000 scf sf -(``known'' port) 12.250000 16.250000 m gs 1 -1 sc sh gr -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(1.) dup sw 2 div 5.000000 ex sub 2.000000 m gs 1 -1 sc sh gr -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(2.) dup sw 2 div 6.000000 ex sub 2.750000 m gs 1 -1 sc sh gr -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(3.) dup sw 2 div 13.250000 ex sub 6.000000 m gs 1 -1 sc sh gr -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(4.) dup sw 2 div 4.750000 ex sub 11.000000 m gs 1 -1 sc sh gr -showpage diff --git a/executable_names/doc/figures/entities.dia b/executable_names/doc/figures/entities.dia deleted file mode 100644 index 691382f903..0000000000 --- a/executable_names/doc/figures/entities.dia +++ /dev/null @@ -1,1454 +0,0 @@ - - - - - - - - - - #A4# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Partition 1# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Partition 2# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Job# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Job# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Job -Step# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #node# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Job -Step# - - - - - - - - - - - - - - - - - - - - - diff --git a/executable_names/doc/figures/entities.eps b/executable_names/doc/figures/entities.eps deleted file mode 100644 index c0731e6f87..0000000000 --- a/executable_names/doc/figures/entities.eps +++ /dev/null @@ -1,634 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: figures/entities.dia -%%Creator: Dia v0.88.1 -%%CreationDate: Wed Mar 26 17:17:24 2003 -%%For: ayoo -%%Magnification: 1.0000 -%%Orientation: Portrait -%%BoundingBox: 0 0 413 307 -%%Pages: 1 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /A /B /C /D /E -/F /G /H /I /J /K /L /M /N /O -/P /Q /R /S /T /U /V /W /X /Y -/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c -/d /e /f /g /h /i /j /k /l /m -/n /o /p /q /r /s /t /u /v /w -/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/Times-Roman-latin1 - /Times-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Italic-latin1 - /Times-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Bold-latin1 - /Times-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-BoldItalic-latin1 - /Times-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Book-latin1 - /AvantGarde-Book findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-BookOblique-latin1 - /AvantGarde-BookOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Demi-latin1 - /AvantGarde-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-DemiOblique-latin1 - /AvantGarde-DemiOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Light-latin1 - /Bookman-Light findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-LightItalic-latin1 - /Bookman-LightItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Demi-latin1 - /Bookman-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-DemiItalic-latin1 - /Bookman-DemiItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-latin1 - /Courier findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Oblique-latin1 - /Courier-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Bold-latin1 - /Courier-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-BoldOblique-latin1 - /Courier-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-latin1 - /Helvetica findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Oblique-latin1 - /Helvetica-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Bold-latin1 - /Helvetica-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-BoldOblique-latin1 - /Helvetica-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-latin1 - /Helvetica-Narrow findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Oblique-latin1 - /Helvetica-Narrow-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Bold-latin1 - /Helvetica-Narrow-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-BoldOblique-latin1 - /Helvetica-Narrow-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Roman-latin1 - /NewCenturySchoolbook-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Italic-latin1 - /NewCenturySchoolbook-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Bold-latin1 - /NewCenturySchoolbook-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-BoldItalic-latin1 - /NewCenturySchoolbook-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Roman-latin1 - /Palatino-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Italic-latin1 - /Palatino-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Bold-latin1 - /Palatino-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-BoldItalic-latin1 - /Palatino-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Symbol-latin1 - /Symbol findfont -definefont pop -/ZapfChancery-MediumItalic-latin1 - /ZapfChancery-MediumItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/ZapfDingbats-latin1 - /ZapfDingbats findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def /savematrix mtrx currentmatrix def - x y tr xrad yrad sc - 0 0 1 startangle endangle arc - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -28.346000 -28.346000 scale --0.725000 -12.025000 translate -%%EndProlog - - -0.694118 0.694118 0.776471 srgb -n 0.750000 1.250000 m 0.750000 12.000000 l 9.750000 12.000000 l 9.750000 1.250000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 0.750000 1.250000 m 0.750000 12.000000 l 9.750000 12.000000 l 9.750000 1.250000 l cp s -0.600000 0.709804 0.596078 srgb -n 9.750000 1.250000 m 9.750000 12.000000 l 15.250000 12.000000 l 15.250000 1.250000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 9.750000 1.250000 m 9.750000 12.000000 l 15.250000 12.000000 l 15.250000 1.250000 l cp s -0.010000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -0.407843 0.486275 0.407843 srgb -n 10.000000 10.375000 m 10.000000 9.875000 10.000000 2.250000 10.000000 1.750000 c 10.000000 1.250000 14.500000 1.250000 14.500000 1.750000 c 14.500000 2.250000 14.500000 9.875000 14.500000 10.375000 c 14.500000 10.875000 10.000000 10.875000 10.000000 10.375000 c f -0.411765 0.486275 0.411765 srgb -n 10.000000 10.375000 m 10.000000 9.875000 10.000000 2.250000 10.000000 1.750000 c 10.000000 1.250000 14.500000 1.250000 14.500000 1.750000 c 14.500000 2.250000 14.500000 9.875000 14.500000 10.375000 c 14.500000 10.875000 10.000000 10.875000 10.000000 10.375000 c s -0.010000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -0.419608 0.419608 0.607843 srgb -n 1.500000 6.750000 m 2.000000 6.750000 5.500000 6.625000 5.750000 7.000000 c 6.000000 7.375000 5.750000 8.375000 6.000000 8.500000 c 6.250000 8.625000 9.500000 8.750000 9.500000 8.250000 c 9.500000 7.750000 9.500000 1.750000 9.250000 1.750000 c 9.000000 1.750000 2.000000 1.750000 1.500000 1.750000 c 1.000000 1.750000 1.000000 6.750000 1.500000 6.750000 c f -0.423529 0.423529 0.607843 srgb -n 1.500000 6.750000 m 2.000000 6.750000 5.500000 6.625000 5.750000 7.000000 c 6.000000 7.375000 5.750000 8.375000 6.000000 8.500000 c 6.250000 8.625000 9.500000 8.750000 9.500000 8.250000 c 9.500000 7.750000 9.500000 1.750000 9.250000 1.750000 c 9.000000 1.750000 2.000000 1.750000 1.500000 1.750000 c 1.000000 1.750000 1.000000 6.750000 1.500000 6.750000 c s -/Helvetica-Narrow-Bold-latin1 ff 0.700000 scf sf -0.000000 0.000000 0.000000 srgb -(Partition 1) dup sw 2 div 5.250000 ex sub 11.750000 m gs 1 -1 sc sh gr -/Helvetica-Narrow-Bold-latin1 ff 0.700000 scf sf -(Partition 2) dup sw 2 div 12.500000 ex sub 11.750000 m gs 1 -1 sc sh gr -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(Job) dup sw 2 div 2.250000 ex sub 6.250000 m gs 1 -1 sc sh gr -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(Job) dup sw 2 div 13.500000 ex sub 9.875000 m gs 1 -1 sc sh gr -0.010000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -0.886275 0.886275 0.917647 srgb -n 2.000000 2.250000 m 2.750000 2.250000 8.750000 2.250000 9.000000 2.250000 c 9.250000 2.250000 9.250000 8.250000 9.000000 8.375000 c 8.750000 8.500000 6.500000 8.500000 6.250000 8.375000 c 6.000000 8.250000 6.250000 6.916670 6.000000 6.625000 c 5.750000 6.333330 3.500000 6.625000 3.250000 6.375000 c 3.000000 6.125000 3.000000 4.750000 3.000000 4.500000 c 3.000000 4.250000 2.750000 4.250000 2.000000 4.250000 c 1.250000 4.250000 1.250000 2.250000 2.000000 2.250000 c f -0.890196 0.886275 0.913725 srgb -n 2.000000 2.250000 m 2.750000 2.250000 8.750000 2.250000 9.000000 2.250000 c 9.250000 2.250000 9.250000 8.250000 9.000000 8.375000 c 8.750000 8.500000 6.500000 8.500000 6.250000 8.375000 c 6.000000 8.250000 6.250000 6.916670 6.000000 6.625000 c 5.750000 6.333330 3.500000 6.625000 3.250000 6.375000 c 3.000000 6.125000 3.000000 4.750000 3.000000 4.500000 c 3.000000 4.250000 2.750000 4.250000 2.000000 4.250000 c 1.250000 4.250000 1.250000 2.250000 2.000000 2.250000 c s -1.000000 1.000000 1.000000 srgb -n 3.500000 3.000000 m 3.500000 4.175000 l 5.625000 4.175000 l 5.625000 3.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.500000 3.000000 m 3.500000 4.175000 l 5.625000 4.175000 l 5.625000 3.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 4.562500 ex sub 3.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 3.375000 3.975000 m 3.375000 4.275000 l 5.750000 4.275000 l 5.750000 3.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 3.375000 3.975000 m 3.375000 4.275000 l 5.750000 4.275000 l 5.750000 3.975000 l cp s -1.000000 1.000000 1.000000 srgb -n 6.500000 3.000000 m 6.500000 4.175000 l 8.625000 4.175000 l 8.625000 3.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 6.500000 3.000000 m 6.500000 4.175000 l 8.625000 4.175000 l 8.625000 3.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 7.562500 ex sub 3.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 6.375000 3.975000 m 6.375000 4.275000 l 8.750000 4.275000 l 8.750000 3.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 6.375000 3.975000 m 6.375000 4.275000 l 8.750000 4.275000 l 8.750000 3.975000 l cp s -1.000000 1.000000 1.000000 srgb -n 3.500000 7.000000 m 3.500000 8.175000 l 5.625000 8.175000 l 5.625000 7.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.500000 7.000000 m 3.500000 8.175000 l 5.625000 8.175000 l 5.625000 7.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 4.562500 ex sub 7.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 3.375000 7.975000 m 3.375000 8.275000 l 5.750000 8.275000 l 5.750000 7.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 3.375000 7.975000 m 3.375000 8.275000 l 5.750000 8.275000 l 5.750000 7.975000 l cp s -1.000000 1.000000 1.000000 srgb -n 6.500000 7.000000 m 6.500000 8.175000 l 8.625000 8.175000 l 8.625000 7.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 6.500000 7.000000 m 6.500000 8.175000 l 8.625000 8.175000 l 8.625000 7.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 7.562500 ex sub 7.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 6.375000 7.975000 m 6.375000 8.275000 l 8.750000 8.275000 l 8.750000 7.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 6.375000 7.975000 m 6.375000 8.275000 l 8.750000 8.275000 l 8.750000 7.975000 l cp s -1.000000 1.000000 1.000000 srgb -n 3.500000 9.000000 m 3.500000 10.175000 l 5.625000 10.175000 l 5.625000 9.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.500000 9.000000 m 3.500000 10.175000 l 5.625000 10.175000 l 5.625000 9.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 4.562500 ex sub 9.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 3.375000 9.975000 m 3.375000 10.275000 l 5.750000 10.275000 l 5.750000 9.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 3.375000 9.975000 m 3.375000 10.275000 l 5.750000 10.275000 l 5.750000 9.975000 l cp s -1.000000 1.000000 1.000000 srgb -n 6.500000 9.000000 m 6.500000 10.175000 l 8.625000 10.175000 l 8.625000 9.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 6.500000 9.000000 m 6.500000 10.175000 l 8.625000 10.175000 l 8.625000 9.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 7.562500 ex sub 9.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 6.375000 9.975000 m 6.375000 10.275000 l 8.750000 10.275000 l 8.750000 9.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 6.375000 9.975000 m 6.375000 10.275000 l 8.750000 10.275000 l 8.750000 9.975000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -0.000000 0.000000 0.000000 srgb -(Job) dup sw 2 div 2.500000 ex sub 3.250000 m gs 1 -1 sc sh gr -(Step) dup sw 2 div 2.500000 ex sub 3.850000 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n 3.500000 5.000000 m 3.500000 6.175000 l 5.625000 6.175000 l 5.625000 5.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.500000 5.000000 m 3.500000 6.175000 l 5.625000 6.175000 l 5.625000 5.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 4.562500 ex sub 5.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 3.375000 5.975000 m 3.375000 6.275000 l 5.750000 6.275000 l 5.750000 5.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 3.375000 5.975000 m 3.375000 6.275000 l 5.750000 6.275000 l 5.750000 5.975000 l cp s -1.000000 1.000000 1.000000 srgb -n 6.500000 5.000000 m 6.500000 6.175000 l 8.625000 6.175000 l 8.625000 5.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 6.500000 5.000000 m 6.500000 6.175000 l 8.625000 6.175000 l 8.625000 5.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 7.562500 ex sub 5.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 6.375000 5.975000 m 6.375000 6.275000 l 8.750000 6.275000 l 8.750000 5.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 6.375000 5.975000 m 6.375000 6.275000 l 8.750000 6.275000 l 8.750000 5.975000 l cp s -0.010000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -0.764706 0.949020 0.764706 srgb -n 10.250000 2.250000 m 10.250000 1.500000 14.200000 1.525000 14.250000 2.125000 c 14.300000 2.725000 14.250000 5.875000 14.250000 6.375000 c 14.250000 6.875000 10.250000 6.875000 10.250000 6.375000 c 10.250000 5.875000 10.250000 3.000000 10.250000 2.250000 c f -0.768627 0.949020 0.768627 srgb -n 10.250000 2.250000 m 10.250000 1.500000 14.200000 1.525000 14.250000 2.125000 c 14.300000 2.725000 14.250000 5.875000 14.250000 6.375000 c 14.250000 6.875000 10.250000 6.875000 10.250000 6.375000 c 10.250000 5.875000 10.250000 3.000000 10.250000 2.250000 c s -1.000000 1.000000 1.000000 srgb -n 10.500000 3.000000 m 10.500000 4.175000 l 12.625000 4.175000 l 12.625000 3.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.500000 3.000000 m 10.500000 4.175000 l 12.625000 4.175000 l 12.625000 3.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 11.562500 ex sub 3.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 10.375000 3.975000 m 10.375000 4.275000 l 12.750000 4.275000 l 12.750000 3.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 10.375000 3.975000 m 10.375000 4.275000 l 12.750000 4.275000 l 12.750000 3.975000 l cp s -1.000000 1.000000 1.000000 srgb -n 10.500000 5.000000 m 10.500000 6.175000 l 12.625000 6.175000 l 12.625000 5.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.500000 5.000000 m 10.500000 6.175000 l 12.625000 6.175000 l 12.625000 5.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 11.562500 ex sub 5.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 10.375000 5.975000 m 10.375000 6.275000 l 12.750000 6.275000 l 12.750000 5.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 10.375000 5.975000 m 10.375000 6.275000 l 12.750000 6.275000 l 12.750000 5.975000 l cp s -1.000000 1.000000 1.000000 srgb -n 10.500000 7.000000 m 10.500000 8.175000 l 12.625000 8.175000 l 12.625000 7.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.500000 7.000000 m 10.500000 8.175000 l 12.625000 8.175000 l 12.625000 7.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 11.562500 ex sub 7.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 10.375000 7.975000 m 10.375000 8.275000 l 12.750000 8.275000 l 12.750000 7.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 10.375000 7.975000 m 10.375000 8.275000 l 12.750000 8.275000 l 12.750000 7.975000 l cp s -1.000000 1.000000 1.000000 srgb -n 10.500000 9.000000 m 10.500000 10.175000 l 12.625000 10.175000 l 12.625000 9.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.500000 9.000000 m 10.500000 10.175000 l 12.625000 10.175000 l 12.625000 9.000000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -(node) dup sw 2 div 11.562500 ex sub 9.750000 m gs 1 -1 sc sh gr -0.800000 0.800000 0.800000 srgb -n 10.375000 9.975000 m 10.375000 10.275000 l 12.750000 10.275000 l 12.750000 9.975000 l f -0.050000 slw -[] 0 sd -[] 0 sd -0 slj -0.003922 0.003922 0.003922 srgb -n 10.375000 9.975000 m 10.375000 10.275000 l 12.750000 10.275000 l 12.750000 9.975000 l cp s -/Helvetica-Narrow-Bold-latin1 ff 0.600000 scf sf -0.000000 0.000000 0.000000 srgb -(Job) dup sw 2 div 13.500000 ex sub 4.250000 m gs 1 -1 sc sh gr -(Step) dup sw 2 div 13.500000 ex sub 4.850000 m gs 1 -1 sc sh gr -showpage diff --git a/executable_names/doc/figures/entities2.eps b/executable_names/doc/figures/entities2.eps deleted file mode 100644 index ff6c3da83f..0000000000 --- a/executable_names/doc/figures/entities2.eps +++ /dev/null @@ -1,2516 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /g/g0/jette/sigops/figure1.eps -%%CreationDate: Wed Feb 1 14:10:07 2006 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 559 444 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 429.120000 translate -544.320000 -429.120000 scale -% Image geometry -756 596 8 -% Transformation matrix -[ 756 0 0 596 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 756 string def -/gstr 756 string def -/bstr 756 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 127970 ASCII Bytes -colorimage -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7_uK`:jo>;[JcGTHrW'h8rrD3]rW'>*rW'e7rW'k9rrD0\rW&_nrW)ZlJ,~> -q>^Eo_>jK7_uK`:jo>;[JcGTHrW'h8rrD3]rW'>*rW'e7rW'k9rrD0\rW&_nrW)ZlJ,~> -q>^Eo_>jK7_uK`:jo>;[JcGTHrW'h8rrD3]rW'>*rW'e7rW'k9rrD0\rW&_nrW)ZlJ,~> -q>^Eo_>jK7pAb!iq#C-ikl:M[k5YD\JcGTHrW)ZlqZ-Ekq#KUXqZ,gZrW'>*rW'e7rW)ZlqZ-Ek -q#KXYqZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7pAb!iq#C-ikl:M[k5YD\JcGTHrW)ZlqZ-Ekq#KUXqZ,gZrW'>*rW'e7rW)ZlqZ-Ek -q#KXYqZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7pAb!iq#C-ikl:M[k5YD\JcGTHrW)ZlqZ-Ekq#KUXqZ,gZrW'>*rW'e7rW)ZlqZ-Ek -q#KXYqZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mjo>2Xk5YD\JcGTHrW)TjquHKkrW)$ZqZ,gZrW'>*rW'e7rW)TjquHKk -rW)'[qZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mjo>2Xk5YD\JcGTHrW)TjquHKkrW)$ZqZ,gZrW'>*rW'e7rW)TjquHKk -rW)'[qZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mjo>2Xk5YD\JcGTHrW)TjquHKkrW)$ZqZ,gZrW'>*rW'e7rW)TjquHKk -rW)'[qZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mj8])Yjo>;[JcGTHrW)TjquHKkrW(sXrW)*\rW'>*rW'e7rW)TjquHKk -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mj8])Yjo>;[JcGTHrW)TjquHKkrW(sXrW)*\rW'>*rW'e7rW)TjquHKk -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mj8])Yjo>;[JcGTHrW)TjquHKkrW(sXrW)*\rW'>*rW'e7rW)TjquHKk -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+dgq#C;[JcGTHrW)TjqZ-EkrW(sXrW)*\rW'>*rW'e7rW)TjqZ-Ek -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+dgq#C;[JcGTHrW)TjqZ-EkrW(sXrW)*\rW'>*rW'e7rW)TjqZ-Ek -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+dgq#C;[JcGTHrW)TjqZ-EkrW(sXrW)*\rW'>*rW'e7rW)TjqZ-Ek -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+afq>^Eoj8])Yjo>;[JcGTHrW)Tjq>g?krW(sXrW)*\rW'>*rW'e7rW)Tjq>g?k -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+afq>^Eoj8])Yjo>;[JcGTHrW)Tjq>g?krW(sXrW)*\rW'>*rW'e7rW)Tjq>g?k -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+afq>^Eoj8])Yjo>;[JcGTHrW)Tjq>g?krW(sXrW)*\rW'>*rW'e7rW)Tjq>g?k -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+^eq>^Hpj8])Yjo>;[JcGTHrW)Tjq#L6jrrD'YrW)*\rW'>*rW'e7rW)Tjq#L6j -rrD*ZrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+^eq>^Hpj8])Yjo>;[JcGTHrW)Tjq#L6jrrD'YrW)*\rW'>*rW'e7rW)Tjq#L6j -rrD*ZrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+^eq>^Hpj8])Yjo>;[JcGTHrW)Tjq#L6jrrD'YrW)*\rW'>*rW'e7rW)Tjq#L6j -rrD*ZrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C*rW'e7rW)TjrVuruquHTnrrDfnrrD]krW)uurW)`nrW)KgrW&_n -rW)ZlJ,~> -q>^Eo_>jK7o`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C*rW'e7rW)TjrVuruquHTnrrDfnrrD]krW)uurW)`nrW)KgrW&_n -rW)ZlJ,~> -q>^Eo_>jK7o`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C*rW'e7rW)TjrVuruquHTnrrDfnrrD]krW)uurW)`nrW)KgrW&_n -rW)ZlJ,~> -q>^Eo_>jK7o`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDediJcGTHrW)TjrW)uur;c]orrDoqq#L3i -pAk*jq>g-erW'>*rW'e7rW)TjrW)uur;c]orrDoqq#L6jpAk'iq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDediJcGTHrW)TjrW)uur;c]orrDoqq#L3i -pAk*jq>g-erW'>*rW'e7rW)TjrW)uur;c]orrDoqq#L6jpAk'iq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDediJcGTHrW)TjrW)uur;c]orrDoqq#L3i -pAk*jq>g-erW'>*rW'e7rW)TjrW)uur;c]orrDoqq#L6jpAk'iq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mjJcGTHrW)TjrW)uu -quHWorrDrrrW)osrW)fprW)osr;ccqrrE&ur;cKirW'>*rW'e7rW)TjrW)uuquHWorrDrrrW)os -rW)iqrW)osr;c`prrE&ur;cKirW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mjJcGTHrW)TjrW)uu -quHWorrDrrrW)osrW)fprW)osr;ccqrrE&ur;cKirW'>*rW'e7rW)TjrW)uuquHWorrDrrrW)os -rW)iqrW)osr;c`prrE&ur;cKirW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mjJcGTHrW)TjrW)uu -quHWorrDrrrW)osrW)fprW)osr;ccqrrE&ur;cKirW'>*rW'e7rW)TjrW)uuquHWorrDrrrW)os -rW)iqrW)osr;c`prrE&ur;cKirW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)rt -quHZprrDusrW)iqrW)lrrW)iqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)rtquHZprrDusrW)iq -rW)osrW)iqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)rt -quHZprrDusrW)iqrW)lrrW)iqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)rtquHZprrDusrW)iq -rW)osrW)iqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)rt -quHZprrDusrW)iqrW)lrrW)iqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)rtquHZprrDusrW)iq -rW)osrW)iqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)os -quH]qrrDusrW)iqr;cfrrrDoqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)osquH]qrrDusrW)iq -r;cisrrDoqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)os -quH]qrrDusrW)iqr;cfrrrDoqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)osquH]qrrDusrW)iq -r;cisrrDoqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)os -quH]qrrDusrW)iqr;cfrrrDoqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)osquH]qrrDusrW)iq -r;cisrrDoqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*lJcGTHrW)TjrW)lrquH`r -rrE#trW)corW)rtrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)lrquH`rrrE#trW)corW)uurW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*lJcGTHrW)TjrW)lrquH`r -rrE#trW)corW)rtrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)lrquH`rrrE#trW)corW)uurW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*lJcGTHrW)TjrW)lrquH`r -rrE#trW)corW)rtrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)lrquH`rrrE#trW)corW)uurW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*lJcGTHrW)TjrW)iqr;cis -rrE#trW)cor;cltrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)iqr;cisrrE#trW)cor;ZitrW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*lJcGTHrW)TjrW)iqr;cis -rrE#trW)cor;cltrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)iqr;cisrrE#trW)cor;ZitrW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*lJcGTHrW)TjrW)iqr;cis -rrE#trW)cor;cltrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)iqr;cisrrE#trW)cor;ZitrW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)iqquHcs -rrE#trW)cor;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)iqquHcsrrE#trW)cor;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)iqquHcs -rrE#trW)cor;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)iqquHcsrrE#trW)cor;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)iqquHcs -rrE#trW)cor;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)iqquHcsrrE#trW)cor;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)fpqu?fu -!!*#ur;cZnr;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)fpqu?fu!!*#ur;cZnr;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)fpqu?fu -!!*#ur;cZnr;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)fpqu?fu!!*#ur;cZnr;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)fpqu?fu -!!*#ur;cZnr;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)fpqu?fu!!*#ur;cZnr;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%bJcGTHrW)TjrW)coq>gNpr;cZnr;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)coq>gNpr;cZnq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%bJcGTHrW)TjrW)coq>gNpr;cZnr;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)coq>gNpr;cZnq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%bJcGTHrW)TjrW)coq>gNpr;cZnr;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)coq>gNpr;cZnq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%bJcGTHrW)TjrW)`nqZ-Tpr;c]or;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)`nqZ-Tpr;c]oq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%bJcGTHrW)TjrW)`nqZ-Tpr;c]or;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)`nqZ-Tpr;c]oq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%bJcGTHrW)TjrW)`nqZ-Tpr;c]or;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)`nqZ-Tpr;c]oq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:*rW'e7rW)TjrW)]mquH]qr;c]or;Zitr;c`prW)os -rW)`n!!)`mrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:*rW'e7rW)TjrW)]mquH]qr;c]or;Zitr;c`prW)os -rW)`n!!)`mrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:*rW'e7rW)TjrW)]mquH]qr;c]or;Zitr;c`prW)os -rW)`n!!)`mrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kJcGTHrW)TjrW)]mquHZp -rW)fprW)rtr;c`prW)rtr;c]o!!)]lrW'>*rW'e7rW)TjrW)]mquHZprW)fprW)uur;c`prW)os -r;c]o!!)]lrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kJcGTHrW)TjrW)]mquHZp -rW)fprW)rtr;c`prW)rtr;c]o!!)]lrW'>*rW'e7rW)TjrW)]mquHZprW)fprW)uur;c`prW)os -r;c]o!!)]lrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kJcGTHrW)TjrW)]mquHZp -rW)fprW)rtr;c`prW)rtr;c]o!!)]lrW'>*rW'e7rW)TjrW)]mquHZprW)fprW)uur;c`prW)os -r;c]o!!)]lrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kJcGTHrW)TjrW)Zlr;ccq -r;c`prrDusr;ccqrW)osquH`rrW)WkrW'>*rW'e7rW)TjrW)Zlr;ccqr;c`prrE#tr;ccqrW)lr -quH`rrW)WkrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kJcGTHrW)TjrW)Zlr;ccq -r;c`prrDusr;ccqrW)osquH`rrW)WkrW'>*rW'e7rW)TjrW)Zlr;ccqr;c`prrE#tr;ccqrW)lr -quH`rrW)WkrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kJcGTHrW)TjrW)Zlr;ccq -r;c`prrDusr;ccqrW)osquH`rrW)WkrW'>*rW'e7rW)TjrW)Zlr;ccqr;c`prrE#tr;ccqrW)lr -quH`rrW)WkrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mjJcGTHrW)TjrW)WkrW)iqr;cfrrW)iq -oDnpkpAjjcrW'>*rW'e7rW)TjrW)WkrW)iqr;cfrrW)lroDnmjpAjjcrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mjJcGTHrW)TjrW)WkrW)iqr;cfrrW)iq -oDnpkpAjjcrW'>*rW'e7rW)TjrW)WkrW)iqr;cfrrW)lroDnmjpAjjcrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mjJcGTHrW)TjrW)WkrW)iqr;cfrrW)iq -oDnpkpAjjcrW'>*rW'e7rW)TjrW)WkrW)iqr;cfrrW)lroDnmjpAjjcrW&_nrW)ZlJ,~> -q>^Eo_>jK7p]($hpAb-mqZ$?kq>^g-erW'>*rW'e7rW)]mq#L-grrDoqq#L6jqZ$WrrW)fpq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7p]($hpAb-mqZ$?kq>^g-erW'>*rW'e7rW)]mq#L-grrDoqq#L6jqZ$WrrW)fpq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7p]($hpAb-mqZ$?kq>^g-erW'>*rW'e7rW)]mq#L-grrDoqq#L6jqZ$WrrW)fpq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7j8T)Zq#C9mp&G$loDeahnc/RgJcGTHrW)!Y!!)for;cKirrD]kr;cBfrW'>*rW'e7 -rW)!Y!!)for;cNjrrDZjr;cBfrW&_nrW)ZlJ,~> -q>^Eo_>jK7j8T)Zq#C9mp&G$loDeahnc/RgJcGTHrW)!Y!!)for;cKirrD]kr;cBfrW'>*rW'e7 -rW)!Y!!)for;cNjrrDZjr;cBfrW&_nrW)ZlJ,~> -q>^Eo_>jK7j8T)Zq#C9mp&G$loDeahnc/RgJcGTHrW)!Y!!)for;cKirrD]kr;cBfrW'>*rW'e7 -rW)!Y!!)for;cNjrrDZjr;cBfrW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7_uK`:jo>;[JcGTHrW'h8rrD3]rW'>*rW'e7rW'k9rrD0\rW&_nrW)ZlJ,~> -q>^Eo_>jK7_uK`:jo>;[JcGTHrW'h8rrD3]rW'>*rW'e7rW'k9rrD0\rW&_nrW)ZlJ,~> -q>^Eo_>jK7_uK`:jo>;[JcGTHrW'h8rrD3]rW'>*rW'e7rW'k9rrD0\rW&_nrW)ZlJ,~> -q>^Eo_>jK7pAb!iq#C-ikl:M[k5YD\JcGTHrW)ZlqZ-Ekq#KUXqZ,gZrW'>*rW'e7rW)ZlqZ-Ek -q#KXYqZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7pAb!iq#C-ikl:M[k5YD\JcGTHrW)ZlqZ-Ekq#KUXqZ,gZrW'>*rW'e7rW)ZlqZ-Ek -q#KXYqZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7pAb!iq#C-ikl:M[k5YD\JcGTHrW)ZlqZ-Ekq#KUXqZ,gZrW'>*rW'e7rW)ZlqZ-Ek -q#KXYqZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mjo>2Xk5YD\JcGTHrW)TjquHKkrW)$ZqZ,gZrW'>*rW'e7rW)TjquHKk -rW)'[qZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mjo>2Xk5YD\JcGTHrW)TjquHKkrW)$ZqZ,gZrW'>*rW'e7rW)TjquHKk -rW)'[qZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mjo>2Xk5YD\JcGTHrW)TjquHKkrW)$ZqZ,gZrW'>*rW'e7rW)TjquHKk -rW)'[qZ,dYrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mj8])Yjo>;[JcGTHrW)TjquHKkrW(sXrW)*\rW'>*rW'e7rW)TjquHKk -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mj8])Yjo>;[JcGTHrW)TjquHKkrW(sXrW)*\rW'>*rW'e7rW)TjquHKk -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+ghp](3mj8])Yjo>;[JcGTHrW)TjquHKkrW(sXrW)*\rW'>*rW'e7rW)TjquHKk -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+dgq#C;[JcGTHrW)TjqZ-EkrW(sXrW)*\rW'>*rW'e7rW)TjqZ-Ek -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+dgq#C;[JcGTHrW)TjqZ-EkrW(sXrW)*\rW'>*rW'e7rW)TjqZ-Ek -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+dgq#C;[JcGTHrW)TjqZ-EkrW(sXrW)*\rW'>*rW'e7rW)TjqZ-Ek -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+afq>^Eoj8])Yjo>;[JcGTHrW)Tjq>g?krW(sXrW)*\rW'>*rW'e7rW)Tjq>g?k -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+afq>^Eoj8])Yjo>;[JcGTHrW)Tjq>g?krW(sXrW)*\rW'>*rW'e7rW)Tjq>g?k -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+afq>^Eoj8])Yjo>;[JcGTHrW)Tjq>g?krW(sXrW)*\rW'>*rW'e7rW)Tjq>g?k -rW)!YrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+^eq>^Hpj8])Yjo>;[JcGTHrW)Tjq#L6jrrD'YrW)*\rW'>*rW'e7rW)Tjq#L6j -rrD*ZrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+^eq>^Hpj8])Yjo>;[JcGTHrW)Tjq#L6jrrD'YrW)*\rW'>*rW'e7rW)Tjq#L6j -rrD*ZrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+^eq>^Hpj8])Yjo>;[JcGTHrW)Tjq#L6jrrD'YrW)*\rW'>*rW'e7rW)Tjq#L6j -rrD*ZrW)'[rW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C*rW'e7rW)TjrVuruquHTnrrDfnrrD]krW)uurW)`nrW)KgrW&_n -rW)ZlJ,~> -q>^Eo_>jK7o`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C*rW'e7rW)TjrVuruquHTnrrDfnrrD]krW)uurW)`nrW)KgrW&_n -rW)ZlJ,~> -q>^Eo_>jK7o`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C*rW'e7rW)TjrVuruquHTnrrDfnrrD]krW)uurW)`nrW)KgrW&_n -rW)ZlJ,~> -q>^Eo_>jK7o`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDediJcGTHrW)TjrW)uur;c]orrDoqq#L3i -pAk*jq>g-erW'>*rW'e7rW)TjrW)uur;c]orrDoqq#L6jpAk'iq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDediJcGTHrW)TjrW)uur;c]orrDoqq#L3i -pAk*jq>g-erW'>*rW'e7rW)TjrW)uur;c]orrDoqq#L6jpAk'iq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDediJcGTHrW)TjrW)uur;c]orrDoqq#L3i -pAk*jq>g-erW'>*rW'e7rW)TjrW)uur;c]orrDoqq#L6jpAk'iq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mjJcGTHrW)TjrW)uu -quHWorrDrrrW)osrW)fprW)osr;ccqrrE&ur;cKirW'>*rW'e7rW)TjrW)uuquHWorrDrrrW)os -rW)iqrW)osr;c`prrE&ur;cKirW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mjJcGTHrW)TjrW)uu -quHWorrDrrrW)osrW)fprW)osr;ccqrrE&ur;cKirW'>*rW'e7rW)TjrW)uuquHWorrDrrrW)os -rW)iqrW)osr;c`prrE&ur;cKirW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mjJcGTHrW)TjrW)uu -quHWorrDrrrW)osrW)fprW)osr;ccqrrE&ur;cKirW'>*rW'e7rW)TjrW)uuquHWorrDrrrW)os -rW)iqrW)osr;c`prrE&ur;cKirW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)rt -quHZprrDusrW)iqrW)lrrW)iqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)rtquHZprrDusrW)iq -rW)osrW)iqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)rt -quHZprrDusrW)iqrW)lrrW)iqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)rtquHZprrDusrW)iq -rW)osrW)iqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)rt -quHZprrDusrW)iqrW)lrrW)iqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)rtquHZprrDusrW)iq -rW)osrW)iqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)os -quH]qrrDusrW)iqr;cfrrrDoqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)osquH]qrrDusrW)iq -r;cisrrDoqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)os -quH]qrrDusrW)iqr;cfrrrDoqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)osquH]qrrDusrW)iq -r;cisrrDoqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!kJcGTHrW)TjrW)os -quH]qrrDusrW)iqr;cfrrrDoqrW)osrrDusr;cNjrW'>*rW'e7rW)TjrW)osquH]qrrDusrW)iq -r;cisrrDoqrW)lrrrDusr;cNjrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*lJcGTHrW)TjrW)lrquH`r -rrE#trW)corW)rtrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)lrquH`rrrE#trW)corW)uurW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*lJcGTHrW)TjrW)lrquH`r -rrE#trW)corW)rtrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)lrquH`rrrE#trW)corW)uurW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*lJcGTHrW)TjrW)lrquH`r -rrE#trW)corW)rtrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)lrquH`rrrE#trW)corW)uurW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*lJcGTHrW)TjrW)iqr;cis -rrE#trW)cor;cltrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)iqr;cisrrE#trW)cor;ZitrW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*lJcGTHrW)TjrW)iqr;cis -rrE#trW)cor;cltrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)iqr;cisrrE#trW)cor;ZitrW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*lJcGTHrW)TjrW)iqr;cis -rrE#trW)cor;cltrW)fprW)rtoDnUbrW'>*rW'e7rW)TjrW)iqr;cisrrE#trW)cor;ZitrW)fp -rW)osoDnUbrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)iqquHcs -rrE#trW)cor;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)iqquHcsrrE#trW)cor;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)iqquHcs -rrE#trW)cor;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)iqquHcsrrE#trW)cor;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)iqquHcs -rrE#trW)cor;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)iqquHcsrrE#trW)cor;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)fpqu?fu -!!*#ur;cZnr;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)fpqu?fu!!*#ur;cZnr;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)fpqu?fu -!!*#ur;cZnr;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)fpqu?fu!!*#ur;cZnr;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%bJcGTHrW)TjrW)fpqu?fu -!!*#ur;cZnr;cltrW)fprW)uur;c3arW'>*rW'e7rW)TjrW)fpqu?fu!!*#ur;cZnr;ZitrW)fp -rW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%bJcGTHrW)TjrW)coq>gNpr;cZnr;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)coq>gNpr;cZnq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%bJcGTHrW)TjrW)coq>gNpr;cZnr;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)coq>gNpr;cZnq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%bJcGTHrW)TjrW)coq>gNpr;cZnr;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)coq>gNpr;cZnq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%bJcGTHrW)TjrW)`nqZ-Tpr;c]or;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)`nqZ-Tpr;c]oq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%bJcGTHrW)TjrW)`nqZ-Tpr;c]or;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)`nqZ-Tpr;c]oq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%bJcGTHrW)TjrW)`nqZ-Tpr;c]or;Zit -r;c]orW)uur;c3arW'>*rW'e7rW)TjrW)`nqZ-Tpr;c]oq#L9krW)rtr;c3arW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:*rW'e7rW)TjrW)]mquH]qr;c]or;Zitr;c`prW)os -rW)`n!!)`mrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:*rW'e7rW)TjrW)]mquH]qr;c]or;Zitr;c`prW)os -rW)`n!!)`mrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:*rW'e7rW)TjrW)]mquH]qr;c]or;Zitr;c`prW)os -rW)`n!!)`mrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kJcGTHrW)TjrW)]mquHZp -rW)fprW)rtr;c`prW)rtr;c]o!!)]lrW'>*rW'e7rW)TjrW)]mquHZprW)fprW)uur;c`prW)os -r;c]o!!)]lrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kJcGTHrW)TjrW)]mquHZp -rW)fprW)rtr;c`prW)rtr;c]o!!)]lrW'>*rW'e7rW)TjrW)]mquHZprW)fprW)uur;c`prW)os -r;c]o!!)]lrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kJcGTHrW)TjrW)]mquHZp -rW)fprW)rtr;c`prW)rtr;c]o!!)]lrW'>*rW'e7rW)TjrW)]mquHZprW)fprW)uur;c`prW)os -r;c]o!!)]lrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kJcGTHrW)TjrW)Zlr;ccq -r;c`prrDusr;ccqrW)osquH`rrW)WkrW'>*rW'e7rW)TjrW)Zlr;ccqr;c`prrE#tr;ccqrW)lr -quH`rrW)WkrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kJcGTHrW)TjrW)Zlr;ccq -r;c`prrDusr;ccqrW)osquH`rrW)WkrW'>*rW'e7rW)TjrW)Zlr;ccqr;c`prrE#tr;ccqrW)lr -quH`rrW)WkrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kJcGTHrW)TjrW)Zlr;ccq -r;c`prrDusr;ccqrW)osquH`rrW)WkrW'>*rW'e7rW)TjrW)Zlr;ccqr;c`prrE#tr;ccqrW)lr -quH`rrW)WkrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mjJcGTHrW)TjrW)WkrW)iqr;cfrrW)iq -oDnpkpAjjcrW'>*rW'e7rW)TjrW)WkrW)iqr;cfrrW)lroDnmjpAjjcrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mjJcGTHrW)TjrW)WkrW)iqr;cfrrW)iq -oDnpkpAjjcrW'>*rW'e7rW)TjrW)WkrW)iqr;cfrrW)lroDnmjpAjjcrW&_nrW)ZlJ,~> -q>^Eo_>jK7o`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mjJcGTHrW)TjrW)WkrW)iqr;cfrrW)iq -oDnpkpAjjcrW'>*rW'e7rW)TjrW)WkrW)iqr;cfrrW)lroDnmjpAjjcrW&_nrW)ZlJ,~> -q>^Eo_>jK7p]($hpAb-mqZ$?kq>^g-erW'>*rW'e7rW)]mq#L-grrDoqq#L6jqZ$WrrW)fpq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7p]($hpAb-mqZ$?kq>^g-erW'>*rW'e7rW)]mq#L-grrDoqq#L6jqZ$WrrW)fpq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7p]($hpAb-mqZ$?kq>^g-erW'>*rW'e7rW)]mq#L-grrDoqq#L6jqZ$WrrW)fpq>g-erW&_nrW)ZlJ,~> -q>^Eo_>jK7j8T)Zq#C9mp&G$loDeahnc/RgJcGTHrW)!Y!!)for;cKirrD]kr;cBfrW'>*rW'e7 -rW)!Y!!)for;cNjrrDZjr;cBfrW&_nrW)ZlJ,~> -q>^Eo_>jK7j8T)Zq#C9mp&G$loDeahnc/RgJcGTHrW)!Y!!)for;cKirrD]kr;cBfrW'>*rW'e7 -rW)!Y!!)for;cNjrrDZjr;cBfrW&_nrW)ZlJ,~> -q>^Eo_>jK7j8T)Zq#C9mp&G$loDeahnc/RgJcGTHrW)!Y!!)for;cKirrD]kr;cBfrW'>*rW'e7 -rW)!Y!!)for;cNjrrDZjr;cBfrW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>jK7V>pMpJcGTHrW&eprW'>*rW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^Eo_>g,-JcGTHT)c7urW'e7T)bYdrW)ZlJ,~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@T)d.9rW)iqrW)TjrW'e7T)bYdrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@T)d.9rW)iqrW)TjrW'e7T)bYdrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@T)d.9rW)iqrW)TjrW'e7T)bYdrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@T)d.9rW)iqrW)TjrW'e7T)bYdrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@T)d.9rW)iqrW)TjrW'e7T)bYdrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@T)d.9rW)iqrW)TjrW'e7T)bYdrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@T)d.9rW)iqrW)TjrW'e7T)bYdrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@T)d.9rW)iqrW)TjrW'e7T)bYdrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@T)d.9rW)iqrW)TjrW'e7T)bYdrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW(+@rW&eprW(4CrW)iqrW)TjrW'e7rW&eprW&_nrW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@_Z0W9k5YD\c2[bCqu?Wqo`+mj_>jK7_uK`: -jo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@_Z0W9k5YD\c2[bCqu?Wqo`+mj_>jK7_uK`: -jo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@_Z0W9k5YD\c2[bCqu?Wqo`+mj_>jK7_uK`: -jo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@pAb!iq#C-ikPtDZkPtM]c2[bCqu?Wqo`+mj -_>jK7pAb!iq#C-ikl:M[k5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@pAb!iq#C-ikPtDZkPtM]c2[bCqu?Wqo`+mj -_>jK7pAb!iq#C-ikl:M[k5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@pAb!iq#C-ikPtDZkPtM]c2[bCqu?Wqo`+mj -_>jK7pAb!iq#C-ikl:M[k5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+ghp](3mjT#)WkPtM]c2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mjo>2Xk5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+ghp](3mjT#)WkPtM]c2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mjo>2Xk5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+ghp](3mjT#)WkPtM]c2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mjo>2Xk5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+ghp](3mirAuXk5YD\c2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+ghp](3mirAuXk5YD\c2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+ghp](3mirAuXk5YD\c2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+dgq#CjK7o`+dgq#C;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+dgq#CjK7o`+dgq#C;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+dgq#CjK7o`+dgq#C;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+afq>^EoirAuXk5YD\c2[bCqu?Wqo`+mj -_>jK7o`+afq>^Eoj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+afq>^EoirAuXk5YD\c2[bCqu?Wqo`+mj -_>jK7o`+afq>^Eoj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+afq>^EoirAuXk5YD\c2[bCqu?Wqo`+mj -_>jK7o`+afq>^Eoj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+^eq>^HpirAuXk5YD\c2[bCqu?Wqo`+mj -_>jK7o`+^eq>^Hpj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+^eq>^HpirAuXk5YD\c2[bCqu?Wqo`+mj -_>jK7o`+^eq>^Hpj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+^eq>^HpirAuXk5YD\c2[bCqu?Wqo`+mj -_>jK7o`+^eq>^Hpj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+mj!<;rsqZ$Qqp](6noDedis8W&uq>^Eo -nc/Rgc2[bCqu?Wqo`+mj_>jK7o`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+mj!<;rsqZ$Qqp](6noDedis8W&uq>^Eo -nc/Rgc2[bCqu?Wqo`+mj_>jK7o`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@o`+mj!<;rsqZ$Qqp](6noDedis8W&uq>^Eo -nc/Rgc2[bCqu?Wqo`+mj_>jK7o`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C -q>^Eoqu?Wqr;Z`rdf9:H_uK`:jo>;[`W,o;oDedib5_G@o`+mjs8W#tqZ$QqqZ$?kq#C'gqu?Km -oDedic2[bCqu?Wqo`+mj_>jK7o`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDediU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:H_uK`:jo>;[`W,o;oDedib5_G@o`+mjs8W#tqZ$QqqZ$?kq#C'gqu?Km -oDedic2[bCqu?Wqo`+mj_>jK7o`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDediU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:H_uK`:jo>;[`W,o;oDedib5_G@o`+mjs8W#tqZ$QqqZ$?kq#C'gqu?Km -oDedic2[bCqu?Wqo`+mj_>jK7o`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDediU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HpAb!iq#C-ikl:M[k5YD\`W,o;oDedib5_G@o`+mjs8Vusqu?Zrqu?Wq -rVuisqZ$NprVufrr;Zcsrr;oso`+mjc2[bCqu?Wqo`+mj_>jK7o`+mjs8Vusqu?Zrqu?WqrVuis -qu?WqrVufrqu?Zrrr;oso`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HpAb!iq#C-ikl:M[k5YD\`W,o;oDedib5_G@o`+mjs8Vusqu?Zrqu?Wq -rVuisqZ$NprVufrr;Zcsrr;oso`+mjc2[bCqu?Wqo`+mj_>jK7o`+mjs8Vusqu?Zrqu?WqrVuis -qu?WqrVufrqu?Zrrr;oso`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HpAb!iq#C-ikl:M[k5YD\`W,o;oDedib5_G@o`+mjs8Vusqu?Zrqu?Wq -rVuisqZ$NprVufrr;Zcsrr;oso`+mjc2[bCqu?Wqo`+mj_>jK7o`+mjs8Vusqu?Zrqu?WqrVuis -qu?WqrVufrqu?Zrrr;oso`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mjo>2Xk5YD\`W,o;oDedib5_G@o`+mjrr;lrr;Zcsr;Z`r -qu?Wqr;Z`rqu?WqrVultr;Z]qp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mjrr;lrr;Zcsr;Z`rqu?Wq -rVuisqu?Wqr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mjo>2Xk5YD\`W,o;oDedib5_G@o`+mjrr;lrr;Zcsr;Z`r -qu?Wqr;Z`rqu?WqrVultr;Z]qp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mjrr;lrr;Zcsr;Z`rqu?Wq -rVuisqu?Wqr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mjo>2Xk5YD\`W,o;oDedib5_G@o`+mjrr;lrr;Zcsr;Z`r -qu?Wqr;Z`rqu?WqrVultr;Z]qp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mjrr;lrr;Zcsr;Z`rqu?Wq -rVuisqu?Wqr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mj8])Yjo>;[`W,o;oDedib5_G@o`+mjrVucqrVultr;Z`r -qu?TprVultqZ$NprVultr;Z]qp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mjrVucqrVultr;Z`rqu?Tp -rr;uuqZ$Npr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mj8])Yjo>;[`W,o;oDedib5_G@o`+mjrVucqrVultr;Z`r -qu?TprVultqZ$NprVultr;Z]qp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mjrVucqrVultr;Z`rqu?Tp -rr;uuqZ$Npr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mj8])Yjo>;[`W,o;oDedib5_G@o`+mjrVucqrVultr;Z`r -qu?TprVultqZ$NprVultr;Z]qp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mjrVucqrVultr;Z`rqu?Tp -rr;uuqZ$Npr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+dgq#C;[`W,o;oDedib5_G@o`+mjr;ZZprr;uurVuis -q>^Eorr;rtqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+mjr;ZZprr;uurVuisq>^Eos8W&u -qZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+dgq#C;[`W,o;oDedib5_G@o`+mjr;ZZprr;uurVuis -q>^Eorr;rtqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+mjr;ZZprr;uurVuisq>^Eos8W&u -qZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+dgq#C;[`W,o;oDedib5_G@o`+mjr;ZZprr;uurVuis -q>^Eorr;rtqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+mjr;ZZprr;uurVuisq>^Eos8W&u -qZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+afq>^Eoj8])Yjo>;[`W,o;oDedib5_G@o`+mjqu?Tprr;uurVuis -q>^Bns8W&uqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+mjqu?Tprr;uurVuisq>^Bn!<<#u -qZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+afq>^Eoj8])Yjo>;[`W,o;oDedib5_G@o`+mjqu?Tprr;uurVuis -q>^Bns8W&uqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+mjqu?Tprr;uurVuisq>^Bn!<<#u -qZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+afq>^Eoj8])Yjo>;[`W,o;oDedib5_G@o`+mjqu?Tprr;uurVuis -q>^Bns8W&uqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+mjqu?Tprr;uurVuisq>^Bn!<<#u -qZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+^eq>^Hpj8])Yjo>;[`W,o;oDedib5_G@o`+mjqu?Qos8W*!rVuis -q>^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjqu?Qos8W*!rVuisq>^Bn!<<#u -qZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+^eq>^Hpj8])Yjo>;[`W,o;oDedib5_G@o`+mjqu?Qos8W*!rVuis -q>^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjqu?Qos8W*!rVuisq>^Bn!<<#u -qZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+^eq>^Hpj8])Yjo>;[`W,o;oDedib5_G@o`+mjqu?Qos8W*!rVuis -q>^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjqu?Qos8W*!rVuisq>^Bn!<<#u -qZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjqZ$Hn -!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjqZ$Hn -!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjqZ$Hn -!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDedi`W,o;oDedib5_G@o`+mj -q>^9krr;osq>^Bn!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjq>^9krr;osq>^6j -qZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDedi`W,o;oDedib5_G@o`+mj -q>^9krr;osq>^Bn!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjq>^9krr;osq>^6j -qZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDedi`W,o;oDedib5_G@o`+mj -q>^9krr;osq>^Bn!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjq>^9krr;osq>^6j -qZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mj`W,o; -oDedib5_G@o`+mjq#C3krVufrqZ$Ko!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mj -q#C3krVufrqZ$?kqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mj`W,o; -oDedib5_G@o`+mjq#C3krVufrqZ$Ko!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mj -q#C3krVufrqZ$?kqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mj`W,o; -oDedib5_G@o`+mjq#C3krVufrqZ$Ko!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mj -q#C3krVufrqZ$?kqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjp](-krVufrqZ$Kos8W#tqu?Wqrr;rtq#:jK7 -o`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#: -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjp](-krVufrqZ$Kos8W#tqu?Wqrr;rtq#:jK7 -o`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#: -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjp](-krVufrqZ$Kos8W#tqu?Wqrr;rtq#:jK7 -o`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#: -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjp](-kr;Z`rqZ$Nprr;osqu?Wqrr;osqYpNqp&G!kc2[bCqu?Wqo`+mj_>jK7 -o`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjp](-kr;Z`rqZ$Nprr;osqu?Wqrr;osqYpNqp&G!kc2[bCqu?Wqo`+mj_>jK7 -o`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjp](-kr;Z`rqZ$Nprr;osqu?Wqrr;osqYpNqp&G!kc2[bCqu?Wqo`+mj_>jK7 -o`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjpAb'kr;Z]qqu?Zrr;Z]qr;Z`rrVucqrr;rtp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mj -pAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjpAb'kr;Z]qqu?Zrr;Z]qr;Z`rrVucqrr;rtp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mj -pAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjpAb'kr;Z]qqu?Zrr;Z]qr;Z`rrVucqrr;rtp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mj -pAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjp&G!kqu?TprVuisqu?9gs8Vfno`+mjc2[bCqu?Wqo`+mj_>jK7o`+mjp&G!kqu?Tp -rVuisr;ZBhrr;]mo`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjp&G!kqu?TprVuisqu?9gs8Vfno`+mjc2[bCqu?Wqo`+mj_>jK7o`+mjp&G!kqu?Tp -rVuisr;ZBhrr;]mo`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjp&G!kqu?TprVuisqu?9gs8Vfno`+mjc2[bCqu?Wqo`+mj_>jK7o`+mjp&G!kqu?Tp -rVuisr;ZBhrr;]mo`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@p]($hpAb-mqZ$?kq#C3k!<<#uqu?KmoDedic2[bCqu?Wqo`+mj_>jK7p]($hpAb-mqZ$?k -q>^ -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@p]($hpAb-mqZ$?kq#C3k!<<#uqu?KmoDedic2[bCqu?Wqo`+mj_>jK7p]($hpAb-mqZ$?k -q>^ -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@p]($hpAb-mqZ$?kq#C3k!<<#uqu?KmoDedic2[bCqu?Wqo`+mj_>jK7p]($hpAb-mqZ$?k -q>^ -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@j8T)Zq#C9mo`+pko`+jinc/Rgc2[bCqu?Wqo`+mj_>jK7j8T)Zq#C9mp&G$loDeahnc/Rg -U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@j8T)Zq#C9mo`+pko`+jinc/Rgc2[bCqu?Wqo`+mj_>jK7j8T)Zq#C9mp&G$loDeahnc/Rg -U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@j8T)Zq#C9mo`+pko`+jinc/Rgc2[bCqu?Wqo`+mj_>jK7j8T)Zq#C9mp&G$loDeahnc/Rg -U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%b`W,o;oDedib5_G@V>pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%b`W,o;oDedib5_G@V>pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%b`W,o;oDedib5_G@V>pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%b`W,o;oDedib5_G@V>pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%b`W,o;oDedib5_G@V>pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%b`W,o;oDedib5_G@V>pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!k`W,o;oDedi -b5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!k`W,o;oDedi -b5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!k`W,o;oDedi -b5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!k`W,o;oDedi -b5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!k`W,o;oDedi -b5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!k`W,o;oDedi -b5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mj`W,o;oDedib5_G@V>pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mj`W,o;oDedib5_G@V>pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mj`W,o;oDedib5_G@V>pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hp]($hpAb-mqZ$?kq>^pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hp]($hpAb-mqZ$?kq>^pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hp]($hpAb-mqZ$?kq>^pMp -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hj8T)Zq#C9mp&G$loDeahnc/Rg`W,o;oDedib5_G@V>pMpc2[bCqu?Wq -o`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hj8T)Zq#C9mp&G$loDeahnc/Rg`W,o;oDedib5_G@V>pMpc2[bCqu?Wq -o`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hj8T)Zq#C9mp&G$loDeahnc/Rg`W,o;oDedib5_G@V>pMpc2[bCqu?Wq -o`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDediJcE+WrW)iqrW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:H_uK`:jo>;[`W,o;oDedib5_G@_Z0W9k5YD\c2[bCqu?Wqo`+mj_>jK7 -V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:H_uK`:jo>;[`W,o;oDedib5_G@_Z0W9k5YD\c2[bCqu?Wqo`+mj_>jK7 -V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:H_uK`:jo>;[`W,o;oDedib5_G@_Z0W9k5YD\c2[bCqu?Wqo`+mj_>jK7 -V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HpAb!iq#C-ikl:M[k5YD\`W,o;oDedib5_G@pAb!iq#C-ikPtDZkPtM] -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HpAb!iq#C-ikl:M[k5YD\`W,o;oDedib5_G@pAb!iq#C-ikPtDZkPtM] -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HpAb!iq#C-ikl:M[k5YD\`W,o;oDedib5_G@pAb!iq#C-ikPtDZkPtM] -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mjo>2Xk5YD\`W,o;oDedib5_G@o`+ghp](3mjT#)WkPtM] -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mjo>2Xk5YD\`W,o;oDedib5_G@o`+ghp](3mjT#)WkPtM] -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mjo>2Xk5YD\`W,o;oDedib5_G@o`+ghp](3mjT#)WkPtM] -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mj8])Yjo>;[`W,o;oDedib5_G@o`+ghp](3mirAuXk5YD\ -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mj8])Yjo>;[`W,o;oDedib5_G@o`+ghp](3mirAuXk5YD\ -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+ghp](3mj8])Yjo>;[`W,o;oDedib5_G@o`+ghp](3mirAuXk5YD\ -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+dgq#C;[`W,o;oDedib5_G@o`+dgq#CjK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+dgq#C;[`W,o;oDedib5_G@o`+dgq#CjK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+dgq#C;[`W,o;oDedib5_G@o`+dgq#CjK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+afq>^Eoj8])Yjo>;[`W,o;oDedib5_G@o`+afq>^EoirAuXk5YD\ -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+afq>^Eoj8])Yjo>;[`W,o;oDedib5_G@o`+afq>^EoirAuXk5YD\ -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+afq>^Eoj8])Yjo>;[`W,o;oDedib5_G@o`+afq>^EoirAuXk5YD\ -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+^eq>^Hpj8])Yjo>;[`W,o;oDedib5_G@o`+^eq>^HpirAuXk5YD\ -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+^eq>^Hpj8])Yjo>;[`W,o;oDedib5_G@o`+^eq>^HpirAuXk5YD\ -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+^eq>^Hpj8])Yjo>;[`W,o;oDedib5_G@o`+^eq>^HpirAuXk5YD\ -c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C^Eonc/Rgc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C^Eonc/Rgc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mj!<;rsqZ$Qqp](6no`+mjs8W&uq#C^Eonc/Rgc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDedi`W,o;oDedib5_G@o`+mj -s8W#tqZ$QqqZ$?kq#C'gqu?KmoDedic2[bCqu?Wqo`+mj_>jK7_uK`:jo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDedi`W,o;oDedib5_G@o`+mj -s8W#tqZ$QqqZ$?kq#C'gqu?KmoDedic2[bCqu?Wqo`+mj_>jK7_uK`:jo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8W#tqZ$QqqZ$?kq>^0hqZ$BloDedi`W,o;oDedib5_G@o`+mj -s8W#tqZ$QqqZ$?kq#C'gqu?KmoDedic2[bCqu?Wqo`+mj_>jK7_uK`:jo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mj`W,o; -oDedib5_G@o`+mjs8Vusqu?Zrqu?WqrVuisqZ$NprVufrr;Zcsrr;oso`+mjc2[bCqu?Wqo`+mj -_>jK7pAb!iq#C-ikl:M[k5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mj`W,o; -oDedib5_G@o`+mjs8Vusqu?Zrqu?WqrVuisqZ$NprVufrr;Zcsrr;oso`+mjc2[bCqu?Wqo`+mj -_>jK7pAb!iq#C-ikl:M[k5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjs8Vusqu?Zrqu?WqrVuisqu?WqrVufrqu?Zrrr;oso`+mj`W,o; -oDedib5_G@o`+mjs8Vusqu?Zrqu?WqrVuisqZ$NprVufrr;Zcsrr;oso`+mjc2[bCqu?Wqo`+mj -_>jK7pAb!iq#C-ikl:M[k5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjrr;lrr;Zcsr;Z`rqu?Wqr;Z`rqu?WqrVultr;Z]qp&G!kc2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mjo>2Xk5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjrr;lrr;Zcsr;Z`rqu?Wqr;Z`rqu?WqrVultr;Z]qp&G!kc2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mjo>2Xk5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjrr;lrr;Zcsr;Z`rqu?Wqr;Z`rqu?WqrVultr;Z]qp&G!kc2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mjo>2Xk5YD\U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjrVucqrVultr;Z`rqu?TprVultqZ$NprVultr;Z]qp&G!kc2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjrVucqrVultr;Z`rqu?TprVultqZ$NprVultr;Z]qp&G!kc2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjrVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!k`W,o; -oDedib5_G@o`+mjrVucqrVultr;Z`rqu?TprVultqZ$NprVultr;Z]qp&G!kc2[bCqu?Wqo`+mj -_>jK7o`+ghp](3mj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjr;ZZprr;uurVuisq>^Eorr;rtqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+dg -q#C;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjr;ZZprr;uurVuisq>^Eorr;rtqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+dg -q#C;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjr;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjr;ZZprr;uurVuisq>^Eorr;rtqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+dg -q#C;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjqu?Tprr;uurVuisq>^Bns8W&uqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+af -q>^Eoj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjqu?Tprr;uurVuisq>^Bns8W&uqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+af -q>^Eoj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Tprr;uurVuisq>^Bn!<<#uqZ$NprVuKipAb*l`W,o;oDedi -b5_G@o`+mjqu?Tprr;uurVuisq>^Bns8W&uqZ$Nprr;TjpAb*lc2[bCqu?Wqo`+mj_>jK7o`+af -q>^Eoj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@o`+mjqu?Qos8W*!rVuisq>^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+^e -q>^Hpj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@o`+mjqu?Qos8W*!rVuisq>^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+^e -q>^Hpj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqu?Qos8W*!rVuisq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@o`+mjqu?Qos8W*!rVuisq>^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+^e -q>^Hpj8])Yjo>;[U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@o`+mjqZ$Hn!ri6#rr;osq>^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mj -!<;rsqZ$Qqp](6no`+mjs8W&uq#C -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@o`+mjqZ$Hn!ri6#rr;osq>^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mj -!<;rsqZ$Qqp](6no`+mjs8W&uq#C -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%b`W,o;oDedi -b5_G@o`+mjqZ$Hn!ri6#rr;osq>^Bns8W&uqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mj -!<;rsqZ$Qqp](6no`+mjs8W&uq#C -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%b`W,o;oDedib5_G@o`+mj -q>^9krr;osq>^Bn!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjs8W#tqZ$QqqZ$?k -q>^0hqZ$BloDediU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%b`W,o;oDedib5_G@o`+mj -q>^9krr;osq>^Bn!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjs8W#tqZ$QqqZ$?k -q>^0hqZ$BloDediU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq>^9krr;osq>^6jqZ$Nprr;osm/R%b`W,o;oDedib5_G@o`+mj -q>^9krr;osq>^Bn!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjs8W#tqZ$QqqZ$?k -q>^0hqZ$BloDediU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%b`W,o;oDedib5_G@o`+mj -q#C3krVufrqZ$Ko!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjs8Vusqu?Zrqu?Wq -rVuisqu?WqrVufrqu?Zrrr;oso`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%b`W,o;oDedib5_G@o`+mj -q#C3krVufrqZ$Ko!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjs8Vusqu?Zrqu?Wq -rVuisqu?WqrVufrqu?Zrrr;oso`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjq#C3krVufrqZ$?kqZ$Nprr;osm/R%b`W,o;oDedib5_G@o`+mj -q#C3krVufrqZ$Ko!<;utqZ$Nps8W#tm/R%bc2[bCqu?Wqo`+mj_>jK7o`+mjs8Vusqu?Zrqu?Wq -rVuisqu?WqrVufrqu?Zrrr;oso`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:jK7o`+mj -rr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:jK7o`+mj -rr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-krVufrqZ$Ko!<;utqu?WqrVuisq#:jK7o`+mj -rr;lrr;Zcsr;Z`rqu?WqrVuisqu?Wqr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!k`W,o;oDedi -b5_G@o`+mjp](-kr;Z`rqZ$Nprr;osqu?Wqrr;osqYpNqp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mj -rVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!k`W,o;oDedi -b5_G@o`+mjp](-kr;Z`rqZ$Nprr;osqu?Wqrr;osqYpNqp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mj -rVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp](-kr;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!k`W,o;oDedi -b5_G@o`+mjp](-kr;Z`rqZ$Nprr;osqu?Wqrr;osqYpNqp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mj -rVucqrVultr;Z`rqu?Tprr;uuqZ$Npr;Zcsr;Z]qp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!k`W,o;oDedi -b5_G@o`+mjpAb'kr;Z]qqu?Zrr;Z]qr;Z`rrVucqrr;rtp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mj -r;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!k`W,o;oDedi -b5_G@o`+mjpAb'kr;Z]qqu?Zrr;Z]qr;Z`rrVucqrr;rtp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mj -r;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjpAb'kr;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!k`W,o;oDedi -b5_G@o`+mjpAb'kr;Z]qqu?Zrr;Z]qr;Z`rrVucqrr;rtp&G!kc2[bCqu?Wqo`+mj_>jK7o`+mj -r;ZZprr;uurVuisq>^Eos8W&uqZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mj`W,o;oDedib5_G@o`+mj -p&G!kqu?TprVuisqu?9gs8Vfno`+mjc2[bCqu?Wqo`+mj_>jK7o`+mjqu?Tprr;uurVuisq>^Bn -!<<#uqZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mj`W,o;oDedib5_G@o`+mj -p&G!kqu?TprVuisqu?9gs8Vfno`+mjc2[bCqu?Wqo`+mj_>jK7o`+mjqu?Tprr;uurVuisq>^Bn -!<<#uqZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Ho`+mjp&G!kqu?TprVuisr;ZBhrr;]mo`+mj`W,o;oDedib5_G@o`+mj -p&G!kqu?TprVuisqu?9gs8Vfno`+mjc2[bCqu?Wqo`+mj_>jK7o`+mjqu?Tprr;uurVuisq>^Bn -!<<#uqZ$NprVuKipAb*lU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hp]($hpAb-mqZ$?kq>^jK7o`+mjqu?Qos8W*!rVuisq>^Bn -!<<#uqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hp]($hpAb-mqZ$?kq>^jK7o`+mjqu?Qos8W*!rVuisq>^Bn -!<<#uqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hp]($hpAb-mqZ$?kq>^jK7o`+mjqu?Qos8W*!rVuisq>^Bn -!<<#uqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hj8T)Zq#C9mp&G$loDeahnc/Rg`W,o;oDedib5_G@j8T)Zq#C9mo`+pk -o`+jinc/Rgc2[bCqu?Wqo`+mj_>jK7o`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%b -U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hj8T)Zq#C9mp&G$loDeahnc/Rg`W,o;oDedib5_G@j8T)Zq#C9mo`+pk -o`+jinc/Rgc2[bCqu?Wqo`+mj_>jK7o`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%b -U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:Hj8T)Zq#C9mp&G$loDeahnc/Rg`W,o;oDedib5_G@j8T)Zq#C9mo`+pk -o`+jinc/Rgc2[bCqu?Wqo`+mj_>jK7o`+mjqZ$Hn!ri6#rr;osq>^Bn!<<#uqZ$Nprr;osm/R%b -U]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjq>^9k -rr;osq>^6jqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjq>^9k -rr;osq>^6jqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjq>^9k -rr;osq>^6jqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjq#C3k -rVufrqZ$?kqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjq#C3k -rVufrqZ$?kqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjq#C3k -rVufrqZ$?kqZ$Nprr;osm/R%bU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjp](-k -rVufrqZ$Ko!<;utqu?WqrVuisq#: -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjp](-k -rVufrqZ$Ko!<;utqu?WqrVuisq#: -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjp](-k -rVufrqZ$Ko!<;utqu?WqrVuisq#: -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjp](-k -r;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjp](-k -r;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjp](-k -r;Z`rqZ$Nps8W#tqu?WqrVufrqYpNqp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjpAb'k -r;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjpAb'k -r;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjpAb'k -r;Z]qqu?ZrrVufrr;Z`rr;ZZprr;rtp&G!kU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjp&G!k -qu?TprVuisr;ZBhrr;]mo`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjp&G!k -qu?TprVuisr;ZBhrr;]mo`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7o`+mjp&G!k -qu?TprVuisr;ZBhrr;]mo`+mjU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7p]($hpAb-m -qZ$?kq>^ -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7p]($hpAb-m -qZ$?kq>^ -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7p]($hpAb-m -qZ$?kq>^ -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7j8T)Zq#C9m -p&G$loDeahnc/RgU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7j8T)Zq#C9m -p&G$loDeahnc/RgU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7j8T)Zq#C9m -p&G$loDeahnc/RgU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf9:HV>pMp`W,o;oDedib5_G@V>pMpc2[bCqu?Wqo`+mj_>jK7V>pMpU]:;n -pA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rdf5p>`W,o;oDedib5\(6c2[bCqu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>jK7V>pMpU]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`r\GuL-rVlitLB%5QoDediYlFY%rVlitNrT(Yqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`r\GuL-rVlitLB%5QoDediYlFY%rVlitNrT(Yqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`r\GuL-rVlitLB%5QoDediYlFY%rVlitNrT(Yqu?Wqo`+mj_>g,-U]:;npA]X~> -q>^Eoqu?Wqr;Z`r])VI(LB%5QoDediZN'UuNrT(Yqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r])VI(LB%5QoDediZN'UuNrT(Yqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r])VI(LB%5QoDediZN'UuNrT(Yqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dqg0rVufrLB%5QoDediZiBt(rVufrNrT(Yqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dqg0rVufrLB%5QoDediZiBt(rVufrNrT(Yqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dqg0rVufrLB%5QoDediZiBt(rVufrNrT(Yqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dqj1qu?TpL]@>RoDediZiC")qu?TpO8o1Zqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dqj1qu?TpL]@>RoDediZiC")qu?TpO8o1Zqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dqj1qu?TpL]@>RoDediZiC")qu?TpO8o1Zqu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7p1qZ$Npqu6WrNrT(YoDedi[/^()qZ$NpqYpNqQiI$bqu?Wqo`+mjJcC<$ -rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7p1qZ$Npqu6WrNrT(YoDedi[/^()qZ$NpqYpNqQiI$bqu?Wqo`+mjJcC<$ -rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7p1qZ$Npqu6WrNrT(YoDedi[/^()qZ$NpqYpNqQiI$bqu?Wqo`+mjJcC<$ -rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7p1q>^Hpr;Z`rO8o1ZoDedi[/^()q>^Hpqu?WqR/d-cqu?Wqo`+mjJcC<$ -rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7p1q>^Hpr;Z`rO8o1ZoDedi[/^()q>^Hpqu?WqR/d-cqu?Wqo`+mjJcC<$ -rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7p1q>^Hpr;Z`rO8o1ZoDedi[/^()q>^Hpqu?WqR/d-cqu?Wqo`+mjJcC<$ -rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7p1q>^Hpr;Z`rO8o1ZoDedi[/^()q>^Hpqu?WqR/d-cqu?Wqo`+mjJcC<$ -rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7p1q>^Hpr;Z`rO8o1ZoDedi[/^()q>^Hpqu?WqR/d-cqu?Wqo`+mjJcC<$ -rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7p1q>^Hpr;Z`rO8o1ZoDedi[/^()q>^Hpqu?WqR/d-cqu?Wqo`+mjJcC<$ -rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7m0q>UEprVufrp](3moDegjXT/8"oDedi[/^%(q>UEpr;Z]qq#C -q>^Eoqu?Wqr;Z`r]`7m0q>UEprVufrp](3moDegjXT/8"oDedi[/^%(q>UEpr;Z]qq#C -q>^Eoqu?Wqr;Z`r]`7m0q>UEprVufrp](3moDegjXT/8"oDedi[/^%(q>UEpr;Z]qq#C -q>^Eoqu?Wqr;Z`r]Dqd/p](!gr;ZTnr;Z`rs8VrrY5eJ$oDediZiBq'pAamfrVu]oqu?Wqs8Vrr -\,ZF-qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dqd/p](!gr;ZTnr;Z`rs8VrrY5eJ$oDediZiBq'pAamfrVu]oqu?Wqs8Vrr -\,ZF-qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dqd/p](!gr;ZTnr;Z`rs8VrrY5eJ$oDediZiBq'pAamfrVu]oqu?Wqs8Vrr -\,ZF-qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dq^-q#C0jr;Zcsrr;oss8VZjYQ+S%oDediZiBk%p]('irVultrr;osrr;Qi -\GuO.qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dq^-q#C0jr;Zcsrr;oss8VZjYQ+S%oDediZiBk%p]('irVultrr;osrr;Qi -\GuO.qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]Dq^-q#C0jr;Zcsrr;oss8VZjYQ+S%oDediZiBk%p]('irVultrr;osrr;Qi -\GuO.qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r])VU,q#C9mqu?Zrr;Z]qrr;osr;Z]qYlF\&oDediZN'b$p](0lr;Zcsr;Z]q -rVufrr;Z]q\c;X/qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r])VU,q#C9mqu?Zrr;Z]qrr;osr;Z]qYlF\&oDediZN'b$p](0lr;Zcsr;Z]q -rVufrr;Z]q\c;X/qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r])VU,q#C9mqu?Zrr;Z]qrr;osr;Z]qYlF\&oDediZN'b$p](0lr;Zcsr;Z]q -rVufrr;Z]q\c;X/qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r\GuC*qZ$Koqu?Zrr;Z]qrr;osqu?WqYlF\&oDediYlFP"q>^Bnr;Zcsr;Z]q -rVufrqu?Wq\c;X/qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r\GuC*qZ$Koqu?Zrr;Z]qrr;osqu?WqYlF\&oDediYlFP"q>^Bnr;Zcsr;Z]q -rVufrqu?Wq\c;X/qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r\GuC*qZ$Koqu?Zrr;Z]qrr;osqu?WqYlF\&oDediYlFP"q>^Bnr;Zcsr;Z]q -rVufrqu?Wq\c;X/qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r\,Z:)qu?Tpr;ZBhs8W#tqu?TpZ2ae'oDediYQ+G!qZ$KorVuKirr;osqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r\,Z:)qu?Tpr;ZBhs8W#tqu?TpZ2ae'oDediYQ+G!qZ$KorVuKirr;osqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r\,Z:)qu?Tpr;ZBhs8W#tqu?TpZ2ae'oDediYQ+G!qZ$KorVuKirr;osqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r[K$+(r;Z]qr;ZBhs8W#tqu?TpZ2ae'oDediXoJ7uqu?TprVuKirr;osqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r[K$+(r;Z]qr;ZBhs8W#tqu?TpZ2ae'oDediXoJ7uqu?TprVuKirr;osqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r[K$+(r;Z]qr;ZBhs8W#tqu?TpZ2ae'oDediXoJ7uqu?TprVuKirr;osqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r[/^"'rVufrrVufrp&Fsjqu?TpZ2ae'oDediXT/.tr;Z]qrr;oso`+jiqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r[/^"'rVufrrVufrp&Fsjqu?TpZ2ae'oDediXT/.tr;Z]qrr;oso`+jiqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r[/^"'rVufrrVufrp&Fsjqu?TpZ2ae'oDediXT/.tr;Z]qrr;oso`+jiqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rZiBq'rVufrrVufrp&Fsjqu?TpZ2ae'oDediX8i(tr;Z]qrr;oso`+jiqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rZiBq'rVufrrVufrp&Fsjqu?TpZ2ae'oDediX8i(tr;Z]qrr;oso`+jiqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rZiBq'rVufrrVufrp&Fsjqu?TpZ2ae'oDediX8i(tr;Z]qrr;oso`+jiqu?Tp -])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r^&J'4p](-krr;osrVufrp&Fsjqu?TpZ2ae'oDedi[Jp4,p](-krVufrrr;os -o`+jiqu?Tp])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r^&J'4p](-krr;osrVufrp&Fsjqu?TpZ2ae'oDedi[Jp4,p](-krVufrrr;os -o`+jiqu?Tp])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r^&J'4p](-krr;osrVufrp&Fsjqu?TpZ2ae'oDedi[Jp4,p](-krVufrrr;os -o`+jiqu?Tp])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r^&S*4q#C6lrr;osrVufrp&Fsjqu?TpZ2ae'oDedi[K$7,q#C6lrVufrrr;os -o`+jiqu?Tp])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r^&S*4q#C6lrr;osrVufrp&Fsjqu?TpZ2ae'oDedi[K$7,q#C6lrVufrrr;os -o`+jiqu?Tp])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r^&S*4q#C6lrr;osrVufrp&Fsjqu?TpZ2ae'oDedi[K$7,q#C6lrVufrrr;os -o`+jiqu?Tp])Va0qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r^&S*4p](0lrr;osr;Z`rq#:Bqs8W#tqu?WqYlF\&oDedi[K$7,p](0lrVufr -rVuisq#: -q>^Eoqu?Wqr;Z`r^&S*4p](0lrr;osr;Z`rq#:Bqs8W#tqu?WqYlF\&oDedi[K$7,p](0lrVufr -rVuisq#: -q>^Eoqu?Wqr;Z`r^&S*4p](0lrr;osr;Z`rq#:Bqs8W#tqu?WqYlF\&oDedi[K$7,p](0lrVufr -rVuisq#: -q>^Eoqu?Wqr;Z`r^&S'3q#C -q>^Eoqu?Wqr;Z`r^&S'3q#C -q>^Eoqu?Wqr;Z`r^&S'3q#C -q>^Eoqu?Wqr;Z`r]`7s2qZ$KorVufrs8N'!rr;lrrr;rtrr;osr;Z`rYQ+S%oDedi[/^+*qZ$Ko -r;Z]qs8N-#s8Vusrr;rtrVufrr;Z`r\GuO.qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7s2qZ$KorVufrs8N'!rr;lrrr;rtrr;osr;Z`rYQ+S%oDedi[/^+*qZ$Ko -r;Z]qs8N-#s8Vusrr;rtrVufrr;Z`r\GuO.qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7s2qZ$KorVufrs8N'!rr;lrrr;rtrr;osr;Z`rYQ+S%oDedi[/^+*qZ$Ko -r;Z]qs8N-#s8Vusrr;rtrVufrr;Z`r\GuO.qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7m0rVufrqu?Nnrr;]mrVucqrr;rtY5eJ$oDedi[/^%(rVufrqZ$Ems8Vfn -r;ZZprr;rt\,ZF-qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7m0rVufrqu?Nnrr;]mrVucqrr;rtY5eJ$oDedi[/^%(rVufrqZ$Ems8Vfn -r;ZZprr;rt\,ZF-qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7m0rVufrqu?Nnrr;]mrVucqrr;rtY5eJ$oDedi[/^%(rVufrqZ$Ems8Vfn -r;ZZprr;rt\,ZF-qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7X)qZ$Hnqu?Kmr;ZKkXoJA#oDedi[/]e!q>^?mr;ZTnqu?Bj[f?=,qu?Wq -o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7X)qZ$Hnqu?Kmr;ZKkXoJA#oDedi[/]e!q>^?mr;ZTnqu?Bj[f?=,qu?Wq -o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`7X)qZ$Hnqu?Kmr;ZKkXoJA#oDedi[/]e!q>^?mr;ZTnqu?Bj[f?=,qu?Wq -o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`.s3rVufrp&>!lq#C9mqZ$Kos8W*!X8i/!oDedi[/U++rVufro`"mkq>^Bn -q>^Bns8W*![/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`.s3rVufrp&>!lq#C9mqZ$Kos8W*!X8i/!oDedi[/U++rVufro`"mkq>^Bn -q>^Bns8W*![/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`r]`.s3rVufrp&>!lq#C9mqZ$Kos8W*!X8i/!oDedi[/U++rVufro`"mkq>^Bn -q>^Bns8W*![/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rP5kI\VuQ_roDediM?!MSYlF\&qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rPlLOZWW2qtoDediMuWSQZN'n(qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rPlLOZWW2qtoDediMuWSQZN'n(qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rPlLOZWW2qtoDediMuWSQZN'n(qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rPlLOZWW2qtoDediMuWSQZN'n(qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rPlLOZWW2qtoDediMuWSQZN'n(qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rPlLOZWW2qtoDediMuWSQZN'n(qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;Z`rJcE+WrW)QirW%NL[/^+*qu?Wqo`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?Wqr;V -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqN;ikXJcC<$\GuO.o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqN;ikXJcC<$\GuO.o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqN;ikXJcC<$\GuO.o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqX8hqpn,N7bJcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqX8hqpn,N7bJcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqX8hqpn,N7bJcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqWW2krmJm%`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqWW2krmJm%`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqWW2krmJm%`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqWW2krli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqWW2krli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqWW2krli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerli6n`JcC<$\c;X/o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerp](6np](0lrr;uuJcC<$^An04o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerp](6np](0lrr;uuJcC<$^An04o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerp](6np](0lrr;uuJcC<$^An04o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerqZ$?kqZ$Ko!<;orJcC<$_#OB6o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerqZ$?kqZ$Ko!<;orJcC<$_#OB6o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerqZ$?kqZ$Ko!<;orJcC<$_#OB6o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerqu?WqrVuisqu?jK7o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerqu?WqrVuisqu?jK7o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerqu?WqrVuisqu?jK7o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerr;Z`rqu?Wqr;ZZprr;lrJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerr;Z`rqu?Wqr;ZZprr;lrJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerr;Z`rqu?Wqr;ZZprr;lrJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerr;Z`rqu?TprVuisqu?TpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerr;Z`rqu?TprVuisqu?TpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerr;Z`rqu?TprVuisqu?TpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVuisq>^EorVuisqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVuisq>^EorVuisqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVuisq>^EorVuisqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVuisq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVuisq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVuisq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVuisq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVuisq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVuisq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrr;osq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrr;osq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrr;osq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrr;osq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrr;osq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrr;osq>^Bnrr;rtqZ$KoJcC<$_uK]9o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVufrqZ$Korr;rtqZ$NpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVufrqZ$Korr;rtqZ$NpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVufrqZ$Korr;rtqZ$NpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVufrqZ$Korr;rtqZ$NpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVufrqZ$Korr;rtqZ$NpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqW;lerrVufrqZ$Korr;rtqZ$NpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqXoJD$rr;rtqu?WqqZ$NprVuisqZ$NpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqXoJD$rr;rtqu?WqqZ$NprVuisqZ$NpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqXoJD$rr;rtqu?WqqZ$NprVuisqZ$NpJcC<$_Z0T8o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqY5eG#s8W&uqu?Tpqu?Zrr;Z`rqu?WqJcC<$_>jK7o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqY5eG#s8W&uqu?Tpqu?Zrr;Z`rqu?WqJcC<$_>jK7o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqY5eG#s8W&uqu?Tpqu?Zrr;Z`rqu?WqJcC<$_>jK7o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqY5eG#!<<#uq>^BnrVuisr;Z]qrVuisJcC<$_#OB6o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqY5eG#!<<#uq>^BnrVuisr;Z]qrVuisJcC<$_#OB6o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqY5eG#!<<#uq>^BnrVuisr;Z]qrVuisJcC<$_#OB6o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqXoJ7up]($hq>^3iJcC<$^]495o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqXoJ7up]($hq>^3iJcC<$^]495o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqXoJ7up]($hq>^3iJcC<$^]495o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqXT/8"oDeaho`+mjJcC<$]`7s2o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqXT/8"oDeaho`+mjJcC<$]`7s2o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqXT/8"oDeaho`+mjJcC<$]`7s2o`+mjJcC<$rW)ZlJ,~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu?WqJcC<$JcEUerW)TjrW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^Eoqu;3IJH16$]E%U(rW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcDbMrrDQgrr@WMQ2gg`QN-sbnc/Uhc2[_B\GuO.pA]X~> -q>^EoJcDbMrrDQgrr@WMQ2gg`QN-sbnc/Uhc2[_B\GuO.pA]X~> -q>^EoJcDbMrrDQgrr@WMQ2gg`QN-sbnc/Uhc2[_B\GuO.pA]X~> -q>^EoJcF^/oDmMCrW)KgrW(4Crr@WMbl@YBcN!M:f)P^Lo)J[hd/WnA])Va0pA]X~> -q>^EoJcF^/oDmMCrW)KgrW(4Crr@WMbl@YBcN!M:f)P^Lo)J[hd/WnA])Va0pA]X~> -q>^EoJcF^/oDmMCrW)KgrW(4Crr@WMbl@YBcN!M:f)P^Lo)J[hd/WnA])Va0pA]X~> -q>^EoJcFX-oDmVFr;cEgr;b1Dr;_EKbl@YBbl@;8g&M!NoDeahdJrq@]Dqj1pA]X~> -q>^EoJcFX-oDmVFr;cEgr;b1Dr;_EKbl@YBbl@;8g&M!NoDeahdJrq@]Dqj1pA]X~> -q>^EoJcFX-oDmVFr;cEgr;b1Dr;_EKbl@YBbl@;8g&M!NoDeahdJrq@]Dqj1pA]X~> -q>^EoJcFX-r;c`pr;bROrrDQgrrCFGqZ)3Ibl@YBbl@VAqu?Tpg&M'Pnc/UhdJs1Grr;lr]Dqj1 -pA]X~> -q>^EoJcFX-r;c`pr;bROrrDQgrrCFGqZ)3Ibl@YBbl@VAqu?Tpg&M'Pnc/UhdJs1Grr;lr]Dqj1 -pA]X~> -q>^EoJcFX-r;c`pr;bROrrDQgrrCFGqZ)3Ibl@YBbl@VAqu?Tpg&M'Pnc/UhdJs1Grr;lr]Dqj1 -pA]X~> -q>^EoJcFX-r;c]or;bmX!!)Ng!!'q:rW%NLbl@YBbl@VAqZ$Koir8uYnG`IgaT)8?qu?Tp]`7s2 -pA]X~> -q>^EoJcFX-r;c]or;bmX!!)Ng!!'q:rW%NLbl@YBbl@VAqZ$Koir8uYnG`IgaT)8?qu?Tp]`7s2 -pA]X~> -q>^EoJcFX-r;c]or;bmX!!)Ng!!'q:rW%NLbl@YBbl@VAqZ$Koir8uYnG`IgaT)8?qu?Tp]`7s2 -pA]X~> -q>^EoJcFX-r;c]or;bpYrW)NhrW'n:rW%NLbl@YBbl@VAqZ$Koj8])Yo)J[hb5_JAq>^Eo]`7s2 -pA]X~> -q>^EoJcFX-r;c]or;bpYrW)NhrW'n:rW%NLbl@YBbl@VAqZ$Koj8])Yo)J[hb5_JAq>^Eo]`7s2 -pA]X~> -q>^EoJcFX-r;c]or;bpYrW)NhrW'n:rW%NLbl@YBbl@VAqZ$Koj8])Yo)J[hb5_JAq>^Eo]`7s2 -pA]X~> -q>^EoJcFX-r;c]or;bpYrW)NhrW'n:rW%NLbl@YBbl@VAqZ$Koj8])Yo)J[hb5VGAq#C9m^&S'3 -pA]X~> -q>^EoJcFX-r;c]or;bpYrW)NhrW'n:rW%NLbl@YBbl@VAqZ$Koj8])Yo)J[hb5VGAq#C9m^&S'3 -pA]X~> -q>^EoJcFX-r;c]or;bpYrW)NhrW'n:rW%NLbl@YBbl@VAqZ$Koj8])Yo)J[hb5VGAq#C9m^&S'3 -pA]X~> -q>^EoJcFX-r;c]or;ccqr;cQk!!*#u!!*#ur;cHhr;c6brrD`l!!*#urrDEcrW%NLbl@YBbl@VA -qZ$Koqu?TppAY*mrr2rurr;osoDeahmf3:eo`"mkrr;uukl:V^]`7s2pA]X~> -q>^EoJcFX-r;c]or;ccqr;cQk!!*#u!!*#ur;cHhr;c6brrD`l!!*#urrDEcrW%NLbl@YBbl@VA -qZ$Koqu?TppAY*mrr2rurr;osoDeahmf3:eo`"mkrr;uukl:V^]`7s2pA]X~> -q>^EoJcFX-r;c]or;ccqr;cQk!!*#u!!*#ur;cHhr;c6brrD`l!!*#urrDEcrW%NLbl@YBbl@VA -qZ$Koqu?TppAY*mrr2rurr;osoDeahmf3:eo`"mkrr;uukl:V^]`7s2pA]X~> -q>^EoJcFX-r;c]or;cisq#L -q>^EoJcFX-r;c]or;cisq#L -q>^EoJcFX-r;c]or;cisq#L -q>^EoJcFX-r;c]or;cltrW)osrW)rtmK!:eqZ-Wqq>gNpqZ-QorW)osrW)rto)S7ZrW%NLbl@YB -bl@VAqZ$Korr;rtrVuisrr;Bds8Vrrrr;fps8Vrrr;Z`rrVuisrVuHhli6qa]`7s2pA]X~> -q>^EoJcFX-r;c]or;cltrW)osrW)rtmK!:eqZ-Wqq>gNpqZ-QorW)osrW)rto)S7ZrW%NLbl@YB -bl@VAqZ$Korr;rtrVuisrr;Bds8Vrrrr;fps8Vrrr;Z`rrVuisrVuHhli6qa]`7s2pA]X~> -q>^EoJcFX-r;c]or;cltrW)osrW)rtmK!:eqZ-Wqq>gNpqZ-QorW)osrW)rto)S7ZrW%NLbl@YB -bl@VAqZ$Korr;rtrVuisrr;Bds8Vrrrr;fps8Vrrr;Z`rrVuisrVuHhli6qa]`7s2pA]X~> -q>^EoJcFX-r;c`pr;cisrW)osrW)lrqu?`srW)uur;c`pr;cfrr;c]or;cfrrW)iqrW)osquH]q -rW)EerW%NLbl@YBbl@VAqu?TprVuisrVuisr;ZZp!<<#us8W#tqu?TprVufrqu?TprVuisqu?Wq -r;ZZprVuisli6tb]Dqj1pA]X~> -q>^EoJcFX-r;c`pr;cisrW)osrW)lrqu?`srW)uur;c`pr;cfrr;c]or;cfrrW)iqrW)osquH]q -rW)EerW%NLbl@YBbl@VAqu?TprVuisrVuisr;ZZp!<<#us8W#tqu?TprVufrqu?TprVuisqu?Wq -r;ZZprVuisli6tb]Dqj1pA]X~> -q>^EoJcFX-r;c`pr;cisrW)osrW)lrqu?`srW)uur;c`pr;cfrr;c]or;cfrrW)iqrW)osquH]q -rW)EerW%NLbl@YBbl@VAqu?TprVuisrVuisr;ZZp!<<#us8W#tqu?TprVufrqu?TprVuisqu?Wq -r;ZZprVuisli6tb]Dqj1pA]X~> -q>^EoJcFX-r;cfrquH]qrW)osrW)lrr;c]or;c`pr;cfrr;c]or;cfrrW)iqr;cisr;ccqrW)Ee -rW%NLbl@YBbl@VArVucqr;Z`rrVuisr;Z]qqZ$Koqu?TprVufrqu?TprVuisqu?TprVufrr;Z`r -m/R%b]Dqj1pA]X~> -q>^EoJcFX-r;cfrquH]qrW)osrW)lrr;c]or;c`pr;cfrr;c]or;cfrrW)iqr;cisr;ccqrW)Ee -rW%NLbl@YBbl@VArVucqr;Z`rrVuisr;Z]qqZ$Koqu?TprVufrqu?TprVuisqu?TprVufrr;Z`r -m/R%b]Dqj1pA]X~> -q>^EoJcFX-r;cfrquH]qrW)osrW)lrr;c]or;c`pr;cfrr;c]or;cfrrW)iqr;cisr;ccqrW)Ee -rW%NLbl@YBbl@VArVucqr;Z`rrVuisr;Z]qqZ$Koqu?TprVufrqu?TprVuisqu?TprVufrr;Z`r -m/R%b]Dqj1pA]X~> -q>^EoJcFX-o`4pirrDusr;cfrr;c]or;c`pr;cfrr;c]or;cisrW)corW)rtr;ccqrW)EerW%NL -bl@YBbl@>9qu?Zrr;Z]qrVufrqZ$Koqu?TprVufrqu?Tprr;rtq>^EorVufrr;Z`rm/R(c])Va0 -pA]X~> -q>^EoJcFX-o`4pirrDusr;cfrr;c]or;c`pr;cfrr;c]or;cisrW)corW)rtr;ccqrW)EerW%NL -bl@YBbl@>9qu?Zrr;Z]qrVufrqZ$Koqu?TprVufrqu?Tprr;rtq>^EorVufrr;Z`rm/R(c])Va0 -pA]X~> -q>^EoJcFX-o`4pirrDusr;cfrr;c]or;c`pr;cfrr;c]or;cisrW)corW)rtr;ccqrW)EerW%NL -bl@YBbl@>9qu?Zrr;Z]qrVufrqZ$Koqu?TprVufrqu?Tprr;rtq>^EorVufrr;Z`rm/R(c])Va0 -pA]X~> -q>^EoJcFX-p]0pcquH]qr;c]or;c`pr;cfrr;c]or;cisrW)cor;cltr;ccqr;c?erW%NLbl@YB -bl@G^Bnrr;osr;Z]qmf3:e\c;X/pA]X~> -q>^EoJcFX-p]0pcquH]qr;c]or;c`pr;cfrr;c]or;cisrW)cor;cltr;ccqr;c?erW%NLbl@YB -bl@G^Bnrr;osr;Z]qmf3:e\c;X/pA]X~> -q>^EoJcFX-p]0pcquH]qr;c]or;c`pr;cfrr;c]or;cisrW)cor;cltr;ccqr;c?erW%NLbl@YB -bl@G^Bnrr;osr;Z]qmf3:e\c;X/pA]X~> -q>^EoJcFX-r;c?eq>gKor;c]or;c`pr;cfrr;c]or;cisrW)cor;cltr;ccqr;c?erW%NLbl@YB -bl@VAn,N4arVufrqZ$Koqu?TprVufrqu?Tprr;rtq>^Bnrr;osr;Z]qn,NCf\GuO.pA]X~> -q>^EoJcFX-r;c?eq>gKor;c]or;c`pr;cfrr;c]or;cisrW)cor;cltr;ccqr;c?erW%NLbl@YB -bl@VAn,N4arVufrqZ$Koqu?TprVufrqu?Tprr;rtq>^Bnrr;osr;Z]qn,NCf\GuO.pA]X~> -q>^EoJcFX-r;c?eq>gKor;c]or;c`pr;cfrr;c]or;cisrW)cor;cltr;ccqr;c?erW%NLbl@YB -bl@VAn,N4arVufrqZ$Koqu?TprVufrqu?Tprr;rtq>^Bnrr;osr;Z]qn,NCf\GuO.pA]X~> -q>^EoJcFX-r;cEgrW)uur;cfrr;c]or;c`pr;cfrr;c]or;cltr;cZnr;cltr;ccqr;c?erW%NL -bl@YBbl@VAnc/Rgs8W#trVufrqZ$Koqu?TprVufrqu?Tps8W#tq>^Bnrr;osr;Z]qnGiLg\,ZF- -pA]X~> -q>^EoJcFX-r;cEgrW)uur;cfrr;c]or;c`pr;cfrr;c]or;cltr;cZnr;cltr;ccqr;c?erW%NL -bl@YBbl@VAnc/Rgs8W#trVufrqZ$Koqu?TprVufrqu?Tps8W#tq>^Bnrr;osr;Z]qnGiLg\,ZF- -pA]X~> -q>^EoJcFX-r;cEgrW)uur;cfrr;c]or;c`pr;cfrr;c]or;cltr;cZnr;cltr;ccqr;c?erW%NL -bl@YBbl@VAnc/Rgs8W#trVufrqZ$Koqu?TprVufrqu?Tps8W#tq>^Bnrr;osr;Z]qnGiLg\,ZF- -pA]X~> -q>^EoJcFX-r;cKirW)osr;cfrr;c]or;c`pr;cfrr;c]or;cltr;cZnr;cltr;ccqr;c?erW%NL -bl@YBbl@VAoDedirVufrrVufrqZ$Koqu?TprVufrqu?Tps8W#tq>^Bnrr;osr;Z]qnc/Uh[f?=, -pA]X~> -q>^EoJcFX-r;cKirW)osr;cfrr;c]or;c`pr;cfrr;c]or;cltr;cZnr;cltr;ccqr;c?erW%NL -bl@YBbl@VAoDedirVufrrVufrqZ$Koqu?TprVufrqu?Tps8W#tq>^Bnrr;osr;Z]qnc/Uh[f?=, -pA]X~> -q>^EoJcFX-r;cKirW)osr;cfrr;c]or;c`pr;cfrr;c]or;cltr;cZnr;cltr;ccqr;c?erW%NL -bl@YBbl@VAoDedirVufrrVufrqZ$Koqu?TprVufrqu?Tps8W#tq>^Bnrr;osr;Z]qnc/Uh[f?=, -pA]X~> -q>^EoJcFX-r;cKirW)osr;cfrr;c]or;c`pr;cfrr;c]or;cisr;c]or;cltr;ccqr;c?erW%NL -bl@YBbl@VAoDedirVufrrVufrqZ$Koqu?TprVufrqu?Tprr;osqZ$Korr;osr;Z]qnc&Rh[K$4+ -pA]X~> -q>^EoJcFX-r;cKirW)osr;cfrr;c]or;c`pr;cfrr;c]or;cisr;c]or;cltr;ccqr;c?erW%NL -bl@YBbl@VAoDedirVufrrVufrqZ$Koqu?TprVufrqu?Tprr;osqZ$Korr;osr;Z]qnc&Rh[K$4+ -pA]X~> -q>^EoJcFX-r;cKirW)osr;cfrr;c]or;c`pr;cfrr;c]or;cisr;c]or;cltr;ccqr;c?erW%NL -bl@YBbl@VAoDedirVufrrVufrqZ$Koqu?TprVufrqu?Tprr;osqZ$Korr;osr;Z]qnc&Rh[K$4+ -pA]X~> -q>^EoJcFX-r;cNjr;cfrr;cfrr;c]or;c`pr;cfrr;c]or;cisr;c]or;cltr;ccqr;c?erW%NL -bl@YBbl@VAo`+jirVufrrVufrqZ$Koqu?TprVufrqu?Tprr;osqZ$Korr;osr;Z]qo)A[iq#: -q>^EoJcFX-r;cNjr;cfrr;cfrr;c]or;c`pr;cfrr;c]or;cisr;c]or;cltr;ccqr;c?erW%NL -bl@YBbl@VAo`+jirVufrrVufrqZ$Koqu?TprVufrqu?Tprr;osqZ$Korr;osr;Z]qo)A[iq#: -q>^EoJcFX-r;cNjr;cfrr;cfrr;c]or;c`pr;cfrr;c]or;cisr;c]or;cltr;ccqr;c?erW%NL -bl@YBbl@VAo`+jirVufrrVufrqZ$Koqu?TprVufrqu?Tprr;osqZ$Korr;osr;Z]qo)A[iq#: -q>^EoJcFX-r;cNjr;cfrr;cfrr;c]or;c`pr;cfrr;c]or;cfrrW)fprW)rtr;ccqr;c?erW%NL -bl@YBbl@VAo`+jirVufrrVufrqZ$Koqu?TprVufrqu?TprVuisqZ$NprVufrr;Z]qoDegjq>^Hp -^An04pA]X~> -q>^EoJcFX-r;cNjr;cfrr;cfrr;c]or;c`pr;cfrr;c]or;cfrrW)fprW)rtr;ccqr;c?erW%NL -bl@YBbl@VAo`+jirVufrrVufrqZ$Koqu?TprVufrqu?TprVuisqZ$NprVufrr;Z]qoDegjq>^Hp -^An04pA]X~> -q>^EoJcFX-r;cNjr;cfrr;cfrr;c]or;c`pr;cfrr;c]or;cfrrW)fprW)rtr;ccqr;c?erW%NL -bl@YBbl@VAo`+jirVufrrVufrqZ$Koqu?TprVufrqu?TprVuisqZ$NprVufrr;Z]qoDegjq>^Hp -^An04pA]X~> -q>^EoJcFX-r;cNjr;cfrr;cfrr;c]or;clt!!*#ur;cfrr;clt!!)utr;cfrr;c`prrE#tr;ccq -r;c?erW%NLbl@YBbl@VAo`+jirVufrrVufrqZ$Kos8N'!rr;osrVufrs8N'!rr;osrVufrqu?Zr -r;Z]qr;Z]qo`+Ra^&S'3pA]X~> -q>^EoJcFX-r;cNjr;cfrr;cfrr;c]or;clt!!*#ur;cfrr;clt!!)utr;cfrr;c`prrE#tr;ccq -r;c?erW%NLbl@YBbl@VAo`+jirVufrrVufrqZ$Kos8N'!rr;osrVufrs8N'!rr;osrVufrqu?Zr -r;Z]qr;Z]qo`+Ra^&S'3pA]X~> -q>^EoJcFX-r;cNjr;cfrr;cfrr;c]or;clt!!*#ur;cfrr;clt!!)utr;cfrr;c`prrE#tr;ccq -r;c?erW%NLbl@YBbl@VAo`+jirVufrrVufrqZ$Kos8N'!rr;osrVufrs8N'!rr;osrVufrqu?Zr -r;Z]qr;Z]qo`+Ra^&S'3pA]X~> -q>^EoJcFX-r;cKioDnpkr;cZnqZ-Wqr;ccqqZ-Tpr;ccqr;cfrrW)osr;ccqr;c?erW%NLbl@YB -bl@VAoDeF_s8W#tq>^ -q>^EoJcFX-r;cKioDnpkr;cZnqZ-Wqr;ccqqZ-Tpr;ccqr;cfrrW)osr;ccqr;c?erW%NLbl@YB -bl@VAoDeF_s8W#tq>^ -q>^EoJcFX-r;cKioDnpkr;cZnqZ-Wqr;ccqqZ-Tpr;ccqr;cfrrW)osr;ccqr;c?erW%NLbl@YB -bl@VAoDeF_s8W#tq>^ -q>^EoJcF^/p]1'gqZ-Zrr;Zitq#LgKoquH`rq>gHnq#L?mqZ-WqqZ-9gp],mFcipAb!is8W#t!<;ipqu?Qos8VoqrVucqs8Voqr;ZQmqu?Nnrr;iqp]'jc]`7s2pA]X~> -q>^EoJcF^/p]1'gqZ-Zrr;Zitq#LgKoquH`rq>gHnq#L?mqZ-WqqZ-9gp],mFcipAb!is8W#t!<;ipqu?Qos8VoqrVucqs8Voqr;ZQmqu?Nnrr;iqp]'jc]`7s2pA]X~> -q>^EoJcF^/p]1'gqZ-Zrr;Zitq#LgKoquH`rq>gHnq#L?mqZ-WqqZ-9gp],mFcipAb!is8W#t!<;ipqu?Qos8VoqrVucqs8Voqr;ZQmqu?Nnrr;iqp]'jc]`7s2pA]X~> -q>^EoJcEso!!)or!!)He!!)Ng!!)Her;_EKU]:;n\GlO/qu6Wrmf*7enG`Ign,N=dNrT(YpA]X~> -q>^EoJcEso!!)or!!)He!!)Ng!!)Her;_EKU]:;n\GlO/qu6Wrmf*7enG`Ign,N=dNrT(YpA]X~> -q>^EoJcEso!!)or!!)He!!)Ng!!)Her;_EKU]:;n\GlO/qu6Wrmf*7enG`Ign,N=dNrT(YpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>^EoJcC<$JcD_LrW%NLJcG]LpA]X~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -q>Z!GJH16$JH16$TE+]cJ,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -JcC<$JcC<$JcC`0J,~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/executable_names/doc/figures/interactive-job-init.dia b/executable_names/doc/figures/interactive-job-init.dia deleted file mode 100644 index dca7c98582..0000000000 --- a/executable_names/doc/figures/interactive-job-init.dia +++ /dev/null @@ -1,3 +0,0 @@ - -#A4##User##slurmctld##slurmd##register job step##register job step reply##run job step req##run job step reply##job_mgr##session_mgr##connect(stdout/err)##task exit msg##release allocation##run epilog req##run epilog reply##srun##status req (periodic)##status reply##exit -status####cmd##srun cmd##prolog##epilog# diff --git a/executable_names/doc/figures/interactive-job-init.eps b/executable_names/doc/figures/interactive-job-init.eps deleted file mode 100644 index c97b7bc304..0000000000 --- a/executable_names/doc/figures/interactive-job-init.eps +++ /dev/null @@ -1,880 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ../figures/interactive-job-init.dia -%%Creator: Dia v0.88.1 -%%CreationDate: Thu Apr 3 14:26:18 2003 -%%For: grondo -%%Magnification: 1.0000 -%%Orientation: Portrait -%%BoundingBox: 0 0 751 430 -%%Pages: 1 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /A /B /C /D /E -/F /G /H /I /J /K /L /M /N /O -/P /Q /R /S /T /U /V /W /X /Y -/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c -/d /e /f /g /h /i /j /k /l /m -/n /o /p /q /r /s /t /u /v /w -/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/Times-Roman-latin1 - /Times-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Italic-latin1 - /Times-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Bold-latin1 - /Times-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-BoldItalic-latin1 - /Times-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Book-latin1 - /AvantGarde-Book findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-BookOblique-latin1 - /AvantGarde-BookOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Demi-latin1 - /AvantGarde-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-DemiOblique-latin1 - /AvantGarde-DemiOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Light-latin1 - /Bookman-Light findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-LightItalic-latin1 - /Bookman-LightItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Demi-latin1 - /Bookman-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-DemiItalic-latin1 - /Bookman-DemiItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-latin1 - /Courier findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Oblique-latin1 - /Courier-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Bold-latin1 - /Courier-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-BoldOblique-latin1 - /Courier-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-latin1 - /Helvetica findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Oblique-latin1 - /Helvetica-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Bold-latin1 - /Helvetica-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-BoldOblique-latin1 - /Helvetica-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-latin1 - /Helvetica-Narrow findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Oblique-latin1 - /Helvetica-Narrow-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Bold-latin1 - /Helvetica-Narrow-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-BoldOblique-latin1 - /Helvetica-Narrow-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Roman-latin1 - /NewCenturySchoolbook-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Italic-latin1 - /NewCenturySchoolbook-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Bold-latin1 - /NewCenturySchoolbook-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-BoldItalic-latin1 - /NewCenturySchoolbook-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Roman-latin1 - /Palatino-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Italic-latin1 - /Palatino-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Bold-latin1 - /Palatino-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-BoldItalic-latin1 - /Palatino-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Symbol-latin1 - /Symbol findfont -definefont pop -/ZapfChancery-MediumItalic-latin1 - /ZapfChancery-MediumItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/ZapfDingbats-latin1 - /ZapfDingbats findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def /savematrix mtrx currentmatrix def - x y tr xrad yrad sc - 0 0 1 startangle endangle arc - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -28.346000 -28.346000 scale --0.979962 -16.050000 translate -%%EndProlog - - -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -0.000000 0.000000 0.000000 srgb -n 24.000000 6.500000 m 24.000000 10.500000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -0.003922 0.003922 0.003922 srgb -n 2.000000 2.500000 m 1.412500 1.750000 l 1.125000 1.987500 l 1.887500 2.962500 l 1.475000 4.425000 l 1.937500 4.425000 l 2.187500 3.475000 l 2.425000 4.425000 l 2.850000 4.425000 l 2.525000 3.175000 l 3.162500 3.550000 l 3.337500 3.225000 l 2.462500 2.675000 l 2.425000 2.487500 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 2.225000 2.234686 0.338980 0.338980 121.081372 58.918628 ellipse s -/Helvetica-latin1 ff 0.650000 scf sf -0.000000 0.000000 0.000000 srgb -(User) dup sw 2 div 2.000000 ex sub 1.500000 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0.701961 0.701961 0.701961 srgb -n 15.000000 2.500000 m 15.000000 16.000000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0.694118 0.694118 0.694118 srgb -n 22.000000 2.500000 m 22.000000 16.000000 l s -/Courier-Bold-latin1 ff 0.600000 scf sf -0.000000 0.000000 0.000000 srgb -(slurmctld) dup sw 2 div 15.000000 ex sub 2.000000 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.600000 scf sf -(slurmd) dup sw 2 div 22.000000 ex sub 2.000000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 7.250000 3.000010 m 14.750000 3.000010 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 14.350000 3.200010 m 14.750000 3.000010 l 14.350000 2.800010 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.350000 3.200010 m 14.750000 3.000010 l 14.350000 2.800010 l cp s -0.537255 0.537255 0.733333 srgb -n 14.750000 3.000010 m 14.750000 4.000010 l 15.250000 4.000010 l 15.250000 3.000010 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.750000 3.000010 m 14.750000 4.000010 l 15.250000 4.000010 l 15.250000 3.000010 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 14.750000 4.000010 m 7.250000 4.000010 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 7.650000 3.800010 m 7.250000 4.000010 l 7.650000 4.200010 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 7.650000 3.800010 m 7.250000 4.000010 l 7.650000 4.200010 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(register job step) dup sw 2 div 11.000000 ex sub 2.875000 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.600000 scf sf -(register job step reply) dup sw 2 div 11.000000 ex sub 3.875000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 7.250000 5.000010 m 21.750000 5.000010 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 21.350000 5.200010 m 21.750000 5.000010 l 21.350000 4.800010 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 21.350000 5.200010 m 21.750000 5.000010 l 21.350000 4.800010 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run job step req) dup sw 2 div 14.500000 ex sub 4.875000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 21.750000 6.000010 m 7.250000 6.000010 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 7.650000 5.800010 m 7.250000 6.000010 l 7.650000 6.200010 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 7.650000 5.800010 m 7.250000 6.000010 l 7.650000 6.200010 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run job step reply) dup sw 2 div 14.500000 ex sub 5.875000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 21.750000 5.000010 m 21.750000 6.500010 l 22.250003 6.500010 l 22.250003 5.000010 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 21.750000 5.000010 m 21.750000 6.500010 l 22.250003 6.500010 l 22.250003 5.000010 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -(job_mgr) 22.800000 5.900010 m gs 1 -1 sc sh gr -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 22.000000 6.500010 m 22.750000 6.500010 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 22.450000 6.650010 m 22.750000 6.500010 l 22.450000 6.350010 l s -/Courier-Bold-latin1 ff 0.500000 scf sf -(session_mgr) 23.500000 6.375000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 23.750000 7.500010 m 7.250000 7.500010 l s -0.080000 slw -[] 0 sd -0 slj -0 slc -n 23.750000 7.500010 m 23.750000 7.572510 23.677500 7.645010 23.605000 7.645010 c 23.532500 7.645010 23.460000 7.572510 23.460000 7.500010 c 23.460000 7.427510 23.532500 7.355010 23.605000 7.355010 c 23.677500 7.355010 23.750000 7.427510 23.750000 7.500010 c f -n 23.625000 7.250010 m 23.625000 7.750010 l s -0 slj -n 7.750000 7.250010 m 7.250000 7.500010 l 7.750000 7.750010 l f -/Helvetica-latin1 ff 0.600000 scf sf -(connect\(stdout/err\)) dup sw 2 div 15.500000 ex sub 7.375000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 23.750000 11.000000 m 7.250000 11.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 7.650000 10.800000 m 7.250000 11.000000 l 7.650000 11.200000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 7.650000 10.800000 m 7.250000 11.000000 l 7.650000 11.200000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(task exit msg) dup sw 2 div 15.500000 ex sub 10.875000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 7.000000 13.000000 m 14.750000 13.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 14.350000 13.200000 m 14.750000 13.000000 l 14.350000 12.800000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.350000 13.200000 m 14.750000 13.000000 l 14.350000 12.800000 l cp s -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 23.050000 6.000000 m 23.000000 11.500000 l s -/Helvetica-latin1 ff 0.600000 scf sf -(release allocation) dup sw 2 div 11.000000 ex sub 12.875000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 14.750000 13.000000 m 14.750000 15.500000 l 15.250000 15.500000 l 15.250000 13.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.750000 13.000000 m 14.750000 15.500000 l 15.250000 15.500000 l 15.250000 13.000000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 15.250000 13.500000 m 21.750000 13.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 21.350000 13.700000 m 21.750000 13.500000 l 21.350000 13.300000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 21.350000 13.700000 m 21.750000 13.500000 l 21.350000 13.300000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run epilog req) dup sw 2 div 18.500000 ex sub 13.375000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 21.750000 15.000000 m 15.250000 15.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 15.650000 14.800000 m 15.250000 15.000000 l 15.650000 15.200000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 15.650000 14.800000 m 15.250000 15.000000 l 15.650000 15.200000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run epilog reply) dup sw 2 div 18.500000 ex sub 14.875000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 22.750000 6.500010 m 22.750000 7.000010 l 23.250000 7.000010 l 23.250000 6.500010 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 22.750000 6.500010 m 22.750000 7.000010 l 23.250000 7.000010 l 23.250000 6.500010 l cp s -0.537255 0.537255 0.749020 srgb -n 23.750000 7.000010 m 23.750000 8.000010 l 24.250000 8.000010 l 24.250000 7.000010 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 23.750000 7.000010 m 23.750000 8.000010 l 24.250000 8.000010 l 24.250000 7.000010 l cp s -0.537255 0.537255 0.749020 srgb -n 22.750000 11.500000 m 22.750000 12.500000 l 23.250000 12.500000 l 23.250000 11.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 22.750000 11.500000 m 22.750000 12.500000 l 23.250000 12.500000 l 23.250000 11.500000 l cp s -0.537255 0.537255 0.749020 srgb -n 21.750000 13.500000 m 21.750000 15.000000 l 22.250000 15.000000 l 22.250000 13.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 21.750000 13.500000 m 21.750000 15.000000 l 22.250000 15.000000 l 22.250000 13.500000 l cp s -/Courier-Bold-latin1 ff 0.600000 scf sf -(srun) dup sw 2 div 7.000000 ex sub 2.000000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 6.750000 3.000010 m 6.750000 13.500010 l 7.250000 13.500010 l 7.250000 3.000010 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 6.750000 3.000010 m 6.750000 13.500010 l 7.250000 13.500010 l 7.250000 3.000010 l cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 3.500000 3.000000 m 6.750000 3.000010 l s -0.100000 slw -[] 0 sd -0 slj -0 slc -n 6.149999 3.200008 m 6.750000 3.000010 l 6.150001 2.800008 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.750000 13.500000 m 3.500000 13.500000 l s -0.100000 slw -[] 0 sd -0 slj -0 slc -n 4.100000 13.300000 m 3.500000 13.500000 l 4.100000 13.700000 l s -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 15.000000 8.500000 m 7.250000 8.500010 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 7.650000 8.300009 m 7.250000 8.500010 l 7.650000 8.700009 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 7.650000 8.300009 m 7.250000 8.500010 l 7.650000 8.700009 l cp s -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 7.250000 9.050010 m 14.800000 9.050000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 14.400000 9.250001 m 14.800000 9.050000 l 14.400000 8.850001 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 14.400000 9.250001 m 14.800000 9.050000 l 14.400000 8.850001 l cp s -/Helvetica-latin1 ff 0.500000 scf sf -(status req \(periodic\)) dup sw 2 div 11.250000 ex sub 8.375000 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.500000 scf sf -(status reply) dup sw 2 div 11.250000 ex sub 9.375000 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.650000 scf sf -(exit ) dup sw 2 div 2.500000 ex sub 13.500000 m gs 1 -1 sc sh gr -(status) dup sw 2 div 2.500000 ex sub 14.150000 m gs 1 -1 sc sh gr -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 1.500000 m 5.000000 16.000000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 1.500000 m 4.500000 2.000000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 2.184500 m 4.500000 2.684500 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 2.869000 m 4.500000 3.369000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 3.553600 m 4.500000 4.053600 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 4.238100 m 4.500000 4.738100 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 4.922600 m 4.500000 5.422600 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 5.607100 m 4.500000 6.107100 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 6.291700 m 4.500000 6.791700 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 6.976200 m 4.500000 7.476200 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 7.660700 m 4.500000 8.160700 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 8.345200 m 4.500000 8.845200 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 9.029700 m 4.500000 9.529700 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 9.714300 m 4.500000 10.214300 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 10.398800 m 4.500000 10.898800 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 11.083300 m 4.500000 11.583300 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 11.767800 m 4.500000 12.267800 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 12.452300 m 4.500000 12.952300 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 13.136900 m 4.500000 13.636900 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 13.821400 m 4.500000 14.321400 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 14.505900 m 4.500000 15.005900 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 15.190400 m 4.500000 15.690400 l s -0.537255 0.537255 0.749020 srgb -n 24.750000 8.000010 m 24.750000 10.500010 l 25.250000 10.500010 l 25.250000 8.000010 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 24.750000 8.000010 m 24.750000 10.500010 l 25.250000 10.500010 l 25.250000 8.000010 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -() 25.250000 7.000010 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.500000 scf sf -(cmd) 24.750000 7.625000 m gs 1 -1 sc sh gr -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 23.000000 7.000010 m 23.750000 7.000010 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 23.450000 7.150010 m 23.750000 7.000010 l 23.450000 6.850010 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 24.000000 11.500000 m 23.250000 11.500000 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 23.550000 11.350000 m 23.250000 11.500000 l 23.550000 11.650000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 22.750000 12.500000 m 22.250000 12.500000 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 22.550000 12.350000 m 22.250000 12.500000 l 22.550000 12.650000 l s -0.537255 0.537255 0.749020 srgb -n 21.750000 12.500000 m 21.750000 13.000000 l 22.250000 13.000000 l 22.250000 12.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 21.750000 12.500000 m 21.750000 13.000000 l 22.250000 13.000000 l 22.250000 12.500000 l cp s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 24.250000 8.000010 m 24.750000 8.000010 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 24.450000 8.150010 m 24.750000 8.000010 l 24.450000 7.850010 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 24.750000 10.500000 m 24.250000 10.500000 l s -0.050000 slw -[] 0 sd -0 slj -0 slc -n 24.550000 10.350000 m 24.250000 10.500000 l 24.550000 10.650000 l s -/Helvetica-Bold-latin1 ff 0.500000 scf sf -(srun cmd) dup sw 2 div 5.000000 ex sub 2.875000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 23.750000 10.500000 m 23.750000 11.500000 l 24.250000 11.500000 l 24.250000 10.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 23.750000 10.500000 m 23.750000 11.500000 l 24.250000 11.500000 l 24.250000 10.500000 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -(prolog) 23.250000 5.125000 m gs 1 -1 sc sh gr -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 22.250000 5.000010 m 23.200000 5.050000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 22.790043 5.228704 m 23.200000 5.050000 l 22.811062 4.829257 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 22.790043 5.228704 m 23.200000 5.050000 l 22.811062 4.829257 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -(epilog) 23.355000 13.778300 m gs 1 -1 sc sh gr -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 22.400000 13.650000 m 23.245000 13.645000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 22.846190 13.847363 m 23.245000 13.645000 l 22.843824 13.447370 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 22.846190 13.847363 m 23.245000 13.645000 l 22.843824 13.447370 l cp s -showpage diff --git a/executable_names/doc/figures/launch.eps b/executable_names/doc/figures/launch.eps deleted file mode 100644 index 06e54469e6..0000000000 --- a/executable_names/doc/figures/launch.eps +++ /dev/null @@ -1,1040 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /g/g0/jette/sigops/figure4.eps -%%CreationDate: Wed Feb 1 14:17:36 2006 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 393 239 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 224.640000 translate -378.720000 -224.640000 scale -% Image geometry -526 312 8 -% Transformation matrix -[ 526 0 0 312 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 526 string def -/gstr 526 string def -/bstr 526 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 39065 ASCII Bytes -colorimage -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcDeN!!)-\rr@WMJcFs6J,~> -JcDeN!!)-\rr@WMJcFs6J,~> -JcDeN!!)-\rr@WMJcFs6J,~> -JcDkPrW)?cp],mFJcFp5J,~> -JcDkPrW)?cp],mFJcFp5J,~> -JcDkPrW)?cp],mFJcFp5J,~> -JcDqRquH-ap],mFJcFp5J,~> -JcDqRquH-ap],mFJcFp5J,~> -JcDqRquH-ap],mFJcFp5J,~> -JcDtSqZ-'ap],mFJcFm4J,~> -JcDtSqZ-'ap],mFJcFm4J,~> -JcDtSqZ-'ap],mFJcFm4J,~> -JcE"T!!*#urW)Bdrr@WMJcFX-J,~> -JcE"T!!*#urW)Bdrr@WMJcFX-J,~> -JcE"T!!*#urW)Bdrr@WMJcFX-J,~> -JcDkPrW)Eerr@WMJcFU,J,~> -JcDkPrW)Eerr@WMJcFU,J,~> -JcDkPrW)Eerr@WMJcFU,J,~> -JcDkPrW)Eer;_EKJcF[.J,~> -JcDkPrW)Eer;_EKJcF[.J,~> -JcDkPrW)Eer;_EKJcF[.J,~> -JcDkPrW)Hfq#H!GJcFd1J,~> -JcDkPrW)Hfq#H!GJcFd1J,~> -JcDkPrW)Hfq#H!GJcFd1J,~> -JcDkPrW)Hfp],mFJcFg2J,~> -JcDkPrW)Hfp],mFJcFg2J,~> -JcDkPrW)Hfp],mFJcFg2J,~> -JcDkPrW)HfpAfdEJcFj3J,~> -JcDkPrW)HfpAfdEJcFj3J,~> -JcDkPrW)HfpAfdEJcFj3J,~> -JcDkPrW)9aqZ)3IJcFm4J,~> -JcDkPrW)9aqZ)3IJcFm4J,~> -JcDkPrW)9aqZ)3IJcFm4J,~> -JcDkPrW)3_quDEMJH4s8qu;0~> -JcDkPrW)3_quDEMJH4s8qu;0~> -JcDkPrW)3_quDEMJH4s8qu;0~> -JcDkPrW)0^r;_NNJH4s8qu;0~> -JcDkPrW)0^r;_NNJH4s8qu;0~> -JcDkPrW)0^r;_NNJH4s8qu;0~> -JcDkPrW)-]r;_QOJH4s8qu;0~> -JcDkPrW)-]r;_QOJH4s8qu;0~> -JcDkPrW)-]r;_QOJH4s8qu;0~> -JcDkPrW)-]r;_QOrW%NLnGiIfqu;0~> -JcDkPrW)-]r;_QOrW%NLnGiIfqu;0~> -JcDkPrW)-]r;_QOrW%NLnGiIfqu;0~> -JcDkPrW)-]r;_QOrW%NLnGiIfqu;0~> -JcDkPrW)-]r;_QOrW%NLnGiIfqu;0~> -JcDkPrW)-]r;_QOrW%NLnGiIfqu;0~> -JcDkPrW)*\rW%ZPrW%NLnGiIfqu;0~> -JcDkPrW)*\rW%ZPrW%NLnGiIfqu;0~> -JcDkPrW)*\rW%ZPrW%NLnGiIfqu;0~> -JcDkPrW)-]rW&#Z!!)cnrW%NLnGiIfqu;0~> -JcDkPrW)-]rW&#Z!!)cnrW%NLnGiIfqu;0~> -JcDkPrW)-]rW&#Z!!)cnrW%NLnGiIfqu;0~> -JcDkPrW)-]rW&#ZrW)corW%NLnGiIfqu;0~> -JcDkPrW)-]rW&#ZrW)corW%NLnGiIfqu;0~> -JcDkPrW)-]rW&#ZrW)corW%NLnGiIfqu;0~> -JcDkPrW)]mrrDZjrrA)ZqZ-QorW%NLnGiIfqu;0~> -JcDkPrW)]mrrDZjrrA)ZqZ-QorW%NLnGiIfqu;0~> -JcDkPrW)]mrrDZjrrA)ZqZ-QorW%NLnGiIfqu;0~> -JcDkPrW)`nr;cisr;ccqrrA&Yq#LEorW%NLnGiIfqu;0~> -JcDkPrW)`nr;cisr;ccqrrA&Yq#LEorW%NLnGiIfqu;0~> -JcDkPrW)`nr;cisr;ccqrrA&Yq#LEorW%NLnGiIfqu;0~> -JcDkPrW)`nquHcsquH`rrrA#Xo)O@AnGiIfqu;0~> -JcDkPrW)`nquHcsquH`rrrA#Xo)O@AnGiIfqu;0~> -JcDkPrW)`nquHcsquH`rrrA#Xo)O@AnGiIfqu;0~> -JcDtSp]13kquHcsp]-6Po)O@AnGiIfqu;0~> -JcDtSp]13kquHcsp]-6Po)O@AnGiIfqu;0~> -JcDtSp]13kquHcsp]-6Po)O@AnGiIfqu;0~> -JcDDCr;cfrr;_rZlMuM9nGiIfqu;0~> -JcDDCr;cfrr;_rZlMuM9nGiIfqu;0~> -JcDDCr;cfrr;_rZlMuM9nGiIfqu;0~> -JcD>ArrA5^i;eH/nGiIfqu;0~> -JcD>ArrA5^i;eH/nGiIfqu;0~> -JcD>ArrA5^i;eH/nGiIfqu;0~> -JcDABrrAShjoGG]o)O@AnGiIfqu;0~> -JcDABrrAShjoGG]o)O@AnGiIfqu;0~> -JcDABrrAShjoGG]o)O@AnGiIfqu;0~> -JcDDCrrAnqk5b/Sp]1?orW)-]rrB/#rrDWirrD]krW)iqJ,~> -JcDDCrrAnqk5b/Sp]1?orW)-]rrB/#rrDWirrD]krW)iqJ,~> -JcDDCrrAnqk5b/Sp]1?orW)-]rrB/#rrDWirrD]krW)iqJ,~> -JcDDC!!'2%k5acHq>gNprW)6`quEr#quHEiquHBhrW)iqJ,~> -JcDDC!!'2%k5acHq>gNprW)6`quEr#quHEiquHBhrW)iqJ,~> -JcDDC!!'2%k5acHq>gNprW)6`quEr#quHEiquHBhrW)iqJ,~> -k5VRaJcE^hjoF<=quHZprW)9aqZ*l#qZ- -k5VRaJcE^hjoF<=quHZprW)9aqZ*l#qZ- -k5VRaJcE^hjoF<=quHZprW)9aqZ*l#qZ- -k5VRaJcF'rk5a$3r;c`prW)0^rW'>*!!)orrW)QirW)TjrW)iqJ,~> -k5VRaJcF'rk5a$3r;c`prW)0^rW'>*!!)orrW)QirW)TjrW)iqJ,~> -k5VRaJcF'rk5a$3r;c`prW)0^rW'>*!!)orrW)QirW)TjrW)iqJ,~> -k5VRaJcFF'k5`[)rrDlprW)0^rW'A+rrDrrrW)QirW)TjrW)iqJ,~> -k5VRaJcFF'k5`[)rrDlprW)0^rW'A+rrDrrrW)QirW)TjrW)iqJ,~> -k5VRaJcFF'k5`[)rrDlprW)0^rW'A+rrDrrrW)QirW)TjrW)iqJ,~> -k5YD\[/^+*JcFg2joDjirW)0^rW'D,rW)iqrW)QirW)TjrW)iqJ,~> -k5YD\[/^+*JcFg2joDjirW)0^rW'D,rW)iqrW)QirW)TjrW)iqJ,~> -k5YD\[/^+*JcFg2joDjirW)0^rW'D,rW)iqrW)QirW)TjrW)iqJ,~> -k5YD\[/^+*JcG0 -k5YD\[/^+*JcG0 -k5YD\[/^+*JcG0 -k5YD\[/^+*JcGNFk5_4UrW)QirW)corW)0^"9AK%!!)`mrrDoq!!)ZkrW)fpr;c`prW)`nrW)uu -rW)TjrW)iqJ,~> -k5YD\[/^+*JcGNFk5_4UrW)QirW)corW)0^"9AK%!!)`mrrDoq!!)ZkrW)fpr;c`prW)`nrW)uu -rW)TjrW)iqJ,~> -k5YD\[/^+*JcGNFk5_4UrW)QirW)corW)0^"9AK%!!)`mrrDoq!!)ZkrW)fpr;c`prW)`nrW)uu -rW)TjrW)iqJ,~> -k5YD\[/^+*KE('6QiI$bp&Fgfr;Z`rrr;iqrr;lrr;Z]q!<;uts8W#t!<;orrr;iqq>^6jrr;`n -rr;rtqZ$9io`+mjqu;0~> -k5YD\[/^+*KE('6QiI$bp&Fgfr;Z`rrr;iqrr;lrr;Z]q!<;uts8W#t!<;orrr;iqq>^6jrr;`n -rr;rtqZ$9io`+mjqu;0~> -k5YD\[/^+*KE('6QiI$bp&Fgfr;Z`rrr;iqrr;lrr;Z]q!<;uts8W#t!<;orrr;iqq>^6jrr;`n -rr;rtqZ$9io`+mjqu;0~> -k5YD\[/^+*NW8/AN;rkWpAb-mrVuisr;Z`rr;Z]qr;Z`rrr;0^!<;ipqu?Wqrr;osrr;fprVuis -qu?WqrVufro`+mjqu;0~> -k5YD\[/^+*NW8/AN;rkWpAb-mrVuisr;Z`rr;Z]qr;Z`rrr;0^!<;ipqu?Wqrr;osrr;fprVuis -qu?WqrVufro`+mjqu;0~> -k5YD\[/^+*NW8/AN;rkWpAb-mrVuisr;Z`rr;Z]qr;Z`rrr;0^!<;ipqu?Wqrr;osrr;fprVuis -qu?WqrVufro`+mjqu;0~> -k5YD\[/^+*QiH4KK)bfMpAb-mr;Zcsr;Z`rr;Z]qr;Z`rr;ZZp!<<#us8VusrVucqrVufrrVuis -r;Z]qrr;osqu?Wqr;Z`rqu?Wqo`+mjqu;0~> -k5YD\[/^+*QiH4KK)bfMpAb-mr;Zcsr;Z`rr;Z]qr;Z`rr;ZZp!<<#us8VusrVucqrVufrrVuis -r;Z]qrr;osqu?Wqr;Z`rqu?Wqo`+mjqu;0~> -k5YD\[/^+*QiH4KK)bfMpAb-mr;Zcsr;Z`rr;Z]qr;Z`rr;ZZp!<<#us8VusrVucqrVufrrVuis -r;Z]qrr;osqu?Wqr;Z`rqu?Wqo`+mjqu;0~> -k5YD\[/^+*UAs?UJcGNFrW)]mrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfrrrDrr -r;cisr;c`prW)lrrW)iqrW)TjrW)iqJ,~> -k5YD\[/^+*UAs?UJcGNFrW)]mrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfrrrDrr -r;cisr;c`prW)lrrW)iqrW)TjrW)iqJ,~> -k5YD\[/^+*UAs?UJcGNFrW)]mrW)lrrrDusrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cfrrrDrr -r;cisr;c`prW)lrrW)iqrW)TjrW)iqJ,~> -k5YD\[/^+*XT.G`JcG3=quHKkr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fprrE#t -r;c`prW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*XT.G`JcG3=quHKkr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fprrE#t -r;c`prW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*XT.G`JcG3=quHKkr;cQkrW)lrr;ccqrW)lrr;cZnrW)lrr;ccqr;cisrW)fprrE#t -r;c`prW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*[f>LjJcG3=nc8C`quHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)Tjr;c`p -rW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*[f>LjJcG3=nc8C`quHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)Tjr;c`p -rW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*[f>LjJcG3=nc8C`quHNlrW)lrr;ccqrW)lrr;cZnrW)lrr;c`prW)rtrW)Tjr;c`p -rW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*_>iWtJcG6>k5b2TqZ-KmrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)Tjr;c`p -rW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*_>iWtJcG6>k5b2TqZ-KmrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)Tjr;c`p -rW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*_>iWtJcG6>k5b2TqZ-KmrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rtrW)Tjr;c`p -rW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*bQ$`*JcG3=k5bAYrW)TjqZ-NnrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cKi -r;c`prW)rtr;c]orW)TjrW)iqJ,~> -k5YD\[/^+*bQ$`*JcG3=k5bAYrW)TjqZ-NnrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cKi -r;c`prW)rtr;c]orW)TjrW)iqJ,~> -k5YD\[/^+*bQ$`*JcG3=k5bAYrW)TjqZ-NnrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cKi -r;c`prW)rtr;c]orW)TjrW)iqJ,~> -k5YD\[/^+*ec4e4JcG3=k5b#OrW)QiqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cKi -r;c`prW)rtr;c]orW)TjrW)iqJ,~> -k5YD\[/^+*ec4e4JcG3=k5b#OrW)QiqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cKi -r;c`prW)rtr;c]orW)TjrW)iqJ,~> -k5YD\[/^+*ec4e4JcG3=k5b#OrW)QiqZ-QorW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)uur;cKi -r;c`prW)rtr;c]orW)TjrW)iqJ,~> -k5YD\[/^+*i;_p>JcG6>joFQDrW)Zl!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -rW)Tjr;c`prW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*i;_p>JcG6>joFQDrW)Zl!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -rW)Tjr;c`prW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*i;_p>JcG6>joFQDrW)Zl!!)utquH]qrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -rW)Tjr;c`prW)osrW)fprW)TjrW)iqJ,~> -k5YD\[/^+*lMp#IJcG3=k5a9:rW)Zl!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -r;c]orrE&ur;c`prW)osr;c`prW)TjrW)iqJ,~> -k5YD\[/^+*lMp#IJcG3=k5a9:rW)Zl!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -r;c]orrE&ur;c`prW)osr;c`prW)TjrW)iqJ,~> -k5YD\[/^+*lMp#IJcG3=k5a9:rW)Zl!!)rsr;cfrrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -r;c]orrE&ur;c`prW)osr;c`prW)TjrW)iqJ,~> -k5YD\[/^+*o`+(SJcG3=k5`p0rW)Zl!!)orrW)osrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -quHWo!!)utr;c`prW)osr;c`prW)TjrW)iqJ,~> -k5YD\[/^+*o`+(SJcG3=k5`p0rW)Zl!!)orrW)osrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -quHWo!!)utr;c`prW)osr;c`prW)TjrW)iqJ,~> -k5YD\[/^+*o`+(SJcG3=k5`p0rW)Zl!!)orrW)osrW)lrr;ccqrW)lrr;cZnrW)iqrW)iqrW)rt -quHWo!!)utr;c`prW)osr;c`prW)TjrW)iqJ,~> -k5YD\[/^+*rr;-]JcG6>joEI%rW)Zl!!)orrW)osrW)lrr;cfrr;ccqr;cZnrW)lrr;ccqr;cfr -p&P'kr;clt!!*#urW)lrr;ccqr;cNjrW)iqJ,~> -k5YD\[/^+*rr;-]JcG6>joEI%rW)Zl!!)orrW)osrW)lrr;cfrr;ccqr;cZnrW)lrr;ccqr;cfr -p&P'kr;clt!!*#urW)lrr;ccqr;cNjrW)iqJ,~> -k5YD\[/^+*rr;-]JcG6>joEI%rW)Zl!!)orrW)osrW)lrr;cfrr;ccqr;cZnrW)lrr;ccqr;cfr -p&P'kr;clt!!*#urW)lrr;ccqr;cNjrW)iqJ,~> -k5YD\[/^+*rr;NhJcG3=k5`0prW)ZlrrDusrrDusr;ccqq>^NqquH`rr;c]or;ccqr;ccqr;ccq -p]16lq>gNpr;ccqoDnUbrW)iqJ,~> -k5YD\[/^+*rr;NhJcG3=k5`0prW)ZlrrDusrrDusr;ccqq>^NqquH`rr;c]or;ccqr;ccqr;ccq -p]16lq>gNpr;ccqoDnUbrW)iqJ,~> -k5YD\[/^+*rr;NhJcG3=k5`0prW)ZlrrDusrrDusr;ccqq>^NqquH`rr;c]or;ccqr;ccqr;ccq -p]16lq>gNpr;ccqoDnUbrW)iqJ,~> -k5YD\[/^+*rr;lrJcG3=k5_gfrW)Zlq#LBnq>gHnquHcsrW)rtq#LBnq>gQqq>gQqq>gKoq>gBl -quHcsq>gHnqZ$Wrr;cNjrW)iqJ,~> -k5YD\[/^+*rr;lrJcG3=k5_gfrW)Zlq#LBnq>gHnquHcsrW)rtq#LBnq>gQqq>gQqq>gKoq>gBl -quHcsq>gHnqZ$Wrr;cNjrW)iqJ,~> -k5YD\[/^+*rr;lrJcG3=k5_gfrW)Zlq#LBnq>gHnquHcsrW)rtq#LBnq>gQqq>gQqq>gKoq>gBl -quHcsq>gHnqZ$Wrr;cNjrW)iqJ,~> -k5YD\[/^+*JcG<@joD@[rW)Zl!W`9#rW)BdrW)rt!!(FHrW)]mrrDNfrrE&u!!)TirW)iqJ,~> -k5YD\[/^+*JcG<@joD@[rW)Zl!W`9#rW)BdrW)rt!!(FHrW)]mrrDNfrrE&u!!)TirW)iqJ,~> -k5YD\[/^+*JcG<@joD@[rW)Zl!W`9#rW)BdrW)rt!!(FHrW)]mrrDNfrrE&u!!)TirW)iqJ,~> -k5YD\o)J[hp\t?rs8N'!li-qbrr;uunc/RgJcGZJk5_(QrW%NLnGiIfqu;0~> -k5YD\o)J[hp\t?rs8N'!li-qbrr;uunc/RgJcGZJk5_(QrW%NLnGiIfqu;0~> -k5YD\o)J[hp\t?rs8N'!li-qbrr;uunc/RgJcGZJk5_(QrW%NLnGiIfqu;0~> -k5YD\o`+^erVufr!<;cnrr;lrrVufr!<;oroDediLB$E:PQ1U^JcG6>rW)iqJ,~> -k5YD\o`+^erVufr!<;cnrr;lrrVufr!<;oroDediLB$E:PQ1U^JcG6>rW)iqJ,~> -k5YD\o`+^erVufr!<;cnrr;lrrVufr!<;oroDediLB$E:PQ1U^JcG6>rW)iqJ,~> -k5YD\p&G$lrVuiss8V`l!<;utr;Z`rs8VZjo`+mjOoOPDM?!PTJcG6>rW)iqJ,~> -k5YD\p&G$lrVuiss8V`l!<;utr;Z`rs8VZjo`+mjOoOPDM?!PTJcG6>rW)iqJ,~> -k5YD\p&G$lrVuiss8V`l!<;utr;Z`rs8VZjo`+mjOoOPDM?!PTJcG6>rW)iqJ,~> -k5YD\p&G$lr;ZcsrVucq!<<#us8W#tr;Z`rrVucqrVuiso`+mjS,_XOJcG`LrW%NLnGiIfqu;0~> -k5YD\p&G$lr;ZcsrVucq!<<#us8W#tr;Z`rrVucqrVuiso`+mjS,_XOJcG`LrW%NLnGiIfqu;0~> -k5YD\p&G$lr;ZcsrVucq!<<#us8W#tr;Z`rrVucqrVuiso`+mjS,_XOJcG`LrW%NLnGiIfqu;0~> -k5YD\pAb*lr;ZcsrVufrqZ$Kor;Z`rrVufrr;Z`ro`+mjV>o]YJcGBBrW%NLnGiIfqu;0~> -k5YD\pAb*lr;ZcsrVufrqZ$Kor;Z`rrVufrr;Z`ro`+mjV>o]YJcGBBrW%NLnGiIfqu;0~> -k5YD\pAb*lr;ZcsrVufrqZ$Kor;Z`rrVufrr;Z`ro`+mjV>o]YJcGBBrW%NLnGiIfqu;0~> -k5YD\pAb'kp](0lqZ$Kor;Z`rr;Z`rr;Z]qp&G!kYlEhcJcG$8rW%NLnGiIfqu;0~> -k5YD\pAb'kp](0lqZ$Kor;Z`rr;Z`rr;Z]qp&G!kYlEhcJcG$8rW%NLnGiIfqu;0~> -k5YD\pAb'kp](0lqZ$Kor;Z`rr;Z`rr;Z]qp&G!kYlEhcJcG$8rW%NLnGiIfqu;0~> -k5YD\p&Fpiq>^BnqZ$Kor;Z`rr;Z`rr;Z]qp&G!knc&RhbQ$`*JcFX-rW%NLnGiIfqu;0~> -k5YD\p&Fpiq>^BnqZ$Kor;Z`rr;Z`rr;Z]qp&G!knc&RhbQ$`*JcFX-rW%NLnGiIfqu;0~> -k5YD\p&Fpiq>^BnqZ$Kor;Z`rr;Z`rr;Z]qp&G!knc&RhbQ$`*JcFX-rW%NLnGiIfqu;0~> -k5YD\o`+dgqu?TpqZ$Kor;Z`rr;Z`rr;Z]qp&G!koDediec4e4JcF:#rW%NLnGiIfqu;0~> -k5YD\o`+dgqu?TpqZ$Kor;Z`rr;Z`rr;Z]qp&G!koDediec4e4JcF:#rW%NLnGiIfqu;0~> -k5YD\o`+dgqu?TpqZ$Kor;Z`rr;Z`rr;Z]qp&G!koDediec4e4JcF:#rW%NLnGiIfqu;0~> -k5YD\oDe[fr;Z]qqZ$Kor;Z`rr;Z`rr;Z]qp&G!ko`+jii;_p>JcEpnrW%NLnGiIfqu;0~> -k5YD\oDe[fr;Z]qqZ$Kor;Z`rr;Z`rr;Z]qp&G!ko`+jii;_p>JcEpnrW%NLnGiIfqu;0~> -k5YD\oDe[fr;Z]qqZ$Kor;Z`rr;Z`rr;Z]qp&G!ko`+jii;_p>JcEpnrW%NLnGiIfqu;0~> -k5YD\o)JRerVufrqZ$Kor;Z`rr;Z`rr;Z]qp&G!kpAb!ilMp#IJcEOcrW%NLnGiIfqu;0~> -k5YD\o)JRerVufrqZ$Kor;Z`rr;Z`rr;Z]qp&G!kpAb!ilMp#IJcEOcrW%NLnGiIfqu;0~> -k5YD\o)JRerVufrqZ$Kor;Z`rr;Z`rr;Z]qp&G!kpAb!ilMp#IJcEOcrW%NLnGiIfqu;0~> -k5YD\p&>!lrVucqrr;osqZ$Kor;Z`rr;Z`rr;Z]qp&G!kq#C-io`+(SZ2ab&kPtJ\W;lhsJcG6> -rW)iqJ,~> -k5YD\p&>!lrVucqrr;osqZ$Kor;Z`rr;Z`rr;Z]qp&G!kq#C-io`+(SZ2ab&kPtJ\W;lhsJcG6> -rW)iqJ,~> -k5YD\p&>!lrVucqrr;osqZ$Kor;Z`rr;Z`rr;Z]qp&G!kq#C-io`+(SZ2ab&kPtJ\W;lhsJcG6> -rW)iqJ,~> -k5YD\p&>!lr;Z]qrr;osqZ$Kor;Z`rr;Z`rr;Z]qp&G!kq>^3is8V3]WW2bom/Qt`VZ6VqJcG6> -rW)iqJ,~> -k5YD\p&>!lr;Z]qrr;osqZ$Kor;Z`rr;Z`rr;Z]qp&G!kq>^3is8V3]WW2bom/Qt`VZ6VqJcG6> -rW)iqJ,~> -k5YD\p&>!lr;Z]qrr;osqZ$Kor;Z`rr;Z`rr;Z]qp&G!kq>^3is8V3]WW2bom/Qt`VZ6VqJcG6> -rW)iqJ,~> -k5YD\p&>!lqu?Wqrr;osqZ$Kor;Z`rr;Z`rr;Z]qp&G!kqu>^WTE"Wcmf34cV#UDoJcG6>rW)iq -J,~> -k5YD\p&>!lqu?Wqrr;osqZ$Kor;Z`rr;Z`rr;Z]qp&G!kqu>^WTE"Wcmf34cV#UDoJcG6>rW)iq -J,~> -k5YD\p&>!lqu?Wqrr;osqZ$Kor;Z`rr;Z`rr;Z]qp&G!kqu>^WTE"Wcmf34cV#UDoJcG6>rW)iq -J,~> -k5YD\p&>!lqu?Wqrr;osqZ$KorVufrrVufrr;Z]qp&G!krVu3aQN-parr;iqnGiIfUAt2mJcG6> -rW)iqJ,~> -k5YD\p&>!lqu?Wqrr;osqZ$KorVufrrVufrr;Z]qp&G!krVu3aQN-parr;iqnGiIfUAt2mJcG6> -rW)iqJ,~> -k5YD\p&>!lqu?Wqrr;osqZ$KorVufrrVufrr;Z]qp&G!krVu3aQN-parr;iqnGiIfUAt2mJcG6> -rW)iqJ,~> -k5YD\p&G$lr;ZcsrVufrq>^9k!<;rss8W#tr;Z]qp&G!krr;NhO8o4[qu?Tpnc/RgU&TZDl2^_] -J,~> -k5YD\p&G$lr;ZcsrVufrq>^9k!<;rss8W#tr;Z]qp&G!krr;NhO8o4[qu?Tpnc/RgU&TZDl2^_] -J,~> -k5YD\p&G$lr;ZcsrVufrq>^9k!<;rss8W#tr;Z]qp&G!krr;NhO8o4[qu?Tpnc/RgU&TZDl2^_] -J,~> -k5YD\p&Fgfrr;coqZ$Hns8W&urr;fps8VrrpAb*lr;ZBhOT5=\qZ$Koo)JXgU&TZDl2^_]J,~> -k5YD\p&Fgfrr;coqZ$Hns8W&urr;fps8VrrpAb*lr;ZBhOT5=\qZ$Koo)JXgU&TZDl2^_]J,~> -k5YD\p&Fgfrr;coqZ$Hns8W&urr;fps8VrrpAb*lr;ZBhOT5=\qZ$Koo)JXgU&TZDl2^_]J,~> -k5YD\p&>'ns8W&um/R%brr2ruirAuXq>^0hOT,:\q#C -k5YD\p&>'ns8W&um/R%brr2ruirAuXq>^0hOT,:\q#C -k5YD\p&>'ns8W&um/R%brr2ruirAuXq>^0hOT,:\q#C -k5YD\[/^+*p]($hOT,:\q#C -k5YD\[/^+*p]($hOT,:\q#C -k5YD\[/^+*p]($hOT,:\q#C -k5YD\[/^+*o`+ghLB%5Qo`+jis8W&uJcGZJrW)$ZqZ*r%J,~> -k5YD\[/^+*o`+ghLB%5Qo`+jis8W&uJcGZJrW)$ZqZ*r%J,~> -k5YD\[/^+*o`+ghLB%5Qo`+jis8W&uJcGZJrW)$ZqZ*r%J,~> -k5YD\[/^+*o)J[hLB%5Qp&F[bJcG`LrW)*\q#I`#J,~> -k5YD\[/^+*o)J[hLB%5Qp&F[bJcG`LrW)*\q#I`#J,~> -k5YD\[/^+*o)J[hLB%5Qp&F[bJcG`LrW)*\q#I`#J,~> -k5YD\[/^+*JcGECrW)TjoDjIB!<<#uk5Y2VZN#F~> -k5YD\[/^+*JcGECrW)TjoDjIB!<<#uk5Y2VZN#F~> -k5YD\[/^+*JcGECrW)TjoDjIB!<<#uk5Y2VZN#F~> -k5YD\[/^+*JcGECrW)Tjr;c`pr;_EKrW)0^p&MDuJ,~> -k5YD\[/^+*JcGECrW)Tjr;c`pr;_EKrW)0^p&MDuJ,~> -k5YD\[/^+*JcGECrW)Tjr;c`pr;_EKrW)0^p&MDuJ,~> -k5YD\[/^+*JcGHDrW)Qir;c`pr;_HLrW)0^o`2;tJ,~> -k5YD\[/^+*JcGHDrW)Qir;c`pr;_HLrW)0^o`2;tJ,~> -k5YD\[/^+*JcGHDrW)Qir;c`pr;_HLrW)0^o`2;tJ,~> -k5YD\[/^+*JcGHDrrDWir;c]or;_KMrW)3_oDl2sJ,~> -k5YD\[/^+*JcGHDrrDWir;c]or;_KMrW)3_oDl2sJ,~> -k5YD\[/^+*JcGHDrrDWir;c]or;_KMrW)3_oDl2sJ,~> -k5YD\[/^+*JcGKErrDThr;c]or;_NNrW)*\p&MDuJ,~> -k5YD\[/^+*JcGKErrDThr;c]or;_NNrW)*\p&MDuJ,~> -k5YD\[/^+*JcGKErrDThr;c]or;_NNrW)*\p&MDuJ,~> -k5YD\[/^+*JcGNFrrDQgr;c]or;_QOrW)!Yp].W"J,~> -k5YD\[/^+*JcGNFrrDQgr;c]or;_QOrW)!Yp].W"J,~> -k5YD\[/^+*JcGNFrrDQgr;c]or;_QOrW)!Yp].W"J,~> -k5YD\[/^+*JcGQGrrDNfr;c]or;_QOrW)!Yp].W"J,~> -k5YD\[/^+*JcGQGrrDNfr;c]or;_QOrW)!Yp].W"J,~> -k5YD\[/^+*JcGQGrrDNfr;c]or;_QOrW)!Yp].W"J,~> -k5YD\[/^+*JcGQG!!)Her;c]or;_TPrW(sXrVuruquF&&J,~> -k5YD\[/^+*JcGQG!!)Her;c]or;_TPrW(sXrVuruquF&&J,~> -k5YD\[/^+*JcGQG!!)Her;c]or;_TPrW(sXrVuruquF&&J,~> -k5YD\[/^+*JcGTH!!)fo!!)`mrW)fprW%ZPrW)!YrW)rtr;a/'J,~> -k5YD\[/^+*JcGTH!!)fo!!)`mrW)fprW%ZPrW)!YrW)rtr;a/'J,~> -k5YD\[/^+*JcGTH!!)fo!!)`mrW)fprW%ZPrW)!YrW)rtr;a/'J,~> -k5YD\[/^+*JcGWI!!)forrE#trrDusr;c`prW%]QrW)!Yr;ccqrrBA)J,~> -k5YD\[/^+*JcGWI!!)forrE#trrDusr;c`prW%]QrW)!Yr;ccqrrBA)J,~> -k5YD\[/^+*JcGWI!!)forrE#trrDusr;c`prW%]QrW)!Yr;ccqrrBA)J,~> -k5VRaJcGZJo`4sjr;ccqrW)iqrr@cQrW)!YrW&tuJ,~> -k5VRaJcGZJo`4sjr;ccqrW)iqrr@cQrW)!YrW&tuJ,~> -k5VRaJcGZJo`4sjr;ccqrW)iqrr@cQrW)!YrW&tuJ,~> -k5VRaJcG]KoDnjiquHZprW)osrr@cQrW)!YrW&qtJ,~> -k5VRaJcG]KoDnjiquHZprW)osrr@cQrW)!YrW&qtJ,~> -k5VRaJcG]KoDnjiquHZprW)osrr@cQrW)!YrW&qtJ,~> -k5VRaJcG`Lo)SahquHWoq>c6LrW(sXrW&qtJ,~> -k5VRaJcG`Lo)SahquHWoq>c6LrW(sXrW&qtJ,~> -k5VRaJcG`Lo)SahquHWoq>c6LrW(sXrW&qtJ,~> -aoD&7irArWJcFd1r;cZnrW%TNrW)!YrW&nsJ,~> -aoD&7irArWJcFd1r;cZnrW%TNrW)!YrW&nsJ,~> -aoD&7irArWJcFd1r;cZnrW%TNrW)!YrW&nsJ,~> -aT(l4jT#/YJcFa0rr@WMq>^EoirAuXW;hA~> -aT(l4jT#/YJcFa0rr@WMq>^EoirAuXW;hA~> -aT(l4jT#/YJcFa0rr@WMq>^EoirAuXW;hA~> -aT(l4j8]#WJcFj3rr@WMq#C -aT(l4j8]#WJcFj3rr@WMq#C -aT(l4j8]#WJcFj3rr@WMq#C -aT(o5iW&fUJcFp5rr@WMq#C -aT(o5iW&fUJcFp5rr@WMq#C -aT(o5iW&fUJcFp5rr@WMq#C -a8bl6hZ*NSJcFs6!!%TMp](3mj8])YVZ2/~> -a8bl6hZ*NSJcFs6!!%TMp](3mj8])YVZ2/~> -a8bl6hZ*NSJcFs6!!%TMp](3mj8])YVZ2/~> -a8bo7h#Il&~> -a8bo7h#Il&~> -a8bo7h#Il&~> -`rGf6h#I9PJcC<$irAuXirAuXV>l&~> -`rGf6h#I9PJcC<$irAuXirAuXV>l&~> -`rGf6h#I9PJcC<$irAuXirAuXV>l&~> -`rGc5h#I9PJcC<$j8])Yj8])YV#Pr~> -`rGc5h#I9PJcC<$j8])Yj8])YV#Pr~> -`rGc5h#I9PJcC<$j8])Yj8])YV#Pr~> -`W,i9!<;utg].3PJcC<$jo>;[irAuXV#Pr~> -`W,i9!<;utg].3PJcC<$jo>;[irAuXV#Pr~> -`W,i9!<;utg].3PJcC<$jo>;[irAuXV#Pr~> -`W,l:rr;osg].3PJcC<$k5YD\j8])YU]5i~> -`W,l:rr;osg].3PJcC<$k5YD\j8])YU]5i~> -`W,l:rr;osg].3PJcC<$k5YD\j8])YU]5i~> -`W,o;r;Z]qg].0OJcC<$l2U__j8]&XU]5i~> -`W,o;r;Z]qg].0OJcC<$l2U__j8]&XU]5i~> -`W,o;r;Z]qg].0OJcC<$l2U__j8]&XU]5i~> -`;]f;qZ$Hng].3PJcC<$lMph`j8])YUAo`~> -`;]f;qZ$Hng].3PJcC<$lMph`j8])YUAo`~> -`;]f;qZ$Hng].3PJcC<$lMph`j8])YUAo`~> -])V^/g].3PJcC<$m/R%bj8])YU&TW~> -])V^/g].3PJcC<$m/R%bj8])YU&TW~> -])V^/g].3PJcC<$m/R%bj8])YU&TW~> -\c;U.g].3PJcC<$mf37dirAuXU&TW~> -\c;U.g].3PJcC<$mf37dirAuXU&TW~> -\c;U.g].3PJcC<$mf37dirAuXU&TW~> -\GuL-g].0OJcC<$nGiIfj8])YT`9N~> -\GuL-g].0OJcC<$nGiIfj8])YT`9N~> -\GuL-g].0OJcC<$nGiIfj8])YT`9N~> -\,Z@+g].3PJcC<$o)J[hirAuXT`9N~> -\,Z@+g].3PJcC<$o)J[hirAuXT`9N~> -\,Z@+g].3PJcC<$o)J[hirAuXT`9N~> -[K$1*g].3PJcC<$oDedij8])YTDsE~> -[K$1*g].3PJcC<$oDedij8])YTDsE~> -[K$1*g].3PJcC<$oDedij8])YTDsE~> -[/^()g].3PJcC<$p&G!kj8]&XTDsE~> -[/^()g].3PJcC<$p&G!kj8]&XTDsE~> -[/^()g].3PJcC<$p&G!kj8]&XTDsE~> -ZiBt(g].0OJcC<$p](3mj8])YT)X<~> -ZiBt(g].0OJcC<$p](3mj8])YT)X<~> -ZiBt(g].0OJcC<$p](3mj8])YT)X<~> -ZN'k'gAh*OJcC<$q>^Eoj8])YSc=3~> -ZN'k'gAh*OJcC<$q>^Eoj8])YSc=3~> -ZN'k'gAh*OJcC<$q>^Eoj8])YSc=3~> -Z2a_%g].3PJcC<$qu?WqirAuXSc=3~> -Z2a_%g].3PJcC<$qu?WqirAuXSc=3~> -Z2a_%g].3PJcC<$qu?WqirAuXSc=3~> -YQ+P$g].3PJcC<$r;Z`rj8])YSH"*~> -YQ+P$g].3PJcC<$r;Z`rj8])YSH"*~> -YQ+P$g].3PJcC<$r;Z`rj8])YSH"*~> -Y5eG#g].0OJcC<$s8W&uirAuXSH"*~> -Y5eG#g].0OJcC<$s8W&uirAuXSH"*~> -Y5eG#g].0OJcC<$s8W&uirAuXSH"*~> -XoJ>"gAh*OJcC<$!<<#uj8])YS,\!~> -XoJ>"gAh*OJcC<$!<<#uj8])YS,\!~> -XoJ>"gAh*OJcC<$!<<#uj8])YS,\!~> -XT/5!gAh*OJcC?%rW)!Yr;`>eJ,~> -XT/5!gAh*OJcC?%rW)!Yr;`>eJ,~> -XT/5!gAh*OJcC?%rW)!Yr;`>eJ,~> -X8i(tg].0OJcCE'rW)!YrW&DeJ,~> -X8i(tg].0OJcCE'rW)!YrW&DeJ,~> -X8i(tg].0OJcCE'rW)!YrW&DeJ,~> -WW2nsg].0OJcCK)rW)!YrW&AdJ,~> -WW2nsg].0OJcCK)rW)!YrW&AdJ,~> -WW2nsg].0OJcCK)rW)!YrW&AdJ,~> -W;lergAh*OJcCQ+rW(sXrW&AdJ,~> -W;lergAh*OJcCQ+rW(sXrW&AdJ,~> -W;lergAh*OJcCQ+rW(sXrW&AdJ,~> -VuQ\qgAh*OJcCT,rW)!YrW&>cJ,~> -VuQ\qgAh*OJcCT,rW)!YrW&>cJ,~> -VuQ\qgAh*OJcCT,rW)!YrW&>cJ,~> -VZ6SpgAh'NJcC]/rW(sXrW&>cJ,~> -VZ6SpgAh'NJcC]/rW(sXrW&>cJ,~> -VZ6SpgAh'NJcC]/rW(sXrW&>cJ,~> -V>pGng].0OJcC`0rW)!YrW&;bJ,~> -V>pGng].0OJcC`0rW)!YrW&;bJ,~> -V>pGng].0OJcC`0rW)!YrW&;bJ,~> -U]:8mgAh*OJcCf2rW)!Yr;`2aJ,~> -U]:8mgAh*OJcCf2rW)!Yr;`2aJ,~> -U]:8mgAh*OJcCf2rW)!Yr;`2aJ,~> -UAt/lgAh*OJcCi3rW)!YrW&8aJ,~> -UAt/lgAh*OJcCi3rW)!YrW&8aJ,~> -UAt/lgAh*OJcCi3rW)!YrW&8aJ,~> -U&Y&kgAh'NJcCr6rW)!YrW&5`J,~> -U&Y&kgAh'NJcCr6rW)!YrW&5`J,~> -U&Y&kgAh'NJcCr6rW)!YrW&5`J,~> -T`=oigAh*OJcD#8rW(sXrW&5`J,~> -T`=oigAh*OJcD#8rW(sXrW&5`J,~> -T`=oigAh*OJcD#8rW(sXrW&5`J,~> -TE"fhgAh*OJcD&9rW)!YrW&2_J,~> -TE"fhgAh*OJcD&9rW)!YrW&2_J,~> -TE"fhgAh*OJcD&9rW)!YrW&2_J,~> -ScAWggAh*OJcD,;rW(sXrW&2_J,~> -ScAWggAh*OJcD,;rW(sXrW&2_J,~> -ScAWggAh*OJcD,;rW(sXrW&2_J,~> -SH&NfgAh'NJcD2=rW)!YrW&/^J,~> -SH&NfgAh'NJcD2=rW)!YrW&/^J,~> -SH&NfgAh'NJcD2=rW)!YrW&/^J,~> -S,`Eeg&M!NJcD8?rW)!Yr;`&]J,~> -S,`Eeg&M!NJcD8?rW)!Yr;`&]J,~> -S,`Eeg&M!NJcD8?rW)!Yr;`&]J,~> -RfE9cgAh*OJcD;@rW)!YrW&,]J,~> -RfE9cgAh*OJcD;@rW)!YrW&,]J,~> -RfE9cgAh*OJcD;@rW)!YrW&,]J,~> -R/d*bgAh*OJcDABrW)!YrW&)\J,~> -R/d*bgAh*OJcDABrW)!YrW&)\J,~> -R/d*bgAh*OJcDABrW)!YrW&)\J,~> -QiI!agAh'NJcDJErW(sXrW&)\J,~> -QiI!agAh'NJcDJErW(sXrW&)\J,~> -QiI!agAh'NJcDJErW(sXrW&)\J,~> -QN-m`g&M!NdJs.FJcF@%rW)!YrW&&[J,~> -QN-m`g&M!NdJs.FJcF@%rW)!YrW&&[J,~> -QN-m`g&M!NdJs.FJcF@%rW)!YrW&&[J,~> -Q2gd_g&M!NeGo=EJcFI(rW(sXrW&&[J,~> -Q2gd_g&M!NeGo=EJcFI(rW(sXrW&&[J,~> -Q2gd_g&M!NeGo=EJcFI(rW(sXrW&&[J,~> -PlLX]gAh'NfDkRFJcFL)rW)!YrW&#ZJ,~> -PlLX]gAh'NfDkRFJcFL)rW)!YrW&#ZJ,~> -PlLX]gAh'NfDkRFJcFL)rW)!YrW&#ZJ,~> -P5kI\gAh'Ng&M'Pr;Z]qJcFO*rW)!Yr;_oYJ,~> -P5kI\gAh'Ng&M'Pr;Z]qJcFO*rW)!Yr;_oYJ,~> -P5kI\gAh'Ng&M'Pr;Z]qJcFO*rW)!Yr;_oYJ,~> -OoP@[g&M!NgA_-QqZ$KoJcFR+rW)!YrW%uYJ,~> -OoP@[g&M!NgA_-QqZ$KoJcFR+rW)!YrW%uYJ,~> -OoP@[g&M!NgA_-QqZ$KoJcFR+rW)!YrW%uYJ,~> -OT57Zg&M!Nh#IBSqZ$KoJcFU,rW)!YrW%rXJ,~> -OT57Zg&M!Nh#IBSqZ$KoJcFU,rW)!YrW%rXJ,~> -OT57Zg&M!Nh#IBSqZ$KoJcFU,rW)!YrW%rXJ,~> -O8o.Yg&LsMec5UKJcFU,rW(sXrW%rXJ,~> -O8o.Yg&LsMec5UKJcFU,rW(sXrW%rXJ,~> -O8o.Yg&LsMec5UKJcFU,rW(sXrW%rXJ,~> -NrT"WgAh'Nf)P^LJcFU,rW)!YrW%oWJ,~> -NrT"WgAh'Nf)P^LJcFU,rW)!YrW%oWJ,~> -NrT"WgAh'Nf)P^LJcFU,rW)!YrW%oWJ,~> -N;rhVg&M!NfDkjNJcFU,rW(sXrW%oWJ,~> -N;rhVg&M!NfDkjNJcFU,rW(sXrW%oWJ,~> -N;rhVg&M!NfDkjNJcFU,rW(sXrW%oWJ,~> -MuW_Ug&M!Ng&M'PL&^cFk5YD\j8])YMuS;~> -MuW_Ug&M!Ng&M'PL&^cFk5YD\j8])YMuS;~> -MuW_Ug&M!Ng&M'PL&^cFk5YD\j8])YMuS;~> -MZdBQLB$lGkPtM]j8]&XMuS;~> -MZdBQLB$lGkPtM]j8]&XMuS;~> -MZdBQLB$lGkPtM]j8]&XMuS;~> -M?!MSf`1mMi;`TQM#[&HkPtM]j8])YMZ82~> -M?!MSf`1mMi;`TQM#[&HkPtM]j8])YMZ82~> -M?!MSf`1mMi;`TQM#[&HkPtM]j8])YMZ82~> -M#[AQg&M!NhZ*HQM?!SUq#C?okPtM]j8])YM>r)~> -M#[AQg&M!NhZ*HQM?!SUq#C?okPtM]j8])YM>r)~> -M#[AQg&M!NhZ*HQM?!SUq#C?okPtM]j8])YM>r)~> -LB%2Pg&M!Nh>dERMZ<\Vq#Cr)~> -LB%2Pg&M!Nh>dERMZ<\Vq#Cr)~> -LB%2Pg&M!Nh>dERMZ<\Vq#Cr)~> -L&_)Og&LsMhZ*NSJc>`MrW)0^rW)!YrW%cSJ,~> -L&_)Og&LsMhZ*NSJc>`MrW)0^rW)!YrW%cSJ,~> -L&_)Og&LsMhZ*NSJc>`MrW)0^rW)!YrW%cSJ,~> -K`CuNf`1mMhuEWTJc>fO!!)6_rW(sXrW%cSJ,~> -K`CuNf`1mMhuEWTJc>fO!!)6_rW(sXrW%cSJ,~> -K`CuNf`1mMhuEWTJc>fO!!)6_rW(sXrW%cSJ,~> -KE(iLg&M!NhuEZUJcG]Lkl:V^j8])YqZ$KoP5g%~> -KE(iLg&M!NhuEZUJcG]Lkl:V^j8])YqZ$KoP5g%~> -KE(iLg&M!NhuEZUJcG]Lkl:V^j8])YqZ$KoP5g%~> -K)b`Kg&M!Ni;`fWJc>`MrW)3_rW)!Yr;ccqq#HZZJ,~> -K)b`Kg&M!Ni;`fWJc>`MrW)3_rW)!Yr;ccqq#HZZJ,~> -K)b`Kg&M!Ni;`fWJc>`MrW)3_rW)!Yr;ccqq#HZZJ,~> -Jc>`Mr;bONquGdWrW%NL!ri6#kl:V^j8])Yr;Z`rrVuisQ2c@~> -Jc>`Mr;bONquGdWrW%NL!ri6#kl:V^j8])Yr;Z`rrVuisQ2c@~> -Jc>`Mr;bONquGdWrW%NL!ri6#kl:V^j8])Yr;Z`rrVuisQ2c@~> -JcGcMr;bLMr;bpYrr@WM!<<#ul2U__j8])Yr;Z`rqu?WqQN)I~> -JcGcMr;bLMr;bpYrr@WM!<<#ul2U__j8])Yr;Z`rqu?WqQN)I~> -JcGcMr;bLMr;bpYrr@WM!<<#ul2U__j8])Yr;Z`rqu?WqQN)I~> -JcG`Lr;bLMr;c9crrDoqrr@WM!<<#ulMph`irAuXr;Z`rqu?WqQN)I~> -JcG`Lr;bLMr;c9crrDoqrr@WM!<<#ulMph`irAuXr;Z`rqu?WqQN)I~> -JcG`Lr;bLMr;c9crrDoqrr@WM!<<#ulMph`irAuXr;Z`rqu?WqQN)I~> -JcG]KquGFMr;c?equH`rrW%NLs8W*!l2U__j8])Yqu?Wqqu?WqQN)I~> -JcG]KquGFMr;c?equH`rrW%NLs8W*!l2U__j8])Yqu?Wqqu?WqQN)I~> -JcG]KquGFMr;c?equH`rrW%NLs8W*!l2U__j8])Yqu?Wqqu?WqQN)I~> -JcGWIr;bONquH9eq#H!Grr;rtlMph`irAuXqu?Wqqu?WqQN)I~> -JcGWIr;bONquH9eq#H!Grr;rtlMph`irAuXqu?Wqqu?WqQN)I~> -JcGWIr;bONquH9eq#H!Grr;rtlMph`irAuXqu?Wqqu?WqQN)I~> -JcGTHr;bLMr;c?erW%NLqu?WqlMph`j8])YqZ$Kor;Z`rQN)I~> -JcGTHr;bLMr;c?erW%NLqu?WqlMph`j8])YqZ$Kor;Z`rQN)I~> -JcGTHr;bLMr;c?erW%NLqu?WqlMph`j8])YqZ$Kor;Z`rQN)I~> -JcGQGr;bLMr;_EKkl:Y_lMph`j8]&XqZ$Hnrr;rtQ2c@~> -JcGQGr;bLMr;_EKkl:Y_lMph`j8]&XqZ$Hnrr;rtQ2c@~> -JcGQGr;bLMr;_EKkl:Y_lMph`j8]&XqZ$Hnrr;rtQ2c@~> -JcGNFr;bLMquD -JcGNFr;bLMquD -JcGNFr;bLMquD -JcGKEquGFMquD -JcGKEquGFMquD -JcGKEquGFMquD -JcGECr;bLMr;_EKmJm1dli6qairAuXp&FmhPQ-.~> -JcGECr;bLMr;_EKmJm1dli6qairAuXp&FmhPQ-.~> -JcGECr;bLMr;_EKmJm1dli6qairAuXp&FmhPQ-.~> -JcGBBr;bLMr;_EKn,N@eli6qaj8])Yo`+afPlH7~> -JcGBBr;bLMr;_EKn,N@eli6qaj8])Yo`+afPlH7~> -JcGBBr;bLMr;_EKn,N@eli6qaj8])Yo`+afPlH7~> -JcG?Ar;bLMquD -JcG?Ar;bLMquD -JcG?Ar;bLMquD -JcG<@r;bLMquD -JcG<@r;bLMquD -JcG<@r;bLMquD -JcG9?quGCLr;_EKoDegjm/R%bj8]&XpAb*lr;ZZpQiDR~> -JcG9?quGCLr;_EKoDegjm/R%bj8]&XpAb*lr;ZZpQiDR~> -JcG9?quGCLr;_EKoDegjm/R%bj8]&XpAb*lr;ZZpQiDR~> -JcG3=r;bLMr;_EKh>dHSj8])Yp&G!kqu?TpQiDR~> -JcG3=r;bLMr;_EKh>dHSj8])Yp&G!kqu?TpQiDR~> -JcG3=r;bLMr;_EKh>dHSj8])Yp&G!kqu?TpQiDR~> -NW/tYj8]&Xf`1jLJcF[.rW)!YrW)Wkr;c]orW&;bJ,~> -NW/tYj8]&Xf`1jLJcF[.rW)!YrW)Wkr;c]orW&;bJ,~> -NW/tYj8]&Xf`1jLJcF[.rW)!YrW)Wkr;c]orW&;bJ,~> -NrT(Yj8]&XfDkdLJcFa0rW(sXrW)Wkr;c]orW&;bJ,~> -NrT(Yj8]&XfDkdLJcFa0rW(sXrW)Wkr;c]orW&;bJ,~> -NrT(Yj8]&XfDkdLJcFa0rW(sXrW)Wkr;c]orW&;bJ,~> -O8o.YirArWfDkdLJcFd1rW)!YrW)QirW)fprW&;bJ,~> -O8o.YirArWfDkdLJcFd1rW)!YrW)QirW)fprW&;bJ,~> -O8o.YirArWfDkdLJcFd1rW)!YrW)QirW)fprW&;bJ,~> -OT54YiW&fUf`1mMJcFj3rW(sXrW)QirW)fprrAAbJ,~> -OT54YiW&fUf`1mMJcFj3rW(sXrW)QirW)fprrAAbJ,~> -OT54YiW&fUf`1mMJcFj3rW(sXrW)QirW)fprrAAbJ,~> -OT54YhuEWTf`1jLJcFp5rW)!YrW)KgrW)lrrrA>aJ,~> -OT54YhuEWTf`1jLJcFp5rW)!YrW)KgrW)lrrrA>aJ,~> -OT54YhuEWTf`1jLJcFp5rW)!YrW)KgrW)lrrrA>aJ,~> -OoP:YhZ*NSfDkdLJcG!7rW)!Yr;c?eq#HZZJ,~> -OoP:YhZ*NSfDkdLJcG!7rW)!Yr;c?eq#HZZJ,~> -OoP:YhZ*NSfDkdLJcG!7rW)!Yr;c?eq#HZZJ,~> -P5kO^!<;uth>dERfDkdLJcG$8rW)!YrW)?cr;`#\J,~> -P5kO^!<;uth>dERfDkdLJcG$8rW)!YrW)?cr;`#\J,~> -P5kO^!<;uth>dERfDkdLJcG$8rW)!YrW)?cr;`#\J,~> -P5kO^!<;uth#I9Pf`1mMJcG*:rW)!YrW%NLq>Ys~> -P5kO^!<;uth#I9Pf`1mMJcG*:rW)!YrW%NLq>Ys~> -P5kO^!<;uth#I9Pf`1mMJcG*:rW)!YrW%NLq>Ys~> -PQ1X_s8W#tg].0Of`1jLJcG3=rW(sXrW%NLq>Ys~> -PQ1X_s8W#tg].0Of`1jLJcG3=rW(sXrW%NLq>Ys~> -PQ1X_s8W#tg].0Of`1jLJcG3=rW(sXrW%NLq>Ys~> -PlLa`rr;osg&M!NfDkdLJcG6>rW)!YrW%NLq#>j~> -PlLa`rr;osg&M!NfDkdLJcG6>rW)!YrW%NLq#>j~> -PlLa`rr;osg&M!NfDkdLJcG6>rW)!YrW%NLq#>j~> -Q2gjarVufrf`1mMfDkdLJcG<@rW(sXrW%NLq#>j~> -Q2gjarVufrf`1mMfDkdLJcG<@rW(sXrW%NLq#>j~> -Q2gjarVufrf`1mMfDkdLJcG<@rW(sXrW%NLq#>j~> -Q2gjarVufrfDkdLfDkdLJcG?ArW)!YrW%NLp]#a~> -Q2gjarVufrfDkdLfDkdLJcG?ArW)!YrW%NLp]#a~> -Q2gjarVufrfDkdLfDkdLJcG?ArW)!YrW%NLp]#a~> -QN-sbr;Z]qf)PXJf`1jLJcGHDrW)!Yr;_EKp]#a~> -QN-sbr;Z]qf)PXJf`1jLJcGHDrW)!Yr;_EKp]#a~> -QN-sbr;Z]qf)PXJf`1jLJcGHDrW)!Yr;_EKp]#a~> -QiI'cqu?TpeGoIIfDkdLJcGKErW)!YrW%NLpA]X~> -QiI'cqu?TpeGoIIfDkdLJcGKErW)!YrW%NLpA]X~> -QiI'cqu?TpeGoIIfDkdLJcGKErW)!YrW%NLpA]X~> -QiI'cqu?Tpe,T@HfDkdLJcGQGrW)!YrW%NLp&BO~> -QiI'cqu?Tpe,T@HfDkdLJcGQGrW)!YrW%NLp&BO~> -QiI'cqu?Tpe,T@HfDkdLJcGQGrW)!YrW%NLp&BO~> -R/c[Vec5RJfDkaKJcGZJrW(sXrW%NLp&BO~> -R/c[Vec5RJfDkaKJcGZJrW(sXrW%NLp&BO~> -R/c[Vec5RJfDkaKJcGZJrW(sXrW%NLp&BO~> -R/c[VeGoIIfDkaKJcG]KrW)!YrW%NLo`'F~> -R/c[VeGoIIfDkaKJcG]KrW)!YrW%NLo`'F~> -R/c[VeGoIIfDkaKJcG]KrW)!YrW%NLo`'F~> -R/c[Ve,T=GfDkdLJcGcMrW(sXrW%NLo`'F~> -R/c[Ve,T=GfDkdLJcGcMrW(sXrW%NLo`'F~> -R/c[Ve,T=GfDkdLJcGcMrW(sXrW%NLo`'F~> -O8o.YcN!hCfDkdLJc>`MrW)!YrW%NLoDa=~> -O8o.YcN!hCfDkdLJc>`MrW)!YrW%NLoDa=~> -O8o.YcN!hCfDkdLJc>`MrW)!YrW%NLoDa=~> -O8o.Yc2[_BfDkaKKE(oNj8]&XJcG?AJ,~> -O8o.Yc2[_BfDkaKKE(oNj8]&XJcG?AJ,~> -O8o.Yc2[_BfDkaKKE(oNj8]&XJcG?AJ,~> -O8o.Ybl@VAf)P[KK`D#Oj8])YJcG<@J,~> -O8o.Ybl@VAf)P[KK`D#Oj8])YJcG<@J,~> -O8o.Ybl@VAf)P[KK`D#Oj8])YJcG<@J,~> -O8o.YbQ%M@f)P[KLB%5Qj8])YJcG9?J,~> -O8o.YbQ%M@f)P[KLB%5Qj8])YJcG9?J,~> -O8o.YbQ%M@f)P[KLB%5Qj8])YJcG9?J,~> -O8o.Yb5_A>fDkdLM#[GSirAuXJcG9?J,~> -O8o.Yb5_A>fDkdLM#[GSirAuXJcG9?J,~> -O8o.Yb5_A>fDkdLM#[GSirAuXJcG9?J,~> -JcF0ur;bILquDWSrW)!YrW%NLnGe"~> -JcF0ur;bILquDWSrW)!YrW%NLnGe"~> -JcF0ur;bILquDWSrW)!YrW%NLnGe"~> -JcF-tr;bFKr;_fVrW(sXrW%NLnGe"~> -JcF-tr;bFKr;_fVrW(sXrW%NLnGe"~> -JcF-tr;bFKr;_fVrW(sXrW%NLnGe"~> -JcF*sr;bFKr;_iWrW)!YrW%NLn,In~> -JcF*sr;bFKr;_iWrW)!YrW%NLn,In~> -JcF*sr;bFKr;_iWrW)!YrW%NLn,In~> -JcF'rr;bFKr;_oYrW)!Yr;_EKn,In~> -JcF'rr;bFKr;_oYrW)!Yr;_EKn,In~> -JcF'rr;bFKr;_oYrW)!Yr;_EKn,In~> -JcF$qquG@KquDlZrW)!YrW%NLmf.e~> -JcF$qquG@KquDlZrW)!YrW%NLmf.e~> -JcF$qquG@KquDlZrW)!YrW%NLmf.e~> -JcEsor;bFKr;`&]rW)!YrW%NLmJh\~> -JcEsor;bFKr;`&]rW)!YrW%NLmJh\~> -JcEsor;bFKr;`&]rW)!YrW%NLmJh\~> -JcEpnr;bFKr;`,_rW(sXrW%NLmJh\~> -JcEpnr;bFKr;`,_rW(sXrW%NLmJh\~> -JcEpnr;bFKr;`,_rW(sXrW%NLmJh\~> -JcEmmr;bFKr;`/`rW)!YrW%NLm/MS~> -JcEmmr;bFKr;`/`rW)!YrW%NLm/MS~> -JcEmmr;bFKr;`/`rW)!YrW%NLm/MS~> -JcEjlquG@KquE/brW(sXrW%NLm/MS~> -JcEjlquG@KquE/brW(sXrW%NLm/MS~> -JcEjlquG@KquE/brW(sXrW%NLm/MS~> -JcEdjr;bFKr;`;drW)!YrW%NLli2J~> -JcEdjr;bFKr;`;drW)!YrW%NLli2J~> -JcEdjr;bFKr;`;drW)!YrW%NLli2J~> -JcEair;bFKr;`AfrW)!Yr;_EKli2J~> -JcEair;bFKr;`AfrW)!Yr;_EKli2J~> -JcEair;bFKr;`AfrW)!Yr;_EKli2J~> -JcE^hr;bFKquE>grW)!YrW%NLlMlA~> -JcE^hr;bFKquE>grW)!YrW%NLlMlA~> -JcE^hr;bFKquE>grW)!YrW%NLlMlA~> -JcE[gr;bFKquEDirW)!YrW%NLl2Q8~> -JcE[gr;bFKquEDirW)!YrW%NLl2Q8~> -JcE[gr;bFKquEDirW)!YrW%NLl2Q8~> -JcEXfquG=Jr;`SlrW(sXrW%NLl2Q8~> -JcEXfquG=Jr;`SlrW(sXrW%NLl2Q8~> -JcEXfquG=Jr;`SlrW(sXrW%NLl2Q8~> -JcERdr;bFKr;`VmrW)!YrW%NLkl6/~> -JcERdr;bFKr;`VmrW)!YrW%NLkl6/~> -JcERdr;bFKr;`VmrW)!YrW%NLkl6/~> -JcEOcr;bFKquEVorW(sXrW%NLkl6/~> -JcEOcr;bFKquEVorW(sXrW%NLkl6/~> -JcEOcr;bFKquEVorW(sXrW%NLkl6/~> -JcELbr;bFKquEYprW)!YrW%NLkPp&~> -JcELbr;bFKquEYprW)!YrW%NLkPp&~> -JcELbr;bFKquEYprW)!YrW%NLkPp&~> -JcEIar;bCJr;`hsrW)!Yr;_EKkPp&~> -JcEIar;bCJr;`hsrW)!Yr;_EKkPp&~> -JcEIar;bCJr;`hsrW)!Yr;_EKkPp&~> -JcEF`quG=Jr;`ktrW)!YrW%NLk5Tr~> -JcEF`quG=Jr;`ktrW)!YrW%NLk5Tr~> -JcEF`quG=Jr;`ktrW)!YrW%NLk5Tr~> -JcE@^r;bFKquEl!rW)!YrW%NLjo9i~> -JcE@^r;bFKquEl!rW)!YrW%NLjo9i~> -JcE@^r;bFKquEl!rW)!YrW%NLjo9i~> -JcE=]r;bCJr;a&$rW(sXrW%NLjo9i~> -JcE=]r;bCJr;a&$rW(sXrW%NLjo9i~> -JcE=]r;bCJr;a&$rW(sXrW%NLjo9i~> -JcE:\r;bCJr;a)%rW)!YrW%NLjSs`~> -JcE:\r;bCJr;a)%rW)!YrW%NLjSs`~> -JcE:\r;bCJr;a)%rW)!YrW%NLjSs`~> -JcE7[r;bCJr;a/'rW(sXrW%NLjSs`~> -JcE7[r;bCJr;a/'rW(sXrW%NLjSs`~> -JcE7[r;bCJr;a/'rW(sXrW%NLjSs`~> -JcE4ZquG=JquF,(rW)!YrW%NLj8XW~> -JcE4ZquG=JquF,(rW)!YrW%NLj8XW~> -JcE4ZquG=JquF,(rW)!YrW%NLj8XW~> -JcE.Xr;bCJr;a;+rW)!Yr;_EKj8XW~> -JcE.Xr;bCJr;a;+rW)!Yr;_EKj8XW~> -JcE.Xr;bCJr;a;+rW)!Yr;_EKj8XW~> -JcE+Wr;bCJr;a>,rW)!YrW%NLir=N~> -JcE+Wr;bCJr;a>,rW)!YrW%NLir=N~> -JcE+Wr;bCJr;a>,rW)!YrW%NLir=N~> -JcE(Vr;bCJr;aD.rW)!YrW%NLiW"E~> -JcE(Vr;bCJr;aD.rW)!YrW%NLiW"E~> -JcE(Vr;bCJr;aD.rW)!YrW%NLiW"E~> -JcE%UquG=JquFD0rW(sXrW%NLiW"E~> -JcE%UquG=JquFD0rW(sXrW%NLiW"E~> -JcE%UquG=JquFD0rW(sXrW%NLiW"E~> -JcE"TquG:Ir;aP2rW)!YrW%NLi;\<~> -JcE"TquG:Ir;aP2rW)!YrW%NLi;\<~> -JcE"TquG:Ir;aP2rW)!YrW%NLi;\<~> -JcDqRr;bCJr;aV4rW(sXrW%NLi;\<~> -JcDqRr;bCJr;aV4rW(sXrW%NLi;\<~> -JcDqRr;bCJr;aV4rW(sXrW%NLi;\<~> -JcDnQr;bCJr;aY5rW)!YrW%NLhuA3~> -JcDnQr;bCJr;aY5rW)!YrW%NLhuA3~> -JcDnQr;bCJr;aY5rW)!YrW%NLhuA3~> -JcDkPr;bCJquFY7rW)!Yr;_EKhuA3~> -JcDkPr;bCJquFY7rW)!Yr;_EKhuA3~> -JcDkPr;bCJquFY7rW)!Yr;_EKhuA3~> -JcDhOquG:Ir;ae9rW)!YrW%NLhZ&*~> -JcDhOquG:Ir;ae9rW)!YrW%NLhZ&*~> -JcDhOquG:Ir;ae9rW)!YrW%NLhZ&*~> -JcDbMr;bCJr;ak;rW)!YrW%NLh>`!~> -JcDbMr;bCJr;ak;rW)!YrW%NLh>`!~> -JcDbMr;bCJr;ak;rW)!YrW%NLh>`!~> -JcD_Lr;bCJquFk=rW(sXrW%NLh>`!~> -JcD_Lr;bCJquFk=rW(sXrW%NLh>`!~> -JcD_Lr;bCJquFk=rW(sXrW%NLh>`!~> -JcD\Kr;bCJquFn>rW)!YrW%NLh#Dm~> -JcD\Kr;bCJquFn>rW)!YrW%NLh#Dm~> -JcD\Kr;bCJquFn>rW)!YrW%NLh#Dm~> -JcDYJr;b@Ir;b(ArW(sXrW%NLh#Dm~> -JcDYJr;b@Ir;b(ArW(sXrW%NLh#Dm~> -JcDYJr;b@Ir;b(ArW(sXrW%NLh#Dm~> -JcDVIquG:Ir;b+BrW)!YrW%NLg])d~> -JcDVIquG:Ir;b+BrW)!YrW%NLg])d~> -JcDVIquG:Ir;b+BrW)!YrW%NLg])d~> -JcDPGr;bCJquG+DrW)!Yr;_EKg])d~> -JcDPGr;bCJquG+DrW)!Yr;_EKg])d~> -JcDPGr;bCJquG+DrW)!Yr;_EKg])d~> -JcDMFr;bCJquG.ErW)!YrW%NLgAc[~> -JcDMFr;bCJquG.ErW)!YrW%NLgAc[~> -JcDMFr;bCJquG.ErW)!YrW%NLgAc[~> -JcDJEr;b@Ir;b=HrW)!YrW%NLg&HR~> -JcDJEr;b@Ir;b=HrW)!YrW%NLg&HR~> -JcDJEr;b@Ir;b=HrW)!YrW%NLg&HR~> -JcDGDr;b@Ir;bCJrW(sXrW%NLg&HR~> -JcDGDr;b@Ir;bCJrW(sXrW%NLg&HR~> -JcDGDr;b@Ir;bCJrW(sXrW%NLg&HR~> -JcDDCquG:IquG@KrW)!YrW%NLf`-I~> -JcDDCquG:IquG@KrW)!YrW%NLf`-I~> -JcDDCquG:IquG@KrW)!YrW%NLf`-I~> -JcD>Ar;b@Ir;baT!!)rsrW(sXrW%NLf`-I~> -JcD>Ar;b@Ir;baT!!)rsrW(sXrW%NLf`-I~> -JcD>Ar;b@Ir;baT!!)rsrW(sXrW%NLf`-I~> -JcD;@r;b@Ir;bdUrW)rtrW)!YrW%NLfDg@~> -JcD;@r;b@Ir;bdUrW)rtrW)!YrW%NLfDg@~> -JcD;@r;b@Ir;bdUrW)rtrW)!YrW%NLfDg@~> -JcD8?r;b@Ir;cZn!!) -JcD8?r;b@Ir;cZn!!) -JcD8?r;b@Ir;cZn!!) -JcD5>r;b@IquHZprW)9aq#KITrW%NLf)L7~> -JcD5>r;b@IquHZprW)9aq#KITrW%NLf)L7~> -JcD5>r;b@IquHZprW)9aq#KITrW%NLf)L7~> -JcD2=quG7Hr;cisr;c0`q#KLUrW%NLec1.~> -JcD2=quG7Hr;cisr;c0`q#KLUrW%NLec1.~> -JcD2=quG7Hr;cisr;c0`q#KLUrW%NLec1.~> -JcD,;r;b@Ir;ZitqZ-!_pAj@UrW%NLec1.~> -JcD,;r;b@Ir;ZitqZ-!_pAj@UrW%NLec1.~> -JcD,;r;b@Ir;ZitqZ-!_pAj@UrW%NLec1.~> -JcD):r;b@IpAjR[o`47VrW%NLeGk%~> -JcD):r;b@IpAjR[o`47VrW%NLeGk%~> -JcD):r;b@IpAjR[o`47VrW%NLeGk%~> -JcD&9r;b@Ip]0[\o`47VrW%NLeGk%~> -JcD&9r;b@Ip]0[\o`47VrW%NLeGk%~> -JcD&9r;b@Ip]0[\o`47VrW%NLeGk%~> -JcD#8quG:Ip]0^]p&O@WrW%NLe,Op~> -JcD#8quG:Ip]0^]p&O@WrW%NLe,Op~> -JcD#8quG:Ip]0^]p&O@WrW%NLe,Op~> -JcCu7quG@KpAjU\p]0OXr;_EKe,Op~> -JcCu7quG@KpAjU\p]0OXr;_EKe,Op~> -JcCu7quG@KpAjU\p]0OXr;_EKe,Op~> -JcCo5r;bONo`4I\p]0LWrW%NLdf4g~> -JcCo5r;bONo`4I\p]0LWrW%NLdf4g~> -JcCo5r;bONo`4I\p]0LWrW%NLdf4g~> -JcCl4r;bROo`4I\q>f[XrW%NLdJn^~> -JcCl4r;bROo`4I\q>f[XrW%NLdJn^~> -JcCl4r;bROo`4I\q>f[XrW%NLdJn^~> -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>ArW)NhrrCLIrW)KgrrD'YrrD0\rW%NLmf.e~> -JcD>ArW)NhrrCLIrW)KgrrD'YrrD0\rW%NLmf.e~> -JcD>ArW)NhrrCLIrW)KgrrD'YrrD0\rW%NLmf.e~> -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW(OLrrB_3rrD*ZrW%NLmf.e~> -JcD>ArW(OLrrB_3rrD*ZrW%NLmf.e~> -JcD>ArW(OLrrB_3rrD*ZrW%NLmf.e~> -JcD>ArW(XOquFM3quGdWrW%NLmf.e~> -JcD>ArW(XOquFM3quGdWrW%NLmf.e~> -JcD>ArW(XOquFM3quGdWrW%NLmf.e~> -JcD>ArW([PqZ+D2quGdWrW%NLmf.e~> -JcD>ArW([PqZ+D2quGdWrW%NLmf.e~> -JcD>ArW([PqZ+D2quGdWrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(RMrW'Y3rW)!YrW%NLmf.e~> -JcD>ArW(sXrW)corW)0^"9AK%!!)`mrrDoq!!)]lrW)uurW)!YrW%NLmf.e~> -JcD>ArW(sXrW)corW)0^"9AK%!!)`mrrDoq!!)]lrW)uurW)!YrW%NLmf.e~> -JcD>ArW(sXrW)corW)0^"9AK%!!)`mrrDoq!!)]lrW)uurW)!YrW%NLmf.e~> -JcD>ArW)$Zq#L?mrW)osqZ-WqquH]qr;Zitr;cltr;ZitqZ-WqqZ-HlpAj7RrW%NLmf.e~> -JcD>ArW)$Zq#L?mrW)osqZ-WqquH]qr;Zitr;cltr;ZitqZ-WqqZ-HlpAj7RrW%NLmf.e~> -JcD>ArW)$Zq#L?mrW)osqZ-WqquH]qr;Zitr;cltr;ZitqZ-WqqZ-HlpAj7RrW%NLmf.e~> -JcD>ArW)'[rrE#trW)lrrW)iqr;ccqrW)uukPtV_q#L -JcD>ArW)'[rrE#trW)lrrW)iqr;ccqrW)uukPtV_q#L -JcD>ArW)'[rrE#trW)lrrW)iqr;ccqrW)uukPtV_q#L -JcD>ArW)'[rrDusrrDusrW)iqr;ccqrW)osqu?`srW)uuquH]qquH]qr;cfrrW)iqrW)!YrW%NL -mf.e~> -JcD>ArW)'[rrDusrrDusrW)iqr;ccqrW)osqu?`srW)uuquH]qquH]qr;cfrrW)iqrW)!YrW%NL -mf.e~> -JcD>ArW)'[rrDusrrDusrW)iqr;ccqrW)osqu?`srW)uuquH]qquH]qr;cfrrW)iqrW)!YrW%NL -mf.e~> -JcD>ArW)*\rW)lrrrDusrW)iqr;ccqrW)osr;cZnrW)lrr;ccqr;cfrrW)iqrW)!YrW%NLmf.e~> -JcD>ArW)*\rW)lrrrDusrW)iqr;ccqrW)osr;cZnrW)lrr;ccqr;cfrrW)iqrW)!YrW%NLmf.e~> -JcD>ArW)*\rW)lrrrDusrW)iqr;ccqrW)osr;cZnrW)lrr;ccqr;cfrrW)iqrW)!YrW%NLmf.e~> -JcD>ArW)*\r;cQkrW)iqr;ccqrW)osr;cZnrW)lrr;ccqr;cisrW)fprW)!YrW%NLmf.e~> -JcD>ArW)*\r;cQkrW)iqr;ccqrW)osr;cZnrW)lrr;ccqr;cisrW)fprW)!YrW%NLmf.e~> -JcD>ArW)*\r;cQkrW)iqr;ccqrW)osr;cZnrW)lrr;ccqr;cisrW)fprW)!YrW%NLmf.e~> -JcD>ArW)'[quHNlrW)iqr;ccqrW)osr;cZnrW)lrr;c`prW)rtrW)fprW)!YrW%NLmf.e~> -JcD>ArW)'[quHNlrW)iqr;ccqrW)osr;cZnrW)lrr;c`prW)rtrW)fprW)!YrW%NLmf.e~> -JcD>ArW)'[quHNlrW)iqr;ccqrW)osr;cZnrW)lrr;c`prW)rtrW)fprW)!YrW%NLmf.e~> -JcD>ArW)$ZqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)!YrW%NLmf.e~> -JcD>ArW)$ZqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)!YrW%NLmf.e~> -JcD>ArW)$ZqZ-KmrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)!YrW%NLmf.e~> -JcD>ArW)!YqZ-NnrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)!YrW%NLmf.e~> -JcD>ArW)!YqZ-NnrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)!YrW%NLmf.e~> -JcD>ArW)!YqZ-NnrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)!YrW%NLmf.e~> -JcD>ArW(sXqZ-QorW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)!YrW%NLmf.e~> -JcD>ArW(sXqZ-QorW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)!YrW%NLmf.e~> -JcD>ArW(sXqZ-QorW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)uur;c]orW)!YrW%NLmf.e~> -JcD>ArW)'[!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)!YrW%NLmf.e~> -JcD>ArW)'[!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)!YrW%NLmf.e~> -JcD>ArW)'[!!)utquH]qrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtrW)fprW)!YrW%NLmf.e~> -JcD>ArW)'[!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)!YrW%NLmf.e~> -JcD>ArW)'[!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)!YrW%NLmf.e~> -JcD>ArW)'[!!)rsr;cfrrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)!YrW%NLmf.e~> -JcD>ArW)'[!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)!YrW%NLmf.e~> -JcD>ArW)'[!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)!YrW%NLmf.e~> -JcD>ArW)'[!!)orrW)osrW)iqr;ccqrW)osr;cZnrW)iqrW)iqrW)rtr;c`prW)!YrW%NLmf.e~> -JcD>ArW)'[!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;bpYrW%NLmf.e~> -JcD>ArW)'[!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;bpYrW%NLmf.e~> -JcD>ArW)'[!!)orrW)osrW)iqr;cfrr;cfrr;cZnrW)lrr;ccqr;cfrr;ccqr;bpYrW%NLmf.e~> -JcD>ArW)'[rrDusrrDusr;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDn"QrW%NLmf.e~> -JcD>ArW)'[rrDusrrDusr;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDn"QrW%NLmf.e~> -JcD>ArW)'[rrDusrrDusr;c`pq>^NqquHcsr;c]or;ccqr;ccqr;ccqoDn"QrW%NLmf.e~> -JcD>ArW)'[q#LBnq>gEmquHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;bpYrW%NLmf.e~> -JcD>ArW)'[q#LBnq>gEmquHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;bpYrW%NLmf.e~> -JcD>ArW)'[q#LBnq>gEmquHcsrW)uuq#LBnq>gQqq>gQqq>gKoqZ$Wrr;bpYrW%NLmf.e~> -JcD>ArW)'[!W`9#rW)?crW)rt!!(IIrrE&u!!)!XrW%NLmf.e~> -JcD>ArW)'[!W`9#rW)?crW)rt!!(IIrrE&u!!)!XrW%NLmf.e~> -JcD>ArW)'[!W`9#rW)?crW)rt!!(IIrrE&u!!)!XrW%NLmf.e~> -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>ArW%NLn,N@eJcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcD>AJH4p7JcG0 -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -JcC<$JcC<$oDa=~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/executable_names/doc/figures/ll.dat b/executable_names/doc/figures/ll.dat deleted file mode 100644 index ae5b96dd4b..0000000000 --- a/executable_names/doc/figures/ll.dat +++ /dev/null @@ -1,6 +0,0 @@ -# LoadLeveler, times for /bin/hostname 2 tasks per node -1 8.57 -2 8.79 -3 9.07 -4 9.1 -5 9.77 diff --git a/executable_names/doc/figures/queued-job-init.dia b/executable_names/doc/figures/queued-job-init.dia deleted file mode 100644 index e3f830c62d..0000000000 --- a/executable_names/doc/figures/queued-job-init.dia +++ /dev/null @@ -1,4 +0,0 @@ - -#A4##srun##slurmctld##slurmd##slurmd##batch req##batch reply##run req##job_mgr##session_mgr##srun##run reply##job step req##job step reply##cmd##release step reply##release step##task exit msg##run epilog req##run epilog reply##script##User##submit -exit status##job -queued##srun batch##prolog##epilog# diff --git a/executable_names/doc/figures/queued-job-init.eps b/executable_names/doc/figures/queued-job-init.eps deleted file mode 100644 index 2e4a4d8b7d..0000000000 --- a/executable_names/doc/figures/queued-job-init.eps +++ /dev/null @@ -1,1027 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ../figures/queued-job-init.dia -%%Creator: Dia v0.88.1 -%%CreationDate: Thu Apr 3 14:26:19 2003 -%%For: grondo -%%Magnification: 1.0000 -%%Orientation: Portrait -%%BoundingBox: 0 0 729 483 -%%Pages: 1 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /A /B /C /D /E -/F /G /H /I /J /K /L /M /N /O -/P /Q /R /S /T /U /V /W /X /Y -/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c -/d /e /f /g /h /i /j /k /l /m -/n /o /p /q /r /s /t /u /v /w -/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/Times-Roman-latin1 - /Times-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Italic-latin1 - /Times-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Bold-latin1 - /Times-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-BoldItalic-latin1 - /Times-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Book-latin1 - /AvantGarde-Book findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-BookOblique-latin1 - /AvantGarde-BookOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Demi-latin1 - /AvantGarde-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-DemiOblique-latin1 - /AvantGarde-DemiOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Light-latin1 - /Bookman-Light findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-LightItalic-latin1 - /Bookman-LightItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Demi-latin1 - /Bookman-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-DemiItalic-latin1 - /Bookman-DemiItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-latin1 - /Courier findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Oblique-latin1 - /Courier-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Bold-latin1 - /Courier-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-BoldOblique-latin1 - /Courier-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-latin1 - /Helvetica findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Oblique-latin1 - /Helvetica-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Bold-latin1 - /Helvetica-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-BoldOblique-latin1 - /Helvetica-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-latin1 - /Helvetica-Narrow findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Oblique-latin1 - /Helvetica-Narrow-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Bold-latin1 - /Helvetica-Narrow-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-BoldOblique-latin1 - /Helvetica-Narrow-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Roman-latin1 - /NewCenturySchoolbook-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Italic-latin1 - /NewCenturySchoolbook-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Bold-latin1 - /NewCenturySchoolbook-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-BoldItalic-latin1 - /NewCenturySchoolbook-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Roman-latin1 - /Palatino-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Italic-latin1 - /Palatino-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Bold-latin1 - /Palatino-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-BoldItalic-latin1 - /Palatino-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Symbol-latin1 - /Symbol findfont -definefont pop -/ZapfChancery-MediumItalic-latin1 - /ZapfChancery-MediumItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/ZapfDingbats-latin1 - /ZapfDingbats findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def /savematrix mtrx currentmatrix def - x y tr xrad yrad sc - 0 0 1 startangle endangle arc - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -28.346000 -28.346000 scale --0.526200 -17.040323 translate -%%EndProlog - - -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0.701961 0.701961 0.701961 srgb -n 10.500000 4.750000 m 10.500000 16.500000 l s -0.100000 slw -[0.200000] 0 sd -[0.100000] 0 sd -0 slc -0.000000 0.000000 0.000000 srgb -n 17.250000 6.125000 m 17.250000 14.000000 l s -0.100000 slw -[0.100000] 0 sd -[0.100000] 0 sd -0 slc -n 18.750000 8.125000 m 18.750000 12.500000 l s -0.100000 slw -[0.100000] 0 sd -[0.100000] 0 sd -0 slc -n 18.000000 7.125000 m 18.000000 13.000000 l s -0.847059 0.847059 0.847059 srgb -n 20.000000 9.375000 m 20.000000 12.000000 l 23.750000 12.000000 l 23.750000 9.375000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -n 20.000000 9.375000 m 20.000000 12.000000 l 23.750000 12.000000 l 23.750000 9.375000 l cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -0.003922 0.003922 0.003922 srgb -n 2.000000 1.750000 m 1.412500 1.000000 l 1.125000 1.237500 l 1.887500 2.212500 l 1.475000 3.675000 l 1.937500 3.675000 l 2.187500 2.725000 l 2.425000 3.675000 l 2.850000 3.675000 l 2.525000 2.425000 l 3.162500 2.800000 l 3.337500 2.475000 l 2.462500 1.925000 l 2.425000 1.737500 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 2.225000 1.484686 0.338980 0.338980 121.081372 58.918628 ellipse s -/Courier-Bold-latin1 ff 0.600000 scf sf -0.000000 0.000000 0.000000 srgb -(srun) dup sw 2 div 6.500000 ex sub 1.000000 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.600000 scf sf -(slurmctld) dup sw 2 div 10.500000 ex sub 1.000000 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.600000 scf sf -(slurmd) dup sw 2 div 16.500000 ex sub 1.000000 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.600000 scf sf -(slurmd) dup sw 2 div 22.500000 ex sub 1.000000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 6.250000 2.000000 m 6.250000 4.500000 l 6.750000 4.500000 l 6.750000 2.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 6.250000 2.000000 m 6.250000 4.500000 l 6.750000 4.500000 l 6.750000 2.000000 l cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.250000 4.500000 m 3.500000 4.500000 l s -0.100000 slw -[] 0 sd -0 slj -0 slc -n 4.100000 4.300000 m 3.500000 4.500000 l 4.100000 4.700000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 3.000000 2.000000 m 6.250000 2.000000 l s -0.100000 slw -[] 0 sd -0 slj -0 slc -n 5.650000 2.200000 m 6.250000 2.000000 l 5.650000 1.800000 l s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 6.750000 2.000000 m 10.250000 2.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 9.850000 2.200000 m 10.250000 2.000000 l 9.850000 1.800000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 9.850000 2.200000 m 10.250000 2.000000 l 9.850000 1.800000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 10.250000 3.000000 m 6.750000 3.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 7.150000 2.800000 m 6.750000 3.000000 l 7.150000 3.200000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 7.150000 2.800000 m 6.750000 3.000000 l 7.150000 3.200000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(batch req) dup sw 2 div 8.500000 ex sub 1.875000 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.600000 scf sf -(batch reply) dup sw 2 div 8.500000 ex sub 2.875000 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0.701961 0.701961 0.701961 srgb -n 10.500000 1.500000 m 10.500000 3.875000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 16.500000 1.500000 m 16.500000 16.500000 l s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -0.000000 0.000000 0.000000 srgb -n 10.750000 5.500000 m 16.250000 5.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 15.850000 5.700000 m 16.250000 5.500000 l 15.850000 5.300000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 15.850000 5.700000 m 16.250000 5.500000 l 15.850000 5.300000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run req) dup sw 2 div 13.500000 ex sub 5.375000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 16.250000 5.500000 m 16.250000 6.500000 l 16.750000 6.500000 l 16.750000 5.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 16.250000 5.500000 m 16.250000 6.500000 l 16.750000 6.500000 l 16.750000 5.500000 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -(job_mgr) 17.250000 6.000000 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.500000 scf sf -(session_mgr) 18.000000 7.000000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 17.000000 6.500000 m 17.000000 7.500000 l 17.500000 7.500000 l 17.500000 6.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 17.000000 6.500000 m 17.000000 7.500000 l 17.500000 7.500000 l 17.500000 6.500000 l cp s -0.537255 0.537255 0.749020 srgb -n 17.750000 7.500000 m 17.750000 8.500000 l 18.250000 8.500000 l 18.250000 7.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 17.750000 7.500000 m 17.750000 8.500000 l 18.250000 8.500000 l 18.250000 7.500000 l cp s -0.537255 0.537255 0.749020 srgb -n 17.000000 14.000000 m 17.000000 14.500000 l 17.500000 14.500000 l 17.500000 14.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 17.000000 14.000000 m 17.000000 14.500000 l 17.500000 14.500000 l 17.500000 14.000000 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -(srun) 19.750000 8.500000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 19.500000 9.000000 m 19.500000 12.500000 l 20.000000 12.500000 l 20.000000 9.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 19.500000 9.000000 m 19.500000 12.500000 l 20.000000 12.500000 l 20.000000 9.000000 l cp s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -0.701961 0.701961 0.701961 srgb -n 22.500000 1.500000 m 22.500000 16.500000 l s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -0.000000 0.000000 0.000000 srgb -n 16.250000 6.500000 m 10.750000 6.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 11.150000 6.300000 m 10.750000 6.500000 l 11.150000 6.700000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 11.150000 6.300000 m 10.750000 6.500000 l 11.150000 6.700000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run reply) dup sw 2 div 13.500000 ex sub 6.375000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 20.000000 9.625000 m 22.250000 9.625000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 21.850000 9.825000 m 22.250000 9.625000 l 21.850000 9.425000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 21.850000 9.825000 m 22.250000 9.625000 l 21.850000 9.425000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 22.250000 10.000000 m 20.000000 10.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 20.400000 9.800000 m 20.000000 10.000000 l 20.400000 10.200000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 20.400000 9.800000 m 20.000000 10.000000 l 20.400000 10.200000 l cp s -0.537255 0.537255 0.749020 srgb -n 22.250000 9.625000 m 22.250000 9.999998 l 22.750000 9.999998 l 22.750000 9.625000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 22.250000 9.625000 m 22.250000 9.999998 l 22.750000 9.999998 l 22.750000 9.625000 l cp s -0.537255 0.537255 0.749020 srgb -n 23.250000 10.500000 m 23.250000 11.500000 l 23.750000 11.500000 l 23.750000 10.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 23.250000 10.500000 m 23.250000 11.500000 l 23.750000 11.500000 l 23.750000 10.500000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 23.250000 10.750000 m 20.000000 10.750000 l s -0.080000 slw -[] 0 sd -0 slj -0 slc -n 23.250000 10.750000 m 23.250000 10.810000 23.190000 10.870000 23.130000 10.870000 c 23.070000 10.870000 23.010000 10.810000 23.010000 10.750000 c 23.010000 10.690000 23.070000 10.630000 23.130000 10.630000 c 23.190000 10.630000 23.250000 10.690000 23.250000 10.750000 c f -n 23.150000 10.550000 m 23.150000 10.950000 l s -0 slj -n 20.400000 10.550000 m 20.000000 10.750000 l 20.400000 10.950000 l f -0.537255 0.537255 0.749020 srgb -n 17.750000 13.000000 m 17.750000 14.000000 l 18.250000 14.000000 l 18.250000 13.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 17.750000 13.000000 m 17.750000 14.000000 l 18.250000 14.000000 l 18.250000 13.000000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 19.500000 9.000000 m 10.750000 9.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 11.150000 8.800000 m 10.750000 9.000000 l 11.150000 9.200000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 11.150000 8.800000 m 10.750000 9.000000 l 11.150000 9.200000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 10.750000 9.500000 m 19.500000 9.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 19.100000 9.700000 m 19.500000 9.500000 l 19.100000 9.300000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 19.100000 9.700000 m 19.500000 9.500000 l 19.100000 9.300000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(job step req) dup sw 2 div 14.000000 ex sub 8.875000 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.600000 scf sf -(job step reply) dup sw 2 div 14.000000 ex sub 10.000000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 23.250000 11.500000 m 20.000000 11.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 20.400000 11.300000 m 20.000000 11.500000 l 20.400000 11.700000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 20.400000 11.300000 m 20.000000 11.500000 l 20.400000 11.700000 l cp s -0.537255 0.537255 0.749020 srgb -n 10.250000 9.000000 m 10.250000 9.500000 l 10.750000 9.500000 l 10.750000 9.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.250000 9.000000 m 10.250000 9.500000 l 10.750000 9.500000 l 10.750000 9.000000 l cp s -0.537255 0.537255 0.749020 srgb -n 22.750000 10.000000 m 22.750000 10.500000 l 23.250000 10.500000 l 23.250000 10.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 22.750000 10.000000 m 22.750000 10.500000 l 23.250000 10.500000 l 23.250000 10.000000 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -(cmd) 24.000000 11.000000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 22.750000 11.500000 m 22.750000 11.999998 l 23.250000 11.999998 l 23.250000 11.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 22.750000 11.500000 m 22.750000 11.999998 l 23.250000 11.999998 l 23.250000 11.500000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 19.500000 12.000000 m 10.800000 12.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 11.200000 11.800000 m 10.800000 12.000000 l 11.200000 12.200000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 11.200000 11.800000 m 10.800000 12.000000 l 11.200000 12.200000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 10.800000 12.375000 m 19.500000 12.375000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 19.100000 12.575000 m 19.500000 12.375000 l 19.100000 12.175000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 19.100000 12.575000 m 19.500000 12.375000 l 19.100000 12.175000 l cp s -0.537255 0.537255 0.749020 srgb -n 10.250000 12.000000 m 10.250000 12.375002 l 10.800000 12.375002 l 10.800000 12.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.250000 12.000000 m 10.250000 12.375002 l 10.800000 12.375002 l 10.800000 12.000000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(release step reply) dup sw 2 div 14.000000 ex sub 12.875000 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.600000 scf sf -(release step) dup sw 2 div 14.000000 ex sub 11.875000 m gs 1 -1 sc sh gr -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 17.750000 13.500000 m 10.750000 13.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 11.150000 13.300000 m 10.750000 13.500000 l 11.150000 13.700000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 11.150000 13.300000 m 10.750000 13.500000 l 11.150000 13.700000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(task exit msg) dup sw 2 div 14.250000 ex sub 14.000000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.733333 srgb -n 10.250000 13.500000 m 10.250000 16.500000 l 10.750000 16.500000 l 10.750000 13.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.250000 13.500000 m 10.250000 16.500000 l 10.750000 16.500000 l 10.750000 13.500000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 10.750000 15.000000 m 22.250000 15.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 21.850000 15.200000 m 22.250000 15.000000 l 21.850000 14.800000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 21.850000 15.200000 m 22.250000 15.000000 l 21.850000 14.800000 l cp s -0.537255 0.537255 0.749020 srgb -n 22.250000 15.000000 m 22.250000 16.000000 l 22.750000 16.000000 l 22.750000 15.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 22.250000 15.000000 m 22.250000 16.000000 l 22.750000 16.000000 l 22.750000 15.000000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(run epilog req) dup sw 2 div 13.500000 ex sub 14.875000 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.600000 scf sf -(run epilog reply) dup sw 2 div 13.500000 ex sub 17.000000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.749020 srgb -n 16.250000 15.500000 m 16.250000 16.500000 l 16.750000 16.500000 l 16.750000 15.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 16.250000 15.500000 m 16.250000 16.500000 l 16.750000 16.500000 l 16.750000 15.500000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 10.750000 15.500000 m 16.250000 15.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 15.850000 15.700000 m 16.250000 15.500000 l 15.850000 15.300000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 15.850000 15.700000 m 16.250000 15.500000 l 15.850000 15.300000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 16.250000 16.500000 m 10.750000 16.500000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 11.150000 16.300000 m 10.750000 16.500000 l 11.150000 16.700000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 11.150000 16.300000 m 10.750000 16.500000 l 11.150000 16.700000 l cp s -0.080000 slw -[] 0 sd -[] 0 sd -0 slc -n 22.250000 16.000000 m 10.750000 16.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 11.150000 15.800000 m 10.750000 16.000000 l 11.150000 16.200000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 11.150000 15.800000 m 10.750000 16.000000 l 11.150000 16.200000 l cp s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 0.500000 m 5.000000 16.500000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 0.500000 m 4.500000 1.000000 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 1.173910 m 4.500000 1.673910 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 1.847830 m 4.500000 2.347830 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 2.521740 m 4.500000 3.021740 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 3.195650 m 4.500000 3.695650 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 3.869570 m 4.500000 4.369570 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 4.543480 m 4.500000 5.043480 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 5.217390 m 4.500000 5.717390 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 5.891300 m 4.500000 6.391300 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 6.565220 m 4.500000 7.065220 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 7.239130 m 4.500000 7.739130 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 7.913040 m 4.500000 8.413040 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 8.586960 m 4.500000 9.086960 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 9.260870 m 4.500000 9.760870 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 9.934780 m 4.500000 10.434800 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 10.608700 m 4.500000 11.108700 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 11.282600 m 4.500000 11.782600 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 11.956500 m 4.500000 12.456500 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 12.630400 m 4.500000 13.130400 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 13.304300 m 4.500000 13.804300 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 13.978300 m 4.500000 14.478300 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 14.652200 m 4.500000 15.152200 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 15.326100 m 4.500000 15.826100 l s -0.050000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.000000 16.000000 m 4.500000 16.500000 l s -0.537255 0.537255 0.749020 srgb -n 18.500000 8.500000 m 18.500000 9.000000 l 19.000000 9.000000 l 19.000000 8.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 18.500000 8.500000 m 18.500000 9.000000 l 19.000000 9.000000 l 19.000000 8.500000 l cp s -0.537255 0.537255 0.749020 srgb -n 18.500000 12.500000 m 18.500000 13.000000 l 19.000000 13.000000 l 19.000000 12.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 18.500000 12.500000 m 18.500000 13.000000 l 19.000000 13.000000 l 19.000000 12.500000 l cp s -/Courier-Bold-latin1 ff 0.500000 scf sf -(script) 18.750000 8.000000 m gs 1 -1 sc sh gr -0.100000 slw -[0.200000] 0 sd -[0.100000] 0 sd -0 slc -n 19.750000 8.500000 m 19.750000 9.000000 l s -/Helvetica-latin1 ff 0.650000 scf sf -(User) dup sw 2 div 1.750000 ex sub 0.625000 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.600000 scf sf -(submit) dup sw 2 div 2.250000 ex sub 4.375000 m gs 1 -1 sc sh gr -(exit status) dup sw 2 div 2.250000 ex sub 4.975000 m gs 1 -1 sc sh gr -0.537255 0.537255 0.733333 srgb -n 10.250000 2.000000 m 10.250000 3.125000 l 10.750000 3.125000 l 10.750000 2.000000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.250000 2.000000 m 10.250000 3.125000 l 10.750000 3.125000 l 10.750000 2.000000 l cp s -0.537255 0.537255 0.733333 srgb -n 10.250000 5.500000 m 10.250000 6.625000 l 10.750000 6.625000 l 10.750000 5.500000 l f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.250000 5.500000 m 10.250000 6.625000 l 10.750000 6.625000 l 10.750000 5.500000 l cp s -/Helvetica-latin1 ff 0.500000 scf sf -(job) 11.000000 3.250000 m gs 1 -1 sc sh gr -(queued) 11.000000 3.750000 m gs 1 -1 sc sh gr -0.100000 slw -[0.200000] 0 sd -[0.100000] 0 sd -0 slj -0 slc -n 10.500000 3.125000 m 10.500000 4.000000 l 11.000000 4.000000 l 10.000000 4.625000 l 10.500000 4.625000 l 10.500000 5.500000 l s -/Helvetica-Bold-latin1 ff 0.500000 scf sf -(srun batch) dup sw 2 div 4.250000 ex sub 1.875000 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.500000 scf sf -(prolog) 23.850000 9.883330 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.500000 scf sf -(epilog) 23.750000 15.125000 m gs 1 -1 sc sh gr -0.080000 slw -[0.100000] 0 sd -[0.200000] 0 sd -0 slc -n 22.750000 15.000000 m 23.750000 15.000000 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 23.350000 15.200000 m 23.750000 15.000000 l 23.350000 14.800000 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 23.350000 15.200000 m 23.750000 15.000000 l 23.350000 14.800000 l cp s -0.080000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 22.750000 9.812500 m 23.622400 9.799450 l s -0 slj -1.000000 1.000000 1.000000 srgb -n 23.225436 10.005410 m 23.622400 9.799450 l 23.219453 9.605455 l f -0.080000 slw -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 23.225436 10.005410 m 23.622400 9.799450 l 23.219453 9.605455 l cp s -showpage diff --git a/executable_names/doc/figures/rms.dat b/executable_names/doc/figures/rms.dat deleted file mode 100644 index e8b1a06232..0000000000 --- a/executable_names/doc/figures/rms.dat +++ /dev/null @@ -1,12 +0,0 @@ -# RMS, times for /bin/hostname 2 tasks per node -1 0.077 -2 0.082 -3 0.091 -4 0.116 -5 0.17 -6 0.294 -7 0.304 -8 0.548 -9 1.34 -10 2.84 -11 4.619 diff --git a/executable_names/doc/figures/slurm-arch.dia b/executable_names/doc/figures/slurm-arch.dia deleted file mode 100644 index 9edf9558ef..0000000000 --- a/executable_names/doc/figures/slurm-arch.dia +++ /dev/null @@ -1,8 +0,0 @@ - -#Letter##Partition Manager##Node Manager##slurmctld##srun##User:##slurmd##Machine -Status##Job -Control##Remote -Execution##Globus and/or -Metascheduler -(optional)##Stream Copy##Job Manager##Job -Status# diff --git a/executable_names/doc/figures/slurm-arch.eps b/executable_names/doc/figures/slurm-arch.eps deleted file mode 100644 index 21644d7b7e..0000000000 --- a/executable_names/doc/figures/slurm-arch.eps +++ /dev/null @@ -1,652 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ../figures/slurm-arch.dia -%%Creator: Dia v0.88.1 -%%CreationDate: Thu Apr 3 14:26:16 2003 -%%For: grondo -%%Magnification: 1.0000 -%%Orientation: Portrait -%%BoundingBox: 0 0 595 412 -%%Pages: 1 -%%BeginSetup -%%EndSetup -%%EndComments -%%BeginProlog -[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /A /B /C /D /E -/F /G /H /I /J /K /L /M /N /O -/P /Q /R /S /T /U /V /W /X /Y -/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c -/d /e /f /g /h /i /j /k /l /m -/n /o /p /q /r /s /t /u /v /w -/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def -/Times-Roman-latin1 - /Times-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Italic-latin1 - /Times-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-Bold-latin1 - /Times-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Times-BoldItalic-latin1 - /Times-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Book-latin1 - /AvantGarde-Book findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-BookOblique-latin1 - /AvantGarde-BookOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-Demi-latin1 - /AvantGarde-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/AvantGarde-DemiOblique-latin1 - /AvantGarde-DemiOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Light-latin1 - /Bookman-Light findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-LightItalic-latin1 - /Bookman-LightItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-Demi-latin1 - /Bookman-Demi findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Bookman-DemiItalic-latin1 - /Bookman-DemiItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-latin1 - /Courier findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Oblique-latin1 - /Courier-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-Bold-latin1 - /Courier-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Courier-BoldOblique-latin1 - /Courier-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-latin1 - /Helvetica findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Oblique-latin1 - /Helvetica-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Bold-latin1 - /Helvetica-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-BoldOblique-latin1 - /Helvetica-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-latin1 - /Helvetica-Narrow findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Oblique-latin1 - /Helvetica-Narrow-Oblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-Bold-latin1 - /Helvetica-Narrow-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Helvetica-Narrow-BoldOblique-latin1 - /Helvetica-Narrow-BoldOblique findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Roman-latin1 - /NewCenturySchoolbook-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Italic-latin1 - /NewCenturySchoolbook-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-Bold-latin1 - /NewCenturySchoolbook-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/NewCenturySchoolbook-BoldItalic-latin1 - /NewCenturySchoolbook-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Roman-latin1 - /Palatino-Roman findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Italic-latin1 - /Palatino-Italic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-Bold-latin1 - /Palatino-Bold findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Palatino-BoldItalic-latin1 - /Palatino-BoldItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/Symbol-latin1 - /Symbol findfont -definefont pop -/ZapfChancery-MediumItalic-latin1 - /ZapfChancery-MediumItalic findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/ZapfDingbats-latin1 - /ZapfDingbats findfont - dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding isolatin1encoding def - currentdict end -definefont pop -/cp {closepath} bind def -/c {curveto} bind def -/f {fill} bind def -/a {arc} bind def -/ef {eofill} bind def -/ex {exch} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth pop} bind def -/tr {translate} bind def - -/ellipsedict 8 dict def -ellipsedict /mtrx matrix put -/ellipse -{ ellipsedict begin - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def /savematrix mtrx currentmatrix def - x y tr xrad yrad sc - 0 0 1 startangle endangle arc - savematrix setmatrix - end -} def - -/mergeprocs { -dup length -3 -1 roll -dup -length -dup -5 1 roll -3 -1 roll -add -array cvx -dup -3 -1 roll -0 exch -putinterval -dup -4 2 roll -putinterval -} bind def -28.346000 -28.346000 scale -1.559000 -16.000000 translate -%%EndProlog - - -0.447059 0.447059 0.686275 srgb -n -1.350000 6.000000 m -1.350000 10.000000 l 14.984400 10.000000 l 14.984400 6.000000 l f -0.000000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n -1.350000 6.000000 m -1.350000 10.000000 l 14.984400 10.000000 l 14.984400 6.000000 l cp s -1.000000 1.000000 1.000000 srgb -n 4.900000 7.200000 m 4.900000 9.200000 l 9.058000 9.200000 l 9.058000 7.200000 l f -n 4.900000 7.700000 m 4.900000 7.700000 0.500000 0.500000 180.000000 270.000000 ellipse f -n 9.058000 7.700000 m 9.058000 7.700000 0.500000 0.500000 270.000000 360.000000 ellipse f -n 4.400000 7.700000 m 4.400000 8.700000 l 9.558000 8.700000 l 9.558000 7.700000 l f -n 4.900000 8.700000 m 4.900000 8.700000 0.500000 0.500000 90.000000 180.000000 ellipse f -n 9.058000 8.700000 m 9.058000 8.700000 0.500000 0.500000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 4.900000 7.200000 m 9.058000 7.200000 l s -n 4.900000 9.200000 m 9.058000 9.200000 l s -n 4.900000 7.700000 0.500000 0.500000 180.000000 270.000000 ellipse s -n 9.058000 7.700000 0.500000 0.500000 270.000000 360.000000 ellipse s -n 4.400000 7.700000 m 4.400000 8.700000 l s -n 9.558000 7.700000 m 9.558000 8.700000 l s -n 4.900000 8.700000 0.500000 0.500000 90.000000 180.000000 ellipse s -n 9.058000 8.700000 0.500000 0.500000 0.000000 90.000000 ellipse s -/Helvetica-latin1 ff 0.500000 scf sf -(Partition Manager) dup sw 2 div 6.979000 ex sub 8.433065 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n -0.218000 7.200000 m -0.218000 9.232450 l 3.268000 9.232450 l 3.268000 7.200000 l f -n -0.218000 7.700000 m -0.218000 7.700000 0.500000 0.500000 180.000000 270.000000 ellipse f -n 3.268000 7.700000 m 3.268000 7.700000 0.500000 0.500000 270.000000 360.000000 ellipse f -n -0.718000 7.700000 m -0.718000 8.732450 l 3.768000 8.732450 l 3.768000 7.700000 l f -n -0.218000 8.732450 m -0.218000 8.732450 0.500000 0.500000 90.000000 180.000000 ellipse f -n 3.268000 8.732450 m 3.268000 8.732450 0.500000 0.500000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n -0.218000 7.200000 m 3.268000 7.200000 l s -n -0.218000 9.232450 m 3.268000 9.232450 l s -n -0.218000 7.700000 0.500000 0.500000 180.000000 270.000000 ellipse s -n 3.268000 7.700000 0.500000 0.500000 270.000000 360.000000 ellipse s -n -0.718000 7.700000 m -0.718000 8.732450 l s -n 3.768000 7.700000 m 3.768000 8.732450 l s -n -0.218000 8.732450 0.500000 0.500000 90.000000 180.000000 ellipse s -n 3.268000 8.732450 0.500000 0.500000 0.000000 90.000000 ellipse s -/Helvetica-latin1 ff 0.500000 scf sf -(Node Manager) dup sw 2 div 1.525000 ex sub 8.449290 m gs 1 -1 sc sh gr -/Courier-Bold-latin1 ff 0.600000 scf sf -(slurmctld) dup sw 2 div 0.500000 ex sub 6.700000 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 3.650000 8.216220 m 4.400000 8.200000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -0.003922 0.003922 0.003922 srgb -n 17.375000 3.500000 m 16.787500 2.750000 l 16.500000 2.987500 l 17.262500 3.962500 l 16.850000 5.425000 l 17.312500 5.425000 l 17.562500 4.475000 l 17.800000 5.425000 l 18.225000 5.425000 l 17.900000 4.175000 l 18.537500 4.550000 l 18.712500 4.225000 l 17.837500 3.675000 l 17.800000 3.487500 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 17.600000 3.234686 0.338980 0.338980 121.081372 58.918628 ellipse s -/Courier-Bold-latin1 ff 0.600000 scf sf -0.000000 0.000000 0.000000 srgb -(srun) dup sw 2 div 18.416900 ex sub 6.153730 m gs 1 -1 sc sh gr -/Helvetica-latin1 ff 0.600000 scf sf -(User:) dup sw 2 div 16.774300 ex sub 6.186360 m gs 1 -1 sc sh gr -0.647059 0.247059 0.247059 srgb -n -1.350000 12.125000 m -1.350000 16.000000 l 17.766700 16.000000 l 17.766700 12.125000 l f -0.000000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n -1.350000 12.125000 m -1.350000 16.000000 l 17.766700 16.000000 l 17.766700 12.125000 l cp s -/Courier-Bold-latin1 ff 0.600000 scf sf -(slurmd) dup sw 2 div -0.125000 ex sub 15.750000 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n -0.586750 12.850000 m -0.586750 14.800000 l 1.750000 14.800000 l 1.750000 12.850000 l f -n -0.586750 13.250000 m -0.586750 13.250000 0.400000 0.400000 180.000000 270.000000 ellipse f -n 1.750000 13.250000 m 1.750000 13.250000 0.400000 0.400000 270.000000 360.000000 ellipse f -n -0.986750 13.250000 m -0.986750 14.400000 l 2.150000 14.400000 l 2.150000 13.250000 l f -n -0.586750 14.400000 m -0.586750 14.400000 0.400000 0.400000 90.000000 180.000000 ellipse f -n 1.750000 14.400000 m 1.750000 14.400000 0.400000 0.400000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n -0.586750 12.850000 m 1.750000 12.850000 l s -n -0.586750 14.800000 m 1.750000 14.800000 l s -n -0.586750 13.250000 0.400000 0.400000 180.000000 270.000000 ellipse s -n 1.750000 13.250000 0.400000 0.400000 270.000000 360.000000 ellipse s -n -0.986750 13.250000 m -0.986750 14.400000 l s -n 2.150000 13.250000 m 2.150000 14.400000 l s -n -0.586750 14.400000 0.400000 0.400000 90.000000 180.000000 ellipse s -n 1.750000 14.400000 0.400000 0.400000 0.000000 90.000000 ellipse s -/Helvetica-latin1 ff 0.500000 scf sf -(Machine ) dup sw 2 div 0.581625 ex sub 13.808065 m gs 1 -1 sc sh gr -(Status) dup sw 2 div 0.581625 ex sub 14.308065 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n 6.500000 12.900000 m 6.500000 14.800000 l 8.750000 14.800000 l 8.750000 12.900000 l f -n 6.500000 13.300000 m 6.500000 13.300000 0.400000 0.400000 180.000000 270.000000 ellipse f -n 8.750000 13.300000 m 8.750000 13.300000 0.400000 0.400000 270.000000 360.000000 ellipse f -n 6.100000 13.300000 m 6.100000 14.400000 l 9.150000 14.400000 l 9.150000 13.300000 l f -n 6.500000 14.400000 m 6.500000 14.400000 0.400000 0.400000 90.000000 180.000000 ellipse f -n 8.750000 14.400000 m 8.750000 14.400000 0.400000 0.400000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 6.500000 12.900000 m 8.750000 12.900000 l s -n 6.500000 14.800000 m 8.750000 14.800000 l s -n 6.500000 13.300000 0.400000 0.400000 180.000000 270.000000 ellipse s -n 8.750000 13.300000 0.400000 0.400000 270.000000 360.000000 ellipse s -n 6.100000 13.300000 m 6.100000 14.400000 l s -n 9.150000 13.300000 m 9.150000 14.400000 l s -n 6.500000 14.400000 0.400000 0.400000 90.000000 180.000000 ellipse s -n 8.750000 14.400000 0.400000 0.400000 0.000000 90.000000 ellipse s -/Helvetica-latin1 ff 0.500000 scf sf -(Job) dup sw 2 div 7.625000 ex sub 13.833065 m gs 1 -1 sc sh gr -(Control) dup sw 2 div 7.625000 ex sub 14.333065 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n 10.000000 12.900000 m 10.000000 14.775000 l 12.515250 14.775000 l 12.515250 12.900000 l f -n 10.000000 13.300000 m 10.000000 13.300000 0.400000 0.400000 180.000000 270.000000 ellipse f -n 12.515250 13.300000 m 12.515250 13.300000 0.400000 0.400000 270.000000 360.000000 ellipse f -n 9.600000 13.300000 m 9.600000 14.375000 l 12.915250 14.375000 l 12.915250 13.300000 l f -n 10.000000 14.375000 m 10.000000 14.375000 0.400000 0.400000 90.000000 180.000000 ellipse f -n 12.515250 14.375000 m 12.515250 14.375000 0.400000 0.400000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.000000 12.900000 m 12.515250 12.900000 l s -n 10.000000 14.775000 m 12.515250 14.775000 l s -n 10.000000 13.300000 0.400000 0.400000 180.000000 270.000000 ellipse s -n 12.515250 13.300000 0.400000 0.400000 270.000000 360.000000 ellipse s -n 9.600000 13.300000 m 9.600000 14.375000 l s -n 12.915250 13.300000 m 12.915250 14.375000 l s -n 10.000000 14.375000 0.400000 0.400000 90.000000 180.000000 ellipse s -n 12.515250 14.375000 0.400000 0.400000 0.000000 90.000000 ellipse s -/Helvetica-latin1 ff 0.500000 scf sf -(Remote) dup sw 2 div 11.257625 ex sub 13.820565 m gs 1 -1 sc sh gr -(Execution) dup sw 2 div 11.257625 ex sub 14.320565 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 5.700000 13.850000 m 6.100000 13.850000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 9.150000 13.850000 m 9.600000 13.837500 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 4.150000 12.900000 m 4.150000 10.968500 l 11.400000 10.968500 l 11.400000 12.900000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 7.600000 11.000000 m 7.625000 12.900000 l s -0.466667 0.686275 0.466667 srgb -n 0.204380 1.500000 m 0.204380 4.500000 l 5.849780 4.500000 l 5.849780 1.500000 l f -0.000000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 0.204380 1.500000 m 0.204380 4.500000 l 5.849780 4.500000 l 5.849780 1.500000 l cp s -/Helvetica-latin1 ff 0.600000 scf sf -(Globus and/or) dup sw 2 div 3.027080 ex sub 2.659677 m gs 1 -1 sc sh gr -(Metascheduler) dup sw 2 div 3.027080 ex sub 3.259677 m gs 1 -1 sc sh gr -(\(optional\)) dup sw 2 div 3.027080 ex sub 3.859677 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 15.985400 3.007280 m 13.350000 3.000000 l 13.350000 7.200000 l s -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slj -0 slc -n 5.849780 3.000000 m 11.400000 3.000000 l 11.419100 7.200000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0 slc -n 15.400000 3.000000 m 15.400000 11.000000 l 12.100000 11.000000 l 12.086400 12.900000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 11.400000 9.200000 m 11.400000 11.000000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 9.558000 8.200000 m 10.400000 8.205050 l s -1.000000 1.000000 1.000000 srgb -n 13.900000 12.900000 m 13.900000 14.775000 l 16.971250 14.775000 l 16.971250 12.900000 l f -n 13.900000 13.400000 m 13.900000 13.400000 0.500000 0.500000 180.000000 270.000000 ellipse f -n 16.971250 13.400000 m 16.971250 13.400000 0.500000 0.500000 270.000000 360.000000 ellipse f -n 13.400000 13.400000 m 13.400000 14.275000 l 17.471250 14.275000 l 17.471250 13.400000 l f -n 13.900000 14.275000 m 13.900000 14.275000 0.500000 0.500000 90.000000 180.000000 ellipse f -n 16.971250 14.275000 m 16.971250 14.275000 0.500000 0.500000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 13.900000 12.900000 m 16.971250 12.900000 l s -n 13.900000 14.775000 m 16.971250 14.775000 l s -n 13.900000 13.400000 0.500000 0.500000 180.000000 270.000000 ellipse s -n 16.971250 13.400000 0.500000 0.500000 270.000000 360.000000 ellipse s -n 13.400000 13.400000 m 13.400000 14.275000 l s -n 17.471250 13.400000 m 17.471250 14.275000 l s -n 13.900000 14.275000 0.500000 0.500000 90.000000 180.000000 ellipse s -n 16.971250 14.275000 0.500000 0.500000 0.000000 90.000000 ellipse s -/Helvetica-latin1 ff 0.500000 scf sf -(Stream Copy) dup sw 2 div 15.435625 ex sub 14.070565 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 15.400000 10.600000 m 15.400000 12.900000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 12.915300 13.837500 m 13.400000 13.837500 l s -0.100000 slw -[0.200000] 0 sd -[0.200000] 0 sd -0 slc -n 6.979000 7.200000 m 6.900000 3.000000 l s -0.100000 slw -[] 0 sd -[] 0 sd -0 slc -n 0.563434 9.250000 m 0.581625 12.850000 l s -1.000000 1.000000 1.000000 srgb -n 10.900000 7.200000 m 10.900000 9.210110 l 13.976500 9.210110 l 13.976500 7.200000 l f -n 10.900000 7.700000 m 10.900000 7.700000 0.500000 0.500000 180.000000 270.000000 ellipse f -n 13.976500 7.700000 m 13.976500 7.700000 0.500000 0.500000 270.000000 360.000000 ellipse f -n 10.400000 7.700000 m 10.400000 8.710110 l 14.476500 8.710110 l 14.476500 7.700000 l f -n 10.900000 8.710110 m 10.900000 8.710110 0.500000 0.500000 90.000000 180.000000 ellipse f -n 13.976500 8.710110 m 13.976500 8.710110 0.500000 0.500000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 10.900000 7.200000 m 13.976500 7.200000 l s -n 10.900000 9.210110 m 13.976500 9.210110 l s -n 10.900000 7.700000 0.500000 0.500000 180.000000 270.000000 ellipse s -n 13.976500 7.700000 0.500000 0.500000 270.000000 360.000000 ellipse s -n 10.400000 7.700000 m 10.400000 8.710110 l s -n 14.476500 7.700000 m 14.476500 8.710110 l s -n 10.900000 8.710110 0.500000 0.500000 90.000000 180.000000 ellipse s -n 13.976500 8.710110 0.500000 0.500000 0.000000 90.000000 ellipse s -/Helvetica-latin1 ff 0.500000 scf sf -(Job Manager) dup sw 2 div 12.438250 ex sub 8.438120 m gs 1 -1 sc sh gr -1.000000 1.000000 1.000000 srgb -n 3.000000 12.900000 m 3.000000 14.800000 l 5.300000 14.800000 l 5.300000 12.900000 l f -n 3.000000 13.300000 m 3.000000 13.300000 0.400000 0.400000 180.000000 270.000000 ellipse f -n 5.300000 13.300000 m 5.300000 13.300000 0.400000 0.400000 270.000000 360.000000 ellipse f -n 2.600000 13.300000 m 2.600000 14.400000 l 5.700000 14.400000 l 5.700000 13.300000 l f -n 3.000000 14.400000 m 3.000000 14.400000 0.400000 0.400000 90.000000 180.000000 ellipse f -n 5.300000 14.400000 m 5.300000 14.400000 0.400000 0.400000 0.000000 90.000000 ellipse f -0.100000 slw -[] 0 sd -[] 0 sd -0 slj -0.000000 0.000000 0.000000 srgb -n 3.000000 12.900000 m 5.300000 12.900000 l s -n 3.000000 14.800000 m 5.300000 14.800000 l s -n 3.000000 13.300000 0.400000 0.400000 180.000000 270.000000 ellipse s -n 5.300000 13.300000 0.400000 0.400000 270.000000 360.000000 ellipse s -n 2.600000 13.300000 m 2.600000 14.400000 l s -n 5.700000 13.300000 m 5.700000 14.400000 l s -n 3.000000 14.400000 0.400000 0.400000 90.000000 180.000000 ellipse s -n 5.300000 14.400000 0.400000 0.400000 0.000000 90.000000 ellipse s -/Helvetica-latin1 ff 0.500000 scf sf -(Job ) dup sw 2 div 4.150000 ex sub 13.833065 m gs 1 -1 sc sh gr -(Status) dup sw 2 div 4.150000 ex sub 14.333065 m gs 1 -1 sc sh gr -showpage diff --git a/executable_names/doc/figures/slurm.dat b/executable_names/doc/figures/slurm.dat deleted file mode 100644 index 276fbb85eb..0000000000 --- a/executable_names/doc/figures/slurm.dat +++ /dev/null @@ -1,12 +0,0 @@ -# SLURM, times for /bin/hostname 2 tasks per node -1 0.049 -2 0.051 -3 0.052 -4 0.061 -5 0.074 -6 0.091 -7 0.166 -8 0.550 -9 1.020 -10 2.200 -11 3.734 diff --git a/executable_names/doc/figures/times.eps b/executable_names/doc/figures/times.eps deleted file mode 100644 index 4db99fef5b..0000000000 --- a/executable_names/doc/figures/times.eps +++ /dev/null @@ -1,485 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: figures/times.eps -%%Creator: gnuplot 3.7 patchlevel 1 -%%CreationDate: Wed Sep 10 13:10:35 2003 -%%DocumentFonts: (atend) -%%BoundingBox: 50 50 391 289 -%%Orientation: Portrait -%%EndComments -/gnudict 256 dict def -gnudict begin -/Color false def -/Solid false def -/gnulinewidth 5.000 def -/userlinewidth gnulinewidth def -/vshift -46 def -/dl {10 mul} def -/hpt_ 31.5 def -/vpt_ 31.5 def -/hpt hpt_ def -/vpt vpt_ def -/M {moveto} bind def -/L {lineto} bind def -/R {rmoveto} bind def -/V {rlineto} bind def -/vpt2 vpt 2 mul def -/hpt2 hpt 2 mul def -/Lshow { currentpoint stroke M - 0 vshift R show } def -/Rshow { currentpoint stroke M - dup stringwidth pop neg vshift R show } def -/Cshow { currentpoint stroke M - dup stringwidth pop -2 div vshift R show } def -/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def -/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } - {pop pop pop Solid {pop []} if 0 setdash} ifelse } def -/BL { stroke userlinewidth 2 mul setlinewidth } def -/AL { stroke userlinewidth 2 div setlinewidth } def -/UL { dup gnulinewidth mul /userlinewidth exch def - 10 mul /udl exch def } def -/PL { stroke userlinewidth setlinewidth } def -/LTb { BL [] 0 0 0 DL } def -/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def -/LT0 { PL [] 1 0 0 DL } def -/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def -/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def -/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def -/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def -/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def -/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def -/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def -/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def -/Pnt { stroke [] 0 setdash - gsave 1 setlinecap M 0 0 V stroke grestore } def -/Dia { stroke [] 0 setdash 2 copy vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V closepath stroke - Pnt } def -/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V - currentpoint stroke M - hpt neg vpt neg R hpt2 0 V stroke - } def -/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V closepath stroke - Pnt } def -/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M - hpt2 vpt2 neg V currentpoint stroke M - hpt2 neg 0 R hpt2 vpt2 V stroke } def -/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V closepath stroke - Pnt } def -/Star { 2 copy Pls Crs } def -/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V closepath fill } def -/TriUF { stroke [] 0 setdash vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V closepath fill } def -/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V closepath stroke - Pnt } def -/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V closepath fill} def -/DiaF { stroke [] 0 setdash vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V closepath fill } def -/Pent { stroke [] 0 setdash 2 copy gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - closepath stroke grestore Pnt } def -/PentF { stroke [] 0 setdash gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - closepath fill grestore } def -/Circle { stroke [] 0 setdash 2 copy - hpt 0 360 arc stroke Pnt } def -/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def -/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def -/C1 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 90 arc closepath fill - vpt 0 360 arc closepath } bind def -/C2 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 90 180 arc closepath fill - vpt 0 360 arc closepath } bind def -/C3 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 180 arc closepath fill - vpt 0 360 arc closepath } bind def -/C4 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 180 270 arc closepath fill - vpt 0 360 arc closepath } bind def -/C5 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 90 arc - 2 copy moveto - 2 copy vpt 180 270 arc closepath fill - vpt 0 360 arc } bind def -/C6 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 90 270 arc closepath fill - vpt 0 360 arc closepath } bind def -/C7 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 270 arc closepath fill - vpt 0 360 arc closepath } bind def -/C8 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 270 360 arc closepath fill - vpt 0 360 arc closepath } bind def -/C9 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 270 450 arc closepath fill - vpt 0 360 arc closepath } bind def -/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill - 2 copy moveto - 2 copy vpt 90 180 arc closepath fill - vpt 0 360 arc closepath } bind def -/C11 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 180 arc closepath fill - 2 copy moveto - 2 copy vpt 270 360 arc closepath fill - vpt 0 360 arc closepath } bind def -/C12 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 180 360 arc closepath fill - vpt 0 360 arc closepath } bind def -/C13 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 90 arc closepath fill - 2 copy moveto - 2 copy vpt 180 360 arc closepath fill - vpt 0 360 arc closepath } bind def -/C14 { BL [] 0 setdash 2 copy moveto - 2 copy vpt 90 360 arc closepath fill - vpt 0 360 arc } bind def -/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill - vpt 0 360 arc closepath } bind def -/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath } bind def -/Square { dup Rec } bind def -/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def -/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def -/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def -/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def -/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def -/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def -/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill - exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def -/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def -/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill - 2 copy vpt Square fill - Bsquare } bind def -/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def -/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def -/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill - Bsquare } bind def -/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill - Bsquare } bind def -/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def -/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill - 2 copy vpt Square fill Bsquare } bind def -/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill - 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def -/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def -/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def -/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def -/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def -/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def -/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def -/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def -/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def -/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def -/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def -/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def -/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def -/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def -/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def -/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def -/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def -/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def -/DiaE { stroke [] 0 setdash vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V closepath stroke } def -/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V closepath stroke } def -/TriUE { stroke [] 0 setdash vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V closepath stroke } def -/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V closepath stroke } def -/PentE { stroke [] 0 setdash gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - closepath stroke grestore } def -/CircE { stroke [] 0 setdash - hpt 0 360 arc stroke } def -/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def -/DiaW { stroke [] 0 setdash vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V Opaque stroke } def -/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V Opaque stroke } def -/TriUW { stroke [] 0 setdash vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V Opaque stroke } def -/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V Opaque stroke } def -/PentW { stroke [] 0 setdash gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - Opaque stroke grestore } def -/CircW { stroke [] 0 setdash - hpt 0 360 arc Opaque stroke } def -/BoxFill { gsave Rec 1 setgray fill grestore } def -end -%%EndProlog -gnudict begin -gsave -50 50 translate -0.050 0.050 scale -0 setgray -newpath -(Helvetica) findfont 140 scalefont setfont -1.000 UL -LTb -1.000 UL -LTa -630 420 M -6139 0 V -1.000 UL -LTb -630 420 M -31 0 V -6108 0 R --31 0 V -1.000 UL -LTa -630 925 M -6139 0 V -1.000 UL -LTb -630 925 M -63 0 V -6076 0 R --63 0 V -546 925 M -(0.1) Rshow -1.000 UL -LTa -630 2098 M -6139 0 V -1.000 UL -LTb -630 2098 M -31 0 V -6108 0 R --31 0 V -1.000 UL -LTa -630 2603 M -6139 0 V -1.000 UL -LTb -630 2603 M -63 0 V -6076 0 R --63 0 V --6160 0 R -(1) Rshow -1.000 UL -LTa -630 3777 M -6139 0 V -1.000 UL -LTb -630 3777 M -31 0 V -6108 0 R --31 0 V -1.000 UL -LTa -630 4282 M -6139 0 V -1.000 UL -LTb -630 4282 M -63 0 V -6076 0 R --63 0 V --6160 0 R -(10) Rshow -630 420 M -0 63 V -0 4304 R -0 -63 V -1142 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(1) Cshow -1653 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(2) Cshow -2165 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(4) Cshow -2676 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(8) Cshow -3188 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(16) Cshow -3699 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(32) Cshow -4211 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(64) Cshow -4723 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(128) Cshow -5234 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(256) Cshow -5746 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(512) Cshow -6257 420 M -0 63 V -0 4304 R -0 -63 V -0 -4444 R -(950) Cshow -6769 420 M -0 63 V -0 4304 R -0 -63 V -1.000 UL -LTb -630 420 M -6139 0 V -0 4367 V --6139 0 V -630 420 L -140 2603 M -currentpoint gsave translate 90 rotate 0 0 M -(Seconds) Cshow -grestore -3699 70 M -(Nodes) Cshow -1.000 UP -1.000 UL -LT0 -6118 4654 M -(SLURM) Rshow -6202 4654 M -399 0 V -1400 420 M -253 14 V -512 15 V -511 116 V -512 141 V -511 150 V -512 439 V -512 873 V -511 450 V -512 560 V -511 386 V -1653 434 Pls -2165 449 Pls -2676 565 Pls -3188 706 Pls -3699 856 Pls -4211 1295 Pls -4723 2168 Pls -5234 2618 Pls -5746 3178 Pls -6257 3564 Pls -6401 4654 Pls -1.000 UP -1.000 UL -LT1 -6118 4514 M -(RMS) Rshow -6202 4514 M -399 0 V -1142 735 M -511 46 V -512 75 V -511 177 V -512 279 V -511 399 V -512 25 V -512 429 V -511 652 V -512 547 V -511 355 V -1142 735 Crs -1653 781 Crs -2165 856 Crs -2676 1033 Crs -3188 1312 Crs -3699 1711 Crs -4211 1736 Crs -4723 2165 Crs -5234 2817 Crs -5746 3364 Crs -6257 3719 Crs -6401 4514 Crs -1.000 UP -1.000 UL -LT2 -6118 4374 M -(LoadLeveler) Rshow -6202 4374 M -399 0 V -1142 4169 M -511 19 V -512 23 V -511 2 V -512 52 V -1142 4169 Star -1653 4188 Star -2165 4211 Star -2676 4213 Star -3188 4265 Star -6401 4374 Star -stroke -grestore -end -showpage -%%Trailer -%%DocumentFonts: Helvetica diff --git a/executable_names/doc/figures/times.gpl b/executable_names/doc/figures/times.gpl deleted file mode 100644 index ebd71858e4..0000000000 --- a/executable_names/doc/figures/times.gpl +++ /dev/null @@ -1,32 +0,0 @@ -set terminal postscript eps -set output "figures/times.eps" - -set size 0.95,0.95 - -set format y "%g" -set xtics ( "" 0, \ - "1" 1, \ - "2" 2, \ - "4" 3, \ - "8" 4, \ - "16" 5, \ - "32" 6, \ - "64" 7, \ - "128" 8, \ - "256" 9, \ - "512" 10, \ - "950" 11, \ - "" 12) - -set xlabel "Nodes" -set ylabel "Seconds" - -set yrange [0.05:20] -set mytics 2 - -set logscale y -set grid noxtics ytics mytics - -plot [0:12] "figures/slurm.dat" title "SLURM" with linespoint, \ - "figures/rms.dat" title "RMS" with linespoint, \ - "figures/ll.dat" title "LoadLeveler" with linespoint diff --git a/executable_names/doc/figures/times.gpl.png b/executable_names/doc/figures/times.gpl.png deleted file mode 100644 index 33537dfffb..0000000000 --- a/executable_names/doc/figures/times.gpl.png +++ /dev/null @@ -1,32 +0,0 @@ -set terminal png -set output "times.png" - -set size 0.95,0.95 - -set format y "%g" -set xtics ( "" 0, \ - "1" 1, \ - "2" 2, \ - "4" 3, \ - "8" 4, \ - "16" 5, \ - "32" 6, \ - "64" 7, \ - "128" 8, \ - "256" 9, \ - "512" 10, \ - "950" 11, \ - "" 12) - -set xlabel "Nodes" -set ylabel "Seconds" - -set yrange [0.05:20] -set mytics 2 - -set logscale y -set grid noxtics ytics mytics - -plot [0:12] "slurm.dat" title "SLURM" with linespoint, \ - "rms.dat" title "RMS" with linespoint, \ - "ll.dat" title "LoadLeveler" with linespoint diff --git a/executable_names/doc/html/Makefile.am b/executable_names/doc/html/Makefile.am deleted file mode 100644 index 97446744ee..0000000000 --- a/executable_names/doc/html/Makefile.am +++ /dev/null @@ -1,69 +0,0 @@ - -htmldir = ${prefix}/share/doc/@PACKAGE@-@VERSION@/html - -generated_html = \ - api.html \ - authplugins.html \ - big_sys.html \ - bluegene.html \ - checkpoint_plugins.html \ - cons_res.html \ - dist_plane.html \ - documentation.html \ - download.html \ - faq.html \ - help.html \ - ibm.html \ - jobacctplugins.html \ - jobcompplugins.html \ - mail.html \ - maui.html \ - mc_support.html \ - moab.html \ - mpiplugins.html \ - news.html \ - overview.html \ - platforms.html \ - plugins.html \ - proctrack_plugins.html \ - programmer_guide.html \ - publications.html \ - quickstart_admin.html \ - quickstart.html \ - schedplugins.html \ - selectplugins.html \ - slurm.html \ - switchplugins.html \ - team.html \ - testimonials.html \ - troubleshoot.html - -html_DATA = \ - ${generated_html} \ - arch.gif \ - configurator.html \ - coding_style.pdf \ - entities.gif \ - lll.gif \ - mc_support.gif \ - plane_ex1.gif \ - plane_ex2.gif \ - plane_ex3.gif \ - plane_ex4.gif \ - plane_ex5.gif \ - plane_ex6.gif \ - plane_ex7.gif \ - slurm_banner_filler.jpg \ - slurm_banner_left.jpg \ - slurm_banner_right.jpg \ - slurm_design.pdf \ - slurmstyles.css - -MOSTLYCLEANFILES = ${generated_html} - -EXTRA_DIST = $(html_DATA) - -SUFFIXES = .html - -.shtml.html: - `dirname $<`/shtml2html.py $< diff --git a/executable_names/doc/html/Makefile.in b/executable_names/doc/html/Makefile.in deleted file mode 100644 index 7910358848..0000000000 --- a/executable_names/doc/html/Makefile.in +++ /dev/null @@ -1,508 +0,0 @@ -# Makefile.in generated by automake 1.9 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_triplet = @host@ -subdir = doc/html -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/configurator.html.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/auxdir/acx_pthread.m4 \ - $(top_srcdir)/auxdir/slurm.m4 \ - $(top_srcdir)/auxdir/x_ac__system_configuration.m4 \ - $(top_srcdir)/auxdir/x_ac_affinity.m4 \ - $(top_srcdir)/auxdir/x_ac_aix.m4 \ - $(top_srcdir)/auxdir/x_ac_bluegene.m4 \ - $(top_srcdir)/auxdir/x_ac_debug.m4 \ - $(top_srcdir)/auxdir/x_ac_elan.m4 \ - $(top_srcdir)/auxdir/x_ac_federation.m4 \ - $(top_srcdir)/auxdir/x_ac_gpl_licensed.m4 \ - $(top_srcdir)/auxdir/x_ac_gtk.m4 \ - $(top_srcdir)/auxdir/x_ac_munge.m4 \ - $(top_srcdir)/auxdir/x_ac_ncurses.m4 \ - $(top_srcdir)/auxdir/x_ac_pam.m4 \ - $(top_srcdir)/auxdir/x_ac_ptrace.m4 \ - $(top_srcdir)/auxdir/x_ac_readline.m4 \ - $(top_srcdir)/auxdir/x_ac_setpgrp.m4 \ - $(top_srcdir)/auxdir/x_ac_setproctitle.m4 \ - $(top_srcdir)/auxdir/x_ac_sgi_job.m4 \ - $(top_srcdir)/auxdir/x_ac_slurm_ssl.m4 \ - $(top_srcdir)/auxdir/x_ac_xcpu.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/slurm/slurm.h -CONFIG_CLEAN_FILES = configurator.html -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(htmldir)" -htmlDATA_INSTALL = $(INSTALL_DATA) -DATA = $(html_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTHD_CFLAGS = @AUTHD_CFLAGS@ -AUTHD_LIBS = @AUTHD_LIBS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BG_INCLUDES = @BG_INCLUDES@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CMD_LDFLAGS = @CMD_LDFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG_MODULES_FALSE = @DEBUG_MODULES_FALSE@ -DEBUG_MODULES_TRUE = @DEBUG_MODULES_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ELAN_LIBS = @ELAN_LIBS@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FEDERATION_LDFLAGS = @FEDERATION_LDFLAGS@ -FFLAGS = @FFLAGS@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -HAVEPKGCONFIG = @HAVEPKGCONFIG@ -HAVE_AIX = @HAVE_AIX@ -HAVE_AIX_FALSE = @HAVE_AIX_FALSE@ -HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@ -HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@ -HAVE_AIX_TRUE = @HAVE_AIX_TRUE@ -HAVE_ELAN = @HAVE_ELAN@ -HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@ -HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@ -HAVE_FEDERATION = @HAVE_FEDERATION@ -HAVE_FEDERATION_FALSE = @HAVE_FEDERATION_FALSE@ -HAVE_FEDERATION_TRUE = @HAVE_FEDERATION_TRUE@ -HAVE_GTK_FALSE = @HAVE_GTK_FALSE@ -HAVE_GTK_TRUE = @HAVE_GTK_TRUE@ -HAVE_NUMA_FALSE = @HAVE_NUMA_FALSE@ -HAVE_NUMA_TRUE = @HAVE_NUMA_TRUE@ -HAVE_PAM_FALSE = @HAVE_PAM_FALSE@ -HAVE_PAM_TRUE = @HAVE_PAM_TRUE@ -HAVE_SCHED_SETAFFINITY_FALSE = @HAVE_SCHED_SETAFFINITY_FALSE@ -HAVE_SCHED_SETAFFINITY_TRUE = @HAVE_SCHED_SETAFFINITY_TRUE@ -HAVE_SGI_JOB_FALSE = @HAVE_SGI_JOB_FALSE@ -HAVE_SGI_JOB_TRUE = @HAVE_SGI_JOB_TRUE@ -HAVE_SOME_CURSES = @HAVE_SOME_CURSES@ -HAVE_SOME_CURSES_FALSE = @HAVE_SOME_CURSES_FALSE@ -HAVE_SOME_CURSES_TRUE = @HAVE_SOME_CURSES_TRUE@ -HAVE_UNSETENV_FALSE = @HAVE_UNSETENV_FALSE@ -HAVE_UNSETENV_TRUE = @HAVE_UNSETENV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_LDFLAGS = @LIB_LDFLAGS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MUNGE_CPPFLAGS = @MUNGE_CPPFLAGS@ -MUNGE_LDFLAGS = @MUNGE_LDFLAGS@ -MUNGE_LIBS = @MUNGE_LIBS@ -NCURSES = @NCURSES@ -NUMA_LIBS = @NUMA_LIBS@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PAM_LIBS = @PAM_LIBS@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PROCTRACKDIR = @PROCTRACKDIR@ -PROJECT = @PROJECT@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -READLINE_LIBS = @READLINE_LIBS@ -RELEASE = @RELEASE@ -SEMAPHORE_LIBS = @SEMAPHORE_LIBS@ -SEMAPHORE_SOURCES = @SEMAPHORE_SOURCES@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SLURMCTLD_PORT = @SLURMCTLD_PORT@ -SLURMD_PORT = @SLURMD_PORT@ -SLURM_API_AGE = @SLURM_API_AGE@ -SLURM_API_CURRENT = @SLURM_API_CURRENT@ -SLURM_API_MAJOR = @SLURM_API_MAJOR@ -SLURM_API_REVISION = @SLURM_API_REVISION@ -SLURM_API_VERSION = @SLURM_API_VERSION@ -SLURM_MAJOR = @SLURM_MAJOR@ -SLURM_MICRO = @SLURM_MICRO@ -SLURM_MINOR = @SLURM_MINOR@ -SLURM_VERSION = @SLURM_VERSION@ -SO_LDFLAGS = @SO_LDFLAGS@ -SSL_CPPFLAGS = @SSL_CPPFLAGS@ -SSL_LDFLAGS = @SSL_LDFLAGS@ -SSL_LIBS = @SSL_LIBS@ -STRIP = @STRIP@ -VERSION = @VERSION@ -WITH_AUTHD_FALSE = @WITH_AUTHD_FALSE@ -WITH_AUTHD_TRUE = @WITH_AUTHD_TRUE@ -WITH_GNU_LD_FALSE = @WITH_GNU_LD_FALSE@ -WITH_GNU_LD_TRUE = @WITH_GNU_LD_TRUE@ -WITH_MUNGE_FALSE = @WITH_MUNGE_FALSE@ -WITH_MUNGE_TRUE = @WITH_MUNGE_TRUE@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -htmldir = ${prefix}/share/doc/@PACKAGE@-@VERSION@/html -generated_html = \ - api.html \ - authplugins.html \ - big_sys.html \ - bluegene.html \ - checkpoint_plugins.html \ - cons_res.html \ - dist_plane.html \ - documentation.html \ - download.html \ - faq.html \ - help.html \ - ibm.html \ - jobacctplugins.html \ - jobcompplugins.html \ - mail.html \ - maui.html \ - mc_support.html \ - moab.html \ - mpiplugins.html \ - news.html \ - overview.html \ - platforms.html \ - plugins.html \ - proctrack_plugins.html \ - programmer_guide.html \ - publications.html \ - quickstart_admin.html \ - quickstart.html \ - schedplugins.html \ - selectplugins.html \ - slurm.html \ - switchplugins.html \ - team.html \ - testimonials.html \ - troubleshoot.html - -html_DATA = \ - ${generated_html} \ - arch.gif \ - configurator.html \ - coding_style.pdf \ - entities.gif \ - lll.gif \ - mc_support.gif \ - plane_ex1.gif \ - plane_ex2.gif \ - plane_ex3.gif \ - plane_ex4.gif \ - plane_ex5.gif \ - plane_ex6.gif \ - plane_ex7.gif \ - slurm_banner_filler.jpg \ - slurm_banner_left.jpg \ - slurm_banner_right.jpg \ - slurm_design.pdf \ - slurmstyles.css - -MOSTLYCLEANFILES = ${generated_html} -EXTRA_DIST = $(html_DATA) -SUFFIXES = .html -all: all-am - -.SUFFIXES: -.SUFFIXES: .html .shtml -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/html/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/html/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -configurator.html: $(top_builddir)/config.status $(srcdir)/configurator.html.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-htmlDATA: $(html_DATA) - @$(NORMAL_INSTALL) - test -z "$(htmldir)" || $(mkdir_p) "$(DESTDIR)$(htmldir)" - @list='$(html_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ - $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ - done - -uninstall-htmlDATA: - @$(NORMAL_UNINSTALL) - @list='$(html_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \ - rm -f "$(DESTDIR)$(htmldir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(htmldir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-htmlDATA - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-htmlDATA uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-htmlDATA install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-htmlDATA uninstall-info-am - - -.shtml.html: - `dirname $<`/shtml2html.py $< -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/executable_names/doc/html/api.shtml b/executable_names/doc/html/api.shtml deleted file mode 100644 index 3742713a0d..0000000000 --- a/executable_names/doc/html/api.shtml +++ /dev/null @@ -1,331 +0,0 @@ - - -

    SLURM Switch Plugin API

    - -

    Overview

    -

    All of the SLURM commands utilize a collection of Application Progamming -Interfaces (APIs). -User and system applications can directly use these APIs as desired to -achieve tighter integration with SLURM. -For example, SLURM data structures and error codes can be directly -examined rather than executing SLURM commands and parsing their output. -This document describes SLURM APIs. -You should see the man pages for individual APIs to get more details.

    - -

    Get Overall SLURM Information

    -
      - -
    • slurm_api_version—Get SLURM API version number.
    • - -
    • slurm_load_ctl_conf—Load system-wide configuration -specifications. Free with slurm_free_ctl_conf to avoid memory -leak.
    • - -
    • slurm_print_ctl_conf—Print system-wide configuration -specifications.
    • - -
    • slurm_free_ctl_conf—Free storage allocated by -slurm_load_ctl_conf.
    • - -
    - - - -

    Get Job Information

    -
      - -
    • slurm_pid2jobid—For a given process ID on a node -get the corresponding SLURM job ID.
    • - -
    • slurm_get_end_time—For a given SLURM job ID -get the expected termination time.
    • - -
    • slurm_load_jobs—Load job information. -Free with slurm_free_job_info_msg to avoid memory leak.
    • - -
    • slurm_print_job_info_msg—Print information about -all jobs.
    • - -
    • slurm_print_job_info—Print information about -a specific job.
    • - -
    • slurm_get_select_jobinfo—Get select plugin -specific information associated with the job. The information -available is will vary by select plugin type configured.
    • - -
    • slurm_free_job_info_msg—Free storage allocated by -slurm_load_jobs.
    • - -
    - - - -

    Get Job Step Information

    -
      - -
    • slurm_get_job_steps—Load job step information. -Free with slurm_free_job_step_info_response_msg to -avoid memory leak.
    • - -
    • slurm_print_job_step_info_msg—Print information about -all job steps.
    • - -
    • slurm_print_job_step_info—Print information about -a specific job step.
    • - -
    • slurm_free_job_step_info_response_msg—Free storage -allocated by slurm_get_job_steps.
    • - -
    - - - -

    Get Node Information

    -
      - -
    • slurm_load_node—Load node information. -Free with slurm_free_node_info to avoid memory leak.
    • - -
    • slurm_print_node_info_msg—Print information about -all nodes.
    • - -
    • slurm_print_node_table—Print information about -a specific node.
    • - -
    • slurm_free_node_info—Free storage -allocated by slurm_load_node.
    • - -
    - - - -

    Get Partition Information

    -
      - -
    • slurm_load_partitions—Load partition (queue) information. -Free with slurm_free_partition_info to avoid memory leak.
    • - -
    • slurm_print_partition_info_msg—Print information about -all partitions.
    • - -
    • slurm_print_partition_info—Print information about -a specific partition.
    • - -
    • slurm_free_partition_info—Free storage -allocated by slurm_load_partitions.
    • - -
    - - - -

    Error Handling

    -
      - -
    • slurm_get_errno—Return the error code set by the -last SLURM API function executed.
    • - -
    • slurm_perror—Print SLURM error information to -standard output.
    • - -
    • slurm_strerror—Return a string describing a specific -SLURM error code.
    • - -
    - - - -

    Resource Allocation

    -
      - -
    • slurm_init_job_desc_msg—Initialize the data structure -used in resource allocation requests. You can then just set the fields -of particular interest and let the others use default values.
    • - -
    • slurm_job_will_run—Determine if a job would be -immediately initiated if submitted now.
    • - -
    • slurm_allocate_resources—Allocate resources for a job. -Response message must be freed using -slurm_free_resource_allocation_response_msg to avoid a -memory leak.
    • - -
    • slurm_free_resource_allocation_response_msg— -Frees memory allocated by slurm_allocate_resources.
    • - -
    • slurm_allocate_resources_and_run—Allocate resources for a -job and spawn a job step. Response message must be freed using -slurm_free_resource_allocation_and_run_response_msg to avoid a -memory leak.
    • - -
    • slurm_free_resource_allocation_and_run_response_msg— -Frees memory allocated by slurm_allocate_resources_and_run.
    • - -
    • slurm_submit_batch_job—Submit a script for later -execution. Response message must be freed using -slurm_free_submit_response_response_msg to avoid a -memory leak.
    • - -
    • slurm_free_submit_response_response_msg— -Frees memory allocated by slurm_submit_batch_job.
    • - -
    • slurm_confirm_allocation—Test if a resource allocation has -already been made for a given job id. Response message must be freed using -slurm_free_resource_allocation_response_msg to avoid a -memory leak. This can be used to confirm that an -allocation is still active or for error recovery.
    • - -
    - - - -

    Job Step Creation

    -

    SLURM job steps involve numerous interactions with the -slurmd daemon. The job step creation is only the -first step in the process. We don't advise direct user -creation of job steps, but include the information here -for completeness.

    -
      - -
    • slurm_job_step_create—Initiate a job step. -Allocated memory must be freed by -slurm_free_job_step_create_response_msg to avoid a -memory leak.
    • - -
    • slurm_free_job_step_create_response_msg—Free -memory allocated by slurm_job_step_create. - -
    • slurm_step_ctx_create—Create job step context. -Destroy using slurm_step_ctx_destroy.
    • - -
    • slurm_step_ctx_destroy—Destroy a job step context -created by slurm_step_ctx_create.
    • - -
    • slurm_step_ctx_get—Get values from job step context.
    • - -
    • slurm_step_ctx_set—Set values in job step context.
    • - -
    • slurm_jobinfo_ctx_get—Get values from a jobinfo -field as returned by slurm_step_ctx_get.
    • - -
    • slurm_spawn—Spawn tasks and establish communcations.
    • - -
    • slurm_spawn_kill—Signal spawned tasks.
    • - -
    - - - -

    Job and Job Step Signaling and Cancelling

    -
      - -
    • slurm_kill_job—Signal or cancel a job.
    • - -
    • slurm_kill_job_step—Signal or cancel a job step.
    • - -
    - - - -

    Job Completion

    -
      - -
    • slurm_complete_job—Note completion of a job. -Releases resource allocation for the job.
    • - -
    • slurm_complete_job_step—Note completion of a -job step.
    • - -
    - - - -

    Checkpoint

    -
      - -
    • slurm_checkpoint_able—Note that a specific job or -job step is elligible for checkpoint.
    • - -
    • slurm_checkpoint_complete—Note that a requested -checkpoint has completed.
    • - -
    • slurm_checkpoint_create—Request a checkpoint for -a specific job step. Continue execution upon completion of the -checkpoint.
    • - -
    • slurm_checkpoint_vacate—Request a checkpoint for -a specific job step. Terminate execution upon completion of the -checkpoint.
    • - -
    • slurm_checkpoint_disable—Make the identified job step -non-checkpointable.
    • - -
    • slurm_checkpoint_enable—Make the identified job -step checkpointable.
    • - -
    • slurm_checkpoint_error—Get error information for -the last checkpoint operation on a given job step.
    • - -
    • slurm_checkpoint_restart—Request that a previously -checkpointed job resume execution.
    • - -
    - - - -

    Administrative Functions

    -

    Most of these functions can only be exected by user root.

    -
      - -
    • slurm_reconfigure—Update slurm daemons -based upon current slurm.conf configuration file. -Use this after updating the configuration file to -insure that it takes effect.
    • - -
    • slurm_shutdown—Terminate slurm daemons.
    • - -
    • slurm_update_job—Update state -information associated with a given job.
    • - -
    • slurm_update_node—Update state -information associated with a given node. NOTE: Most -of a node's characteristics can not be modified.
    • - -
    • slurm_init_part_desc_msg—Initialize a -partition update descriptor. Used this to initialize -the data structure used in slurm_update_partition.
    • - -
    • slurm_update_partition—Update state -information associated with a given partition.
    • - -
    • slurm_delete_partition—Destroy a partition.
    • - -
    - - - -

    SLURM Host List Support

    -

    SLURM uses a condensed format to express node names. -For example linux[1-3,6] represents linux1, -linux2, linux3, and linux6. These -functions permit you to translate the SLURM expression -into a list of individual node names.

    - -
      - -
    • slurm_hostlist_create—Translate a SLURM -node name expression into a record used for parsing. -Use slurm_hostlist_destroy to free the allocated -storage.
    • - -
    • slurm_hostlist_shift—Get the next node -name.
    • - -
    • slurm_hostlist_destroy—Release storage -allocated by slurm_hostlist_create. - -
    - - -

    Last modified 25 October 2005

    - - diff --git a/executable_names/doc/html/arch.gif b/executable_names/doc/html/arch.gif deleted file mode 100644 index f605a1c5cc6ddbd4390fdeff5b500e2217abb0cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28772 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 AOaK4? diff --git a/executable_names/doc/html/authplugins.shtml b/executable_names/doc/html/authplugins.shtml deleted file mode 100644 index ff5accf674..0000000000 --- a/executable_names/doc/html/authplugins.shtml +++ /dev/null @@ -1,203 +0,0 @@ - - -

    SLURM Authentication Plugin API

    - -

    Overview

    -

    This document describes SLURM authentication plugins and the API that defines -them. It is intended as a resource to programmers wishing to write their own SLURM -authentication plugins. This is version 0 of the API.

    -

    SLURM authentication plugins are SLURM plugins that implement the SLURM authentication -API described herein. They must conform to the SLURM Plugin API with the following -specifications:

    -

    const char plugin_type[]
    -The major type must be "auth." The minor type can be any recognizable -abbreviation for the type of authentication. We recommend, for example:

    -
      -
    • none—A plugin that implements the API without providing any actual -authentication service. This may be used for testing purposes, but is not suitable for -production use due to lack of effective security.
    • -
    • authd—Brett Chun's Linux authd.
    • -
    • munge—LLNL's munge protocol (recommended plugin for production use).
    • -
    • krb5—Kerberos 5 (not implemented as of 8 June 2004).
    • -
    -

    The plugin_name and plugin_version -symbols required by the SLURM Plugin API require no specialization for authentication. -Note carefully, however, the versioning discussion below.

    -

    The programmer is urged to study src/plugins/auth/none/auth_none.c -for an example implementation of a SLURM authentication plugin.

    - -

    Data Objects

    -

    The implementation must support an opaque class, which it defines, to be used -as an authentication "credential." This class must encapsulate all user-specific -information necessary for the operation of the API specification below. The credential -is referred to in SLURM code by an anonymous pointer (void *).

    -

    The implementation must maintain (though not necessarily directly export) an -enumerated errno to allow SLURM to discover as practically as possible -the reason for any failed API call. The following enumerated integer values (declared -in src/common/slurm_auth.h) must be used when -appropriate.

    -

    SLURM_AUTH_BADARG—an argument to an API function -was invalid or malformed.
    -SLURM_AUTH_MEMORY—a request could not be satisfied because memory for it -could not be allocated.
    -SLURM_AUTH_NOUSER—a credential is improper because it refers to an unknown -user.
    -SLURM_AUTH_INVALID—a credential is improper because the validation of it -has failed. This is specifically distinct from the expiration of a credential.
    -SLURM_AUTH_MISMATCH—a credential could not be properly unpacked because it -is of an incompatible type or version.

    -

    These values must not be used as return values in integer-valued functions -in the API. The proper error return value from integer-valued functions is SLURM_ERROR. -While it is most practical to associate a different errno with each instance of -a credential, this is not necessarily enforced by the API. The implementation -should endeavor to provide useful and pertinent information by whatever means -is practical. In most cases, this means an errno for each credential, since plugins -must be re-entrant. If a plugin maintains a global errno in place of or in addition -to a per-credential errno, it is not required to enforce mutual exclusion on it. -Successful API calls are not required to reset any errno to a known value. However, -the initial value of any errno, prior to any error condition arising, should be -SLURM_SUCCESS.

    -

    Plugins may assign implementation-specific values to errno so long as they -do not conflict with the values assigned above. This is done programmatically -by assigning plugin-specific errno values which are arithmetically greater than -or equal to the symbol SLURM_AUTH_FIRST_LOCAL_ERROR.

    - - -

    API Functions

    -

    The following functions must appear. Functions which are not implemented should -be stubbed.

    -

    void *slurm_auth_alloc (void);

    -

    Description: Allocates from the free store -an anonymous credential object and returns a pointer to it. The pointer should -be valid until passed to slurm_auth_destroy() for -disposal. SLURM will not pass -credentials to the API which have not been allocated by this function.

    -

    Arguments: None.

    -

    Returns: A pointer to a newly allocated credential -if successful. On failure, the plugin should return NULL and set its errno to -an appropriate value to indicate the reason for failure.

    -

    int slurm_auth_destroy (void *cr);

    -

    Description: Deallocates a credential that -was allocated with slurm_auth_alloc() and any -associated storage that has been allocated for it during its use.

    -

    Arguments: cr  -  (input) pointer to the credential that is to be deallocated. Cannot -be NULL.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int slurm_auth_verify (void *cr );

    -

    Description: Verifies that a credential is -in order and correctly identifies the associated user. It also verifies that the -credential has not expired. If verification is successful, the return values of -slurm_auth_get_uid() and slurm_auth_get_gid() -in subsequent calls must correspond to the actual verified system UID and GID -of the user associated with the credential. Verification must fail if the credential -has not previously been activated, even if a credential implementation cannot -exist in an unactivated state. A credential's valid term is defined at activation -and verification must fail if the credential has expired, even if it would otherwise -be valid.

    -

    Arguments: cr -  (input) pointer to the credential which is to be verified. Cannot -be NULL.

    -

    Returns: SLURM_SUCCESS if the credential is -verified to be in order and has not expired. If the credential cannot be verified, -or if the credential has expired, the function should return SLURM_ERROR and set -its errno to an appropriate value to indicate the reason for failure.

    -

    uid_t slurm_auth_get_uid (void *cr);
    -gid_t slurm_auth_get_gid (void *cr);

    -

    Description: Extracts the numerical UID (GID) -of the user corresponding to the given credential. SLURM considers this value -trustworthy only if the credential has been successfully verified using slurm_auth_verify(). -An unverified credential does not immediately give rise to an error condition -in these functions, since this would require a plugin to distinguish between a -verified and an unverified credential, which may be computationally expensive. -A plugin may consider the lack of verification as an error.

    -

    Arguments: cr -   (input) pointer to the credential containing the desired identification. -Cannot be NULL.

    -

    Returns: If successful, the Linux UID (GID) -associated with the credential. In case of error, SLURM_AUTH_NOBODY should be -returned and errno set appropriately to indicate the cause of the failure.

    - -

    int slurm_auth_pack (void *cr, Buf buf);

    -

    Description: Marshals a credential into a buffer -for transmission according to the SLURM packing protocol. All authentication plugins -must first pack the plugin_type and then the plugin_version data before any plugin-specific -data elements are packed. slurm_auth_pack() and slurm_auth_pack() are strictly -reciprocal. The esult of a packing followed by an unpacking must be a functionally -equivalent credential. A credential is deemed appropriate for marshalling at any -time after its allocation and before its destruction.

    -

    Arguments:
    -cr    (input) pointer to the credential -to pack.
    -buf    (input/output) the buffer -into which the credential should be packed.

    -

    Returns: SLURM_SUCCESS if successful. On failure -the plugin should return SLURM_ERROR and set the errno to indicate the reason -for the failure.

    -

    int slurm_auth_unpack (void *cr, Buf buf);

    -

    Description: Unmarshals a credential from a -buffer according to the SLURM packing protocol into a supplied (and presumed empty) -credential object. The unmarshalled credential is not assumed to be activated -or verified. The plugin_type and plugin_version -data should first be unpacked from the buffer and verified for applicability. -The API does not enforce that they must be equivalent, merely compatible. Compatibility -is implementation-dependent.

    -

    Arguments:
    -cr    (output) pointer to the -credential to pack.
    -buf    (input/output) the buffer -from which the credential should be unpacked.

    -

    Returns: SLURM_SUCCESS if the credential was -successfully unpacked. In case of failure, the function should return SLURM_ERROR -and set errno appropriately to indicate the cause of the failure. If the function -fails, no assumptions are made about the state of the credential except its suitability -for destruction via slurm_auth_destroy().

    -

    int slurm_auth_print (void *cr, FILE *fp);

    -

    Description: Writes a human-readable representation -of the credential to a standard I/O stream. There are no strict API constraints -on the behavior of this function, however it is recommended that the information -be as complete and as concise as possible. For example, lengthy digital "signatures" -need not be printed bitwise, but may be represented by their checksum. The intent -is to provide a depiction of the credential for debugging purposes.

    -

    Arguments: None.

    -

    Returns: SLURM_SUCCESS if successful. On failure -the plugin should return SLURM_ERROR and set the errno appropriately to indicate -the cause of failure.

    - -

    int slurm_auth_errno (void *cr);

    -

    Description: Returns the current value of errno. -Whether the value is associated with the given credential or with the plugin as -a whole is implementation-dependent. Because this function can be used to discover -the reason why a credential allocation has failed, the argument is advisory.

    -

    Arguments: cr     -(input) pointer to the credential, the status of whose most recently executed -API function is to be returned. This value may be NULL, indicating that the most -recent errno value applicable to the plugin as a whole is to be returned.

    -

    Returns: The current value of errno or SLURM_SUCCESS -if there is no error to report.

    -

    const char *slurm_auth_errstr (int errno);

    -

    Description: Provides a human-readable string -associated with the given errno. The plugin need only supply error strings for -the errno values it defines and not for errno values listed above that are required -by the API.

    -

    Arguments: errno    -(input) the plugin-specific errno for which a corresponding error message is desired.

    -

    Returns: A pointer to a static error message. -This function must always return a pointer to a string, even if the string is -empty or ambiguous such as "unknown error."

    - -

    Versioning

    -

    This document describes version 0 of the SLURM Authentication API. Future -releases of SLURM may revise this API. An authentication plugin conveys its ability -to implement a particular API version using the mechanism outlined for SLURM plugins. -In addition, the credential is transmitted along with the version number of the -plugin that transmitted it. It is at the discretion of the plugin author whether -to maintain data format compatibility across different versions of the plugin.

    - - -

    Last modified 8 June 2004

    - - diff --git a/executable_names/doc/html/big_sys.shtml b/executable_names/doc/html/big_sys.shtml deleted file mode 100644 index 0aa2e6e067..0000000000 --- a/executable_names/doc/html/big_sys.shtml +++ /dev/null @@ -1,69 +0,0 @@ - - -

    Large Cluster Administration Guide

    - -

    This document contains SLURM administrator information specifically -for clusters containing 1,024 nodes or more. -Virtually all SLURM components have been validated (through emulation) -for clusters containing up to 16,384 compute nodes. -Getting good performance at that scale does require some tuning and -this document should help you off to a good start. -A working knowledge of SLURM should be considered a prerequisite -for this material.

    - -

    Node Selection Plugin (SelectType)

    - -

    While allocating individual processors within a node is great -for smaller clusters, the overhead of keeping track of the individual -processors and memory within each node adds significant overhead. -For best scalability, the consumable resource plugin (select/cons_res) -is best avoided.

    - -

    Job Accounting Plugin (JobAcctType)

    - -

    Job accounting relies upon the slurmstepd daemon on each compute -node periodically sampling data. -This data collection will take compute cycles away from the application -inducing what is known as system noise. -For large parallel applications, this system noise can detract for -application scalability. -For optimal application performance, disabling job accounting -is best (jobacct/none). -Consider use of job completion records (JobCompType) for accounting -purposes as this entails far less overhead. -If job accounting is required, configure the sampling interval -to a relatively large size (e.g. JobAcctFrequency=300). -Some experimentation may also be required to deal with collisions -on data transmission.

    - -

    Node Configuration

    - -

    While SLURM can track the amount of memory and disk space actually found -on each compute node and use it for scheduling purposes, this entails -extra overhead. -Optimize performance by specifying the expected configuration using -the available parameters (RealMemory, Procs, and -TmpDisk). -If the node is found to contain less resources than configured, -it will be marked DOWN and not used. -Also set the FastSchedule parameter. -While SLURM can easily handle a heterogeneous cluster, configuring -the nodes using the minimal number of lines in slurm.conf -will both make for easier administration and better performance.

    - -

    Timers

    - -

    The configuration parameter SlurmdTimeout determines the interval -at which slurmctld routinely communicates with slurmd. -Communications occur at half the SlurmdTimeout value. -The purpose of this is to determine when a compute node fails -and thus should not be allocated work. -Longer intervals decrease system noise on compute nodes (we do -synchronize these requests across the cluster, but there will -be some impact upon applications). -For really large clusters, SlurmdTimeoutl values of -120 seconds or more are reasonable.

    - -

    Last modified 28 January 2006

    - - diff --git a/executable_names/doc/html/bluegene.shtml b/executable_names/doc/html/bluegene.shtml deleted file mode 100644 index 475667eea2..0000000000 --- a/executable_names/doc/html/bluegene.shtml +++ /dev/null @@ -1,558 +0,0 @@ - - -

    BlueGene User and Administrator Guide

    - -

    Overview

    - -

    This document describes the unique features of SLURM on the -IBM BlueGene systems. -You should be familiar with the SLURM's mode of operation on Linux clusters -before studying the relatively few differences in BlueGene operation -described in this document.

    - -

    BlueGene systems have several unique features making for a few -differences in how SLURM operates there. -The BlueGene system consists of one or more base partitions or -midplanes connected in a three-dimensional torus. -Each base partition consists of 512 c-nodes each containing two processors; -one designed primarily for computations and the other primarily for managing communications. -The c-nodes can execute only one process and thus are unable to execute both -the user's jobs and SLURM's slurmd daemon. -Thus the slurmd daemon executes on one of the BlueGene Front End Nodes. -This single slurmd daemon provides (almost) all of the normal SLURM services -for every base partition on the system.

    - -

    Internally SLURM treats each base partition as one node with -1024 processors, which keeps the number of entities being managed reasonable. -Since the current BlueGene software can sub-allocate a base partition -into blocks of 32 and/or 128 c-nodes, more than one user job can execute -on each base partition (subject to system administrator configuration). -To effectively utilize this environment, SLURM tools present the user with -the view that each c-nodes is a separate node, so allocation requests -and status information use c-node counts (this is a new feature in -SLURM version 1.1). -Since the c-node count can be very large, the suffix "k" can be used -to represent multiples of 1024 (e.g. "2k" is equivalent to "2048").

    - -

    User Tools

    - -

    The normal set of SLURM user tools: srun, scancel, sinfo, squeue and scontrol -provide all of the expected services except support for job steps. -SLURM performs resource allocation for the job, but initiation of tasks is performed -using the mpirun command. SLURM has no concept of a job step on BlueGene. -Three new srun options are available: ---geometry (specify job size in each dimension), ---no-rotate (disable rotation of geometry), ---conn-type (specify interconnect type between base partitions, mesh or torus). -The --nodes option with a minimum and (optionally) maximum node count continues -to be available. -Note that this is a c-node count.

    - -

    To reiterate: srun is used to submit a job script, but mpirun is used to launch the parallel tasks. -It is highly recommended that the srun --batch option be used to submit a script. -Note that a SLURM batch job's default stdout and stderr file names are generated -using the SLURM job ID. -When the SLURM control daemon is restarted, SLURM job ID values can be repeated, -therefore it is recommended that batch jobs explicitly specify unique names for -stdout and stderr files using the srun options --output and --error -respectively. -While the srun --allocate option may be used to create an interactive SLURM job, -it will be the responsibility of the user to insure that the bgblock -is ready for use before initiating any mpirun commands. -SLURM will assume this responsibility for batch jobs. -The script that you submit to SLURM can contain multiple invocations of mpirun as -well as any desired commands for pre- and post-processing. -The mpirun command will get its bgblock information from the -MPIRUN_PARTITION as set by SLURM. A sample script is shown below. -

    -#!/bin/bash
    -# pre-processing
    -date
    -# processing
    -mpirun -exec /home/user/prog -cwd /home/user -args 123
    -mpirun -exec /home/user/prog -cwd /home/user -args 124
    -# post-processing
    -date 
    -

    - - -

    The naming of base partitions includes a three-digit suffix representing the its -coordinates in the X, Y and Z dimensions with a zero origin. -For example, "bg012" represents the base partition whose coordinate is at X=0, Y=1 and Z=2. In a system -configured with small blocks (any block less than a full base partition) there will be divisions -into the base partition notation. For example, bg012.0 represents the first quarter of a midplane in -BlueGene/L this would be 128 c-node block, and bg012.1.0 would represent the first nodecard in the second -quarter of the base partition, or a 32 c-node block. -Since jobs must allocate consecutive base partitions in all three dimensions, we have developed -an abbreviated format for describing the base partitions in one of these three-dimensional blocks. -The base partition has a prefix determined from the system which is followed by the end-points -of the block enclosed in square-brackets. -For example, "bg[620x731]" is used to represent the eight base partitions enclosed in a block -with endpoints bg620 and bg731 (bg620, bg621, bg630, bg631, bg720, bg721, -bg730 and bg731).

    - -

    One new tool provided is smap. -Smap is aware of system topography and provides a map of what base partitions -are allocated to jobs, partitions, etc. -See the smap man page for details. -A sample of smap output is provided below showing the location of five jobs. -Note the format of the list of base partitions allocated to each job. -Also note that idle (unassigned) base partitions are indicated by a period. -Down and drained base partitions (those not available for use) are -indicated by a number sign (bg703 in the display below). -The legend is for illustrative purposes only. -The origin (zero in every dimension) is shown at the rear left corner of the bottom plane. -Each set of four consecutive lines represents a plane in the Y dimension. -Values in the X dimension increase to the right. -Values in the Z dimension increase down and toward the left.

    - -
    -   a a a a b b d d    ID JOBID PARTITION BG_BLOCK USER   NAME ST TIME NODES BP_LIST
    -  a a a a b b d d     a  12345 batch     RMP0     joseph tst1 R  43:12  32k bg[000x333]
    - a a a a b b c c      b  12346 debug     RMP1     chris  sim3 R  12:34   8k bg[420x533]
    -a a a a b b c c       c  12350 debug     RMP2     danny  job3 R   0:12   4k bg[622x733]
    -                      d  12356 debug     RMP3     dan    colu R  18:05   8k bg[600x731]
    -   a a a a b b d d    e  12378 debug     RMP4     joseph asx4 R   0:34   2k bg[612x713]
    -  a a a a b b d d
    - a a a a b b c c
    -a a a a b b c c
    -
    -   a a a a . . d d
    -  a a a a . . d d
    - a a a a . . e e              Y
    -a a a a . . e e               |
    -                              |
    -   a a a a . . d d            0----X
    -  a a a a . . d d            /
    - a a a a . . . .            /
    -a a a a . . . #            Z
    -
    - -

    Note that jobs enter the SLURM state RUNNING as soon as the have been -allocated a bgblock. -If the bgblock is in a READY state, the job will begin execution almost -immediately. -Otherwise the execution of the job will not actually begin until the -bgblock is in a READY state, which can require booting the block and -a delay of minutes to do so. -You can identify the bgblock associated with your job using the command -smap -Dj -c and the state of the bgblock with the command -smap -Db -c. -The time to boot a bgblock is related to its size, but should range from -from a few minutes to about 15 minutes for a bgblock containing 128 -base partitions. -Only after the bgblock is READY will your job's output file be created -and the script execution begin. -If the bgblock boot fails, SLURM will attempt to reboot several times -before draining the associated base partitions and aborting the job.

    - -

    The job will continue to be in a RUNNING state until the bgjob has -completed and the bgblock ownership is changed. -The time for completing a bgjob has frequently been on the order of -five minutes. -In summary, your job may appear in SLURM as RUNNING for 15 minutes -before the script actually begins to 5 minutes after it completes. -These delays are the result of the BlueGene infrastructure issues and are -not due to anything in SLURM.

    - -

    When using smap in default output mode you can scroll through -the different windows using the arrow keys. -The up and down arrow keys scroll -the window containing the grid, and the left and right arrow -keys scroll the window containing the text information.

    - - - -

    System Administration

    - -

    As of IBM's REV 2 driver SLURM must be built in 64-bit mode. -This can be done by specifying CFLAGS=-m64. -CFLAGS must be set for SLURM to compile correctly.

    - -

    Building a BlueGene compatible system is dependent upon the -configure program locating some expected files. -In particular, the configure script searches for libdb2.so in the -directories /home/bgdb2cli/sqllib and /u/bgdb2cli/sqllib. -If your DB2 library file is in a different location, use the configure -option --with-db2-dir=PATH to specify the parent directory. -If you have the same version of the operating system on both the -Service Node (SN) and the Front End Nodes (FEN) then you can configure -and build one set of files on the SN and install them on both the SN and FEN. -Note that all smap functionality will be provided on the FEN -except for the ability to map SLURM node names to and from -row/rack/midplane data, which requires direct use of the Bridge API -calls only available on the SN.

    - -

    If you have different versions of the operating system on the SN and FEN -(as was the case for some early system installations), then you will need -to configure and build two sets of files for installation. -One set will be for the Service Node (SN), which has direct access to the -Bridge APIs. -The second set will be for the Front End Nodes (FEN), whick lack access to the -Bridge APIs and interact with using Remote Procedure Calls to the slurmctld -daemon. -You should see "#define HAVE_BG 1" and "#define HAVE_FRONT_END 1" in the "config.h" -file for both the SN and FEN builds. -You should also see "#define HAVE_BG_FILES 1" in config.h on the SN before -building SLURM.

    - -

    The slurmctld daemon should execute on the system's service node. -If an optional backup daemon is used, it must be in some location where -it is capable of executing Bridge APIs. -One slurmd daemon should be configured to execute on one of the front end nodes. -That one slurmd daemon represents communications channel for every base partition. -You can use the scontrol command to drain individual nodes as desired and -return them to service.

    - -

    The slurm.conf (configuration) file needs to have the value of InactiveLimit -set to zero or not specified (it defaults to a value of zero). -This is because there are no job steps and we don't want to purge jobs prematurely. -The value of SelectType must be set to "select/bluegene" in order to have -node selection performed using a system aware of the system's topography -and interfaces. -The value of SchedulerType should be set to "sched/builtin". -The value of Prolog should be set to the full pathname of a program that -will delay execution until the bgblock identified by the MPIRUN_PARTITION -environment variable is ready for use. It is recommended that you construct a script -that serves this function and calls the supplied program sbin/slurm_prolog. -The value of Epilog should be set to the full pathname of a program that -will wait until the bgblock identified by the MPIRUN_PARTITION environment -variable is no longer usable by this job. It is recommended that you construct a script -that serves this function and calls the supplied program sbin/slurm_epilog. -The prolog and epilog programs are used to insure proper synchronization -between the slurmctld daemon, the user job, and MMCS. -A multitude of other functions may also be placed into the prolog and -epilog as desired (e.g. enabling/disabling user logins, puring file systmes, -etc.). Sample prolog and epilog scripts follow.

    - -
    -#!/bin/bash
    -# Sample BlueGene Prolog script
    -#
    -# Wait for bgblock to be ready for this job's use
    -/usr/sbin/slurm_prolog
    -
    -
    -#!/bin/bash
    -# Sample BlueGene Epilog script
    -#
    -# Cancel job to start the termination process for this job
    -# and release the bgblock
    -/usr/bin/scancel $SLURM_JOBID
    -#
    -# Wait for bgblock to be released from this job's use
    -/usr/sbin/slurm_epilog
    -
    - -

    Since jobs with different geometries or other characteristics do not interfere -with each other's scheduling, backfill scheduling is not presently meaningful. -SLURM's builtin scheduler on BlueGene will sort pending jobs and then attempt -to schedule all of them in priority order. -This essentially functions as if there is a separate queue for each job size. -Note that SLURM does support different partitions with an assortment of -different scheduling parameters. -For example, SLURM can have defined a partition for full system jobs that -is enabled to execute jobs only at certain times; while a default partition -could be configured to execute jobs at other times. -Jobs could still be queued in a partition that is configured in a DOWN -state and scheduled to execute when changed to an UP state. -Base partitions can also be moved between slurm partitions either by changing -the slurm.conf file and restarting the slurmctld daemon or by using -the scontrol reconfig command.

    - -

    SLURM node and partition descriptions should make use of the -naming conventions described above. For example, -"NodeName=bg[000x733] NodeAddr=frontend0 NodeHostname=frontend0 Procs=1024" -is used in slurm.conf to define a BlueGene system with 128 midplanes -in an 8 by 4 by 4 matrix. -The node name prefix of "bg" defined by NodeName can be anything you want, -but needs to be consistent throughout the slurm.conf file. -Note that the values of both NodeAddr and NodeHostname for all -128 base partitions is the name of the front-end node executing -the slurmd daemon. -No computer is actually expected to a hostname of "bg000" and no -attempt will be made to route message traffic to this address.

    - -

    While users are unable to initiate SLURM job steps on BlueGene systems, -this restriction does not apply to user root or SlurmUser. -Be advised that the one slurmd supporting all nodes is unable to manage a -large number of job steps, so this ability should be used only to verify normal -SLURM operation. -If large numbers of job steps are initiated by slurmd, expect the daemon to -fail due to lack of memory or other resources. -It is best to minimize other work on the front-end node executing slurmd -so as to maximize its performance and minimize other risk factors.

    - -

    In addition to the normal slurm.conf file, a new -bluegene.conf configuration file is required with information pertainate -to the sytem. -Put bluegene.conf into the SLURM configuration directory with -slurm.conf. -A sample file is installed in bluegene.conf.example. -System administrators should use the smap tool to build appropriate -configuration file for static partitioning. -Note that smap -Dc can be run without the SLURM daemons -active to establish the initial configuration. -Note that the defined bgblocks may not overlap (except for the -full-system bgblock, which is implicitly created). -See the smap man page for more information.

    - -

    There are 3 different modes which the system administrator can define -BlueGene partitions (or bgblocks) available to execute jobs: static, -overlap, and dynamic. -Jobs must then execute in one of the created bgblocks. -(NOTE: bgblocks are unrelated to SLURM partitions.)

    - -

    The default mode of partitioning is static. -In this mode, the system administrator must explicitly define each -of the bgblocks in the bluegene.conf file. -Each of these bgblocks are explicitly configured with either a -mesh or torus interconnect. -They must also not overlap, except for the implicitly defined full-system -bgblock. -Note that bgblocks are not rebooted between jobs in the mode -except when going to/from full-system jobs. -Eliminating bgblock booting can significantly improve system -utilization (eliminating boot time) and reliability.

    - -

    The second mode is overlap partitioning. -Overlap partitioning is very similar to static partitioning in that -each bgblocks must be explicitly defined in the bluegene.conf -file, but these partitions can overlap each other. -In this mode it is highly recommended that none of the bgblocks -have any passthroughs in the X-dimension associated to them. -Usually this is only an issue on larger BlueGene systems. -It is advisable to use this mode with extreme caution. -Make sure you know what you doing to assure the bgblocks will -boot without dependency on the state of any base partition -not included the bgblock.

    - -

    In the two previous modes you must insure that the base -partitions defined in bluegene.conf are consistent with -those defined in slurm.conf. -Note the bluegene.conf file contains only the numeric -coordinates of base partitions while slurm.conf contains -the name prefix in addition to the numeric coordinates.

    - -

    The final mode is dynamic partitioning. -Dynamic partitioning was developed primarily for smaller BlueGene systems, -but can be used on larger systems. -Dynamic partitioning may introduce fragmentation of resources. -This fragementaiton may be severe since SLURM will run a job anywhere -resources are avaliable with little thought of the future. -As with overlap partitioning, use dynamic partitioning with -caution! -This mode can result in job starvation since smaller jobs will run -if resources are avaliable and prevent larger jobs from running. -Bgblocks need not be assigned in the bluegene.conf file -for this mode.

    - -

    Blocks can be freed or set in an error state with scontrol, -(i.e. "scontrol update BlockName=RMP0 state=error"). -This will end any job on the block and set the state of the block to ERROR -making it so no job will run on the block. To set it back to a usuable -state set the state to free (i.e. -"scontrol update BlockName=RMP0 state=free"). - -

    One of these modes must be defined in the bluegene.conf file -with the option LayoutMode=MODE (where MODE=STATIC, DYNAMIC or OVERLAP).

    - -

    The number of c-nodes in a base partition and in a node card must -be defined. -This is done using the keywords BasePartitionNodeCnt=NODE_COUNT -and NodeCardNodeCnt=NODE_COUNT respectively in the bluegene.conf -file (i.e. BasePartitionNodeCnt=512 and NodeCardNodeCnt=32).

    - -

    Note that the Image and Numpsets values defined in -bluegene.conf are used only when SLURM creates bgblocks. -If previously defined bgblocks are used by SLURM, their configurations -are not altered. -If you change the bgblock layout, then slurmctld and slurmd should -both be cold-started (e.g. /etc/init.d/slurm startclean). -If you which to modify the Image and Numpsets values -for existing bgblocks, either modify them manually or destroy the bgblocks -and let SLURM recreate them. -Note that in addition to the bgblocks defined in bluegene.conf, an -additional bgblock is created containing all resources defined -all of the other defined bgblocks. -Make use of the SLURM partition mechanism to control access to these -bgblocks. -A sample bluegene.conf file is shown below. -

    -###############################################################################
    -# Global specifications for BlueGene system
    -#
    -# BlrtsImage:           BlrtsImage used for creation of all bgblocks.
    -# LinuxImage:           LinuxImage used for creation of all bgblocks.
    -# MloaderImage:         MloaderImage used for creation of all bgblocks.
    -# RamDiskImage:         RamDiskImage used for creation of all bgblocks.
    -# LayoutMode:           Mode in which slurm will create blocks:
    -#                       STATIC:  Use defined non-overlapping bgblocks
    -#                       OVERLAP: Use defined bgblocks, which may overlap
    -#                       DYNAMIC: Create bgblocks as needed for each job
    -# BasePartitionNodeCnt: Number of c-nodes per base partition  
    -# NodeCardNodeCnt:      Number of c-nodes per node card.
    -# Numpsets:             The Numpsets used for creation of all bgblocks 
    -#                       equals this value multiplied by the number of 
    -#                       base partitions in the bgblock.
    -#
    -# BridgeAPILogFile:  Pathname of file in which to write the 
    -#                    Bridge API logs.
    -# BridgeAPIVerbose:  How verbose the BG Bridge API logs should be
    -#                    0: Log only error and warning messages
    -#                    1: Log level 0 and information messages
    -#                    2: Log level 1 and basic debug messages
    -#                    3: Log level 2 and more debug message
    -#                    4: Log all messages
    -#
    -# NOTE: The bgl_serial value is set at configuration time using the 
    -#       "--with-bgl-serial=" option. Its default value is "BGL".
    -###############################################################################
    -BlrtsImage=/bgl/BlueLight/ppcfloor/bglsys/bin/rts_hw.rts
    -LinuxImage=/bgl/BlueLight/ppcfloor/bglsys/bin/zImage.elf
    -MloaderImage=/bgl/BlueLight/ppcfloor/bglsys/bin/mmcs-mloader.rts
    -RamDiskImage=/bgl/BlueLight/ppcfloor/bglsys/bin/ramdisk.elf
    -LayoutMode=STATIC
    -BasePartitionNodeCnt=512
    -NodeCardNodeCnt=32
    -Numpsets=8
    -BridgeAPILogFile=/var/log/slurm/bridgeapi.log
    -BridgeAPIVerbose=0
    -
    -###############################################################################
    -# Define the static/overlap partitions (bgblocks)
    -#
    -# BPs: The base partitions (midplanes) in the bgblock using XYZ coordinates
    -# Type:  Connection type "MESH" or "TORUS" or "SMALL", default is "TORUS" 
    -#        Type SMALL will divide a midplane into multiple bgblocks
    -#        based off options NodeCards and Quarters to determine type of 
    -#        small blocks.
    -#
    -# IMPORTANT NOTES:
    -# * Ordering is very important for laying out switch wires.  Please create
    -#   blocks with smap, and once done don't move the order of blocks
    -#   created.
    -# * A bgblock is implicitly created containing all resources on the system
    -# * Bgblocks must not overlap (except for implicitly created bgblock)
    -#   This will be the case when smap is used to create a configuration file
    -# * All Base partitions defined here must also be defined in the slurm.conf file
    -# * Define only the numeric coordinates of the bgblocks here. The prefix
    -#   will be based upon the name defined in slurm.conf
    -###############################################################################
    -# LEAVE NEXT LINE AS A COMMENT, Full-system bgblock, implicitly created
    -# BPs=[000x001] Type=TORUS       # 1x1x2 = 2 midplanes
    -###############################################################################
    -# volume = 1x1x1 = 1
    -BPs=[000x000] Type=TORUS                         # 1x1x1 =  1 midplane
    -BPs=[001x001] Type=SMALL NodeCards=4 Quarters=3  # 1x1x1 = 4-Nodecard sized 
    -                                                 # cnode blocks 3-Base 
    -                                                 # Partition Quarter sized 
    -                                                 # c-node blocks
    -
    -

    - -

    The above bluegene.conf file defines multiple bgblocks to be -created in a single midplane (see the "SMALL" option). -Using this mechanism, up to 32 independent jobs can be executed -simultaneously on a one-rack BlueGene system. -If defining bgblocks of Type=SMALL, the SLURM partition -containing them as defined in slurm.conf must have the -parameter Shared=force to enable scheduling of multiple -jobs on what SLURM considers a single node. -SLURM partitions that do not contain bgblocks of Type=SMALL -may have the parameter Shared=no for a slight improvement in -scheduler performance. -As in all SLURM configuration files, parameters and values -are case insensitive.

    - -

    One more thing is required to support SLURM interactions with -the DB2 database (at least as of the time this was written). -DB2 database access is required by the slurmctld daemon only. -All other SLURM daemons and commands interact with DB2 using -remote procedure calls, which are processed by slurmctld. -DB2 access is dependent upon the environment variable -BRIDGE_CONFIG_FILE. -Make sure this is set appropriate before initiating the -slurmctld daemon. -If desired, this environment variable and any other logic -can be executed through the script /etc/sysconfig/slurm, -which is automatically executed by /etc/init.d/slurm -prior to initiating the SLURM daemons.

    - -

    When slurmctld is initially started on an idle system, the bgblocks -already defined in MMCS are read using the Bridge APIs. -If these bgblocks do not correspond to those defined in the bluegene.conf -file, the old bgblocks with a prefix of "RMP" are destroyed and new ones -created. -When a job is scheduled, the appropriate bgblock is identified, -its user set, and it is booted. -Node use (virtual or coprocessor) is set from the mpirun command line now, -SLURM has nothing to do with setting the node use. -Subsequent jobs use this same bgblock without rebooting by changing -the associated user field. -The only time bgblocks should be freed and rebooted, in normal operation, -is when going to or from full-system -jobs (two or more bgblocks sharing base partitions can not be in a -ready state at the same time). -When this logic became available at LLNL, approximately 85 percent of -bgblock boots were eliminated and the overhead of job startup went -from about 24% to about 6% of total job time. -Note that bgblocks will remain in a ready (booted) state when -the SLURM daemons are stopped. -This permits SLURM daemon restarts without loss of running jobs -or rebooting of bgblocks.

    - -

    Be aware that SLURM will issue multiple bgblock boot requests as -needed (e.g. when the boot fails). -If the bgblock boot requests repeatedly fail, SLURM will configure -the failing base partitions to a DRAINED state so as to avoid continuing -repeated reboots and the likely failure of user jobs. -A system administrator should address the problem before returning -the base partitions to service.

    - -

    If you cold-start slurmctld (/etc/init.d/slurm startclean -or slurmctld -c) it is recommended that you also cold-start -the slurmd at the same time. -Failure to do so may result in errors being reported by both slurmd -and slurmctld due to bgblocks that previously existed being deleted.

    - -

    A new tool sfree has also been added to help system -administrators free a bgblock on request (i.e. -"sfree --bgblock=<blockname>"). -Run sfree --help for more information.

    - -

    Debugging

    - -

    All of the testing and debugging guidance provided in - Quick Start Administrator Guide -apply to BlueGene systems. -One can start the slurmctld and slurmd in the foreground -with extensive debugging to establish basic functionality. -Once running in production, the configured SlurmctldLog and -SlurmdLog files will provide historical system information. -On BlueGene systems, there is also a BridgeAPILogFile defined -in bluegene.conf which can be configured to contain detailed -information about every Bridge API call issued.

    - -

    Note that slurmcltld log messages of the sort -Nodes bg[000x133] not responding are indicative of the slurmd -daemon serving as a front-end to those base partitions is not responding (on -non-BlueGene systems, the slurmd actually does run on the compute -nodes, so the message is more meaningful there).

    - -

    Note that you can emulate a BlueGene system on stand-alone Linux -system. -Run configure with the --enable-bluegene-emulation option. -This will define "HAVE_BG" and "HAVE_FRONT_END" in the config.h file. -Then execute make normally. -These variables will build the code as if it were running -on an actual BlueGene computer, but avoid making calls to the -Bridge libary (that is controlled by the variable "HAVE_BG_FILES", -which is left undefined). You can use this to test configurations, -scheduling logic, etc.

    - - - -

    Last modified 29 September 2006

    - - diff --git a/executable_names/doc/html/checkpoint_plugins.shtml b/executable_names/doc/html/checkpoint_plugins.shtml deleted file mode 100644 index 1313e86f07..0000000000 --- a/executable_names/doc/html/checkpoint_plugins.shtml +++ /dev/null @@ -1,151 +0,0 @@ - - -

    SLURM Job Checkpoint Plugin API

    - -

    Overview

    -

    This document describes SLURM job checkpoint plugins and the API that defines -them. It is intended as a resource to programmers wishing to write their own SLURM -job checkpoint plugins. This is version 0 of the API.

    - -

    SLURM job checkpoint plugins are SLURM plugins that implement the SLURM -API for checkpointing and restarting jobs. -The plugins must conform to the SLURM Plugin API with the following specifications:

    - -

    const char plugin_type[]
    -The major type must be "checkpoint." The minor type can be any recognizable -abbreviation for the type of scheduler. We recommend, for example:

    -
      -
    • none—No job checkpoint.
    • -
    • aix—AIX system checkpoint.
    • -

    - -

    The plugin_name and -plugin_version -symbols required by the SLURM Plugin API require no specialization for -job checkpoint support. -Note carefully, however, the versioning discussion below.

    - -

    The programmer is urged to study -src/plugins/checkpoint/checkpoint_aix.c -for a sample implementation of a SLURM job checkpoint plugin.

    - - -

    Data Objects

    -

    The implementation must maintain (though not necessarily directly export) an -enumerated errno to allow SLURM to discover -as practically as possible the reason for any failed API call. Plugin-specific enumerated -integer values may be used when appropriate. - -

    These values must not be used as return values in integer-valued functions -in the API. The proper error return value from integer-valued functions is SLURM_ERROR. -The implementation should endeavor to provide useful and pertinent information by -whatever means is practical. -Successful API calls are not required to reset any errno to a known value. However, -the initial value of any errno, prior to any error condition arising, should be -SLURM_SUCCESS.

    - -

    There is also a checkpoint-specific error code and message that may be associated -with each job step.

    - - -

    API Functions

    -

    The following functions must appear. Functions which are not implemented should -be stubbed.

    - -

    int slurm_ckpt_alloc_job (check_jobinfo_t *jobinfo);

    -

    Description: Allocate storage for job-step specific -checkpoint data.

    -

    Argument: jobinfo  -  (output) returns pointer to the allocated storage.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int slurm_ckpt_free_job (check_jobinfo_t jobinfo);

    -

    Description: Release storage for job-step specific -checkpoint data that was previously allocated by slurm_ckpt_alloc_job.

    -

    Argument: jobinfo  -  (input) pointer to the previously allocated storage.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int slurm_ckpt_pack_job (check_jobinfo_t jobinfo, Buf buffer);

    -

    Description: Store job-step specific checkpoint data -into a buffer.

    -

    Arguments:
    - jobinfo  -  (input) pointer to the previously allocated storage.
    -Buf    (input/output) buffer to which -jobinfo has been appended.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int slurm_ckpt_unpack_job (check_jobinfo_t jobinfo, Buf buffer);

    -

    Description: Retrieve job-step specific checkpoint data -from a buffer.

    -

    Arguments:
    - jobinfo  -  (output) pointer to the previously allocated storage.
    -Buf    (input/output) buffer from which -jobinfo has been removed.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int slurm_ckpt_op ( uint16_t op, uint16_t data, -struct step_record * step_ptr, time_t * event_time, -uint32_t *error_code, char **error_msg );

    -

    Description: Perform some checkpoint operation on a -specific job step.

    -

    Arguments:
    - op  -  (input) specifies the operation to be performed. Currently supported -operations include CHECK_ABLE (is job step currently able to be checkpointed), -CHECK_DISABLE (disable checkpoints for this job step), -CHECK_ENABLE (enable checkpoints for this job step), -CHECK_CREATE (create a checkpoint for this job step and continue its execution), -CHECK_VACATE (create a checkpoint for this job step and terminate it), -CHECK_RESTART (restart this previously checkpointed job step), and -CHECK_ERROR (return checkpoint-specific error information for this job step).
    -data    (input) operation-specific -data.
    -step_ptr   (input/output) identifies -the job step to be operated upon.
    -event_time    (output) identifies -the time of a checkpoint or restart operation.
    -error_code    (output) returns -checkpoint-specific error code associated with an operation.
    -error_msg    (output) identifies -checkpoint-specific error message associated with an operation.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the error_code and error_msg to an -appropriate value to indicate the reason for failure.

    - -

    int slurm_ckpt_comp ( struct step_record * step_ptr, time_t event_time, -uint32_t error_code, char *error_msg );

    -

    Description: Note the completion of a checkpoint operation.

    -

    Arguments:
    -step_ptr   (input/output) identifies -the job step to be operated upon.
    -event_time    (input) identifies -the time that the checkpoint operation began.
    -error_code    (input) -checkpoint-specific error code associated with an operation.
    -error_msg    (input) -checkpoint-specific error message associated with an operation.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the error_code and error_msg to an -appropriate value to indicate the reason for failure.

    - - -

    Versioning

    -

    This document describes version 0 of the SLURM checkpoint API. Future -releases of SLURM may revise this API. A scheduler plugin conveys its ability -to implement a particular API version using the mechanism outlined for SLURM plugins.

    - - -

    Last modified 10 July 2005

    - - diff --git a/executable_names/doc/html/coding_style.pdf b/executable_names/doc/html/coding_style.pdf deleted file mode 100644 index d7f5fdf2bce8d60e50983a7d1d4081aedd739ecf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21725 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 and Danny Auble - -This file is part of SLURM, a resource management program. -For details, see . - -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. - -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -You should have received a copy of the GNU General Public License along -with SLURM; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -$Id$ ---> - -SLURM System Configuration Tool - - - -
    -

    SLURM Configration Tool, Version @SLURM_MAJOR@.@SLURM_MINOR@

    -

    This form can be used to create a SLURM configuration file with -you controlling many of the important configuration parameters. -This tool supports SLURM version @SLURM_MAJOR@.@SLURM_MINOR@. -Configuration files for other versions of SLURM should be built -using the tool distributed with it in doc/html/configurator.html. -Some parameters will be set to default values, but you can -manually edit the resulting slurm.conf as desired -for greater flexibiilty. See man slurm.conf for more -details about the configuration parameters. - -

    After you have filled in the fields of interest, use the -"Submit" button on the bottom of the page to build the slurm.conf -file. It will appear on your web browser. Save the file in text format -as slurm.conf for use by SLURM. - -

    For more information about SLURM, see -http://www.llnl.gov/linux/slurm -

    -Privacy and legal notice - -

    Control Machines

    -Define the hostname of the computer on which the SLURM controller and -optional backup controller will execute. You can also specify addresses -of these computers if desired (defaults to their hostnames). -The IP addresses can be either numeric IP addresses or names. -Hostname values should should not be the fully qualified domain -name (e.g. use linux rather than linux.llnl.gov). -

    - ControlMachine: -Master Controller Hostname -

    - ControlAddr: Master Controller -Address (optional) -

    - BackupController: Backup -Controller Hostname (optional) -

    - BackupAddr: Backup Controller -Address (optional) -

    - -

    Compute Machines

    -Define the machines on which user applications can run. -You can also specify addresses of these computers if desired -(defaults to their hostnames). -Only a few of the possible parameters associated with the nodes will -be set by this tool, but many others are available. -All of the nodes will be placed into a single partition (or queue) -with global access. Many options are availble to group nodes into -partitions with a wide variety of configuration parameters. -Manually edit the slurm.conf produced to exercise these options. -Node names and addresses may be specified using a numeric range specification. - -

    - NodeName: -Compute nodes -

    - NodeAddr: Compute node addresses -(optional) -

    - PartitionName: -Name of the one partition to be created -

    - MaxTime: -Maximum time limit of jobs in minutes or INFINITE -

    -The following parameters are optional, -but can be specified when using FastSchedule=1: -

    - Procs: Count of processors -on each compute node. -If Procs is omitted, it will be inferred from: -Sockets, CoresPerSocket, and ThreadsPerCore. -

    - -Sockets: -Number of physical processor sockets/chips on the node. -If Sockets is omitted, it will be inferred from: -Procs, CoresPerSocket, and ThreadsPerCore. -

    - -CoresPerSocket: -Number of cores in a single physical processor socket. -The CoresPerSocket value describes physical cores, not -the logical number of processors per socket. -

    - -ThreadsPerCore: -Number of logical threads in a single physical core. -

    - Memory: Amount -of real memory. This parameter is required when specifying Memory as a -consumable resource with the select/cons_res plug-in. See below -under Resource Selection. -

    - -

    SLURM User

    -The SLURM controller (slurmctld) can run without elevated privileges, -so it is recommended that a user "slurm" be created for it. For testing -purposes any user name can be used. -

    - SlurmUser -

    - -

    Group ID Caching

    - -If you have a slow NIS environment, big parallel jobs take a long time -to start up (and may eventually time-out) because the NIS server(s) -may not be able to quickly respond to simultaneous requests from -multiple slurmd's. You can instruct slurmd to cache /etc/groups -entries to prevent this from happening by setting -CacheGroups=1. Reconfiguring ("scontrol reconfig") with -CacheGroups=0 will cause slurmd to purge the cache. Select one -value for CacheGroups:
    - -0: for normal environment.
    - -1: for slow NIS environment. -

    -WARNING: The group ID cache does not try to keep itself in sync with -the system. You MUST run "scontrol reconfig" to update the cache -after making any changes to system password or group databases. -

    - -

    SLURM Port Numbers

    -The SLURM controller (slurmctld) requires a unique port for communcations -as do the SLURM compute node deamonds (slurmd). If not set, slurm ports -are set by checking for an entry in /etc/services and if that -fails by using an interal default set at SLURM build time. -

    - SlurmctldPort -

    - SlurmdPort -

    - -

    Authentication

    -Define the method used for authenticating communicating between SLURM components.
    -Select one value for AuthType:
    - None: No authentication, -not recommended production use
    - Authd: Brent Chun's authd
    - Munge: LLNL's Munge
    -

    -Define the location of public and private SSL keys used by SLURM. -These need to be generated by the SLURM administrator. -Specify fully qualified pathnames. Both values are required. -

    - JobCredentialPrivateKey -

    - JobCredentialPublicCertificate -

    - -

    State Preservation

    -Define the location of a directory where the slurmctld daemon saves its state. -This should be a fully qualified pathname which can be read and written to -by the SLURM user on both the control machine and backup controller (if configured). -The location of a directory where slurmd saves state should also be defined. -This must be a unique directory on each compute server (local disk). -

    - StateSaveLocation: -Slurmctld state save directory -

    - SlurmdSpoolDir: -Slurmd state save directory -

    -Define when a non-responding (DOWN) node is returned to service.
    -Select one value for ReturnToService:
    - -0: When explicitly restored to service by an administrator.
    - -1: Automatically, when slurmd daemon registers with valid configuration
    -

    - -

    Scheduling

    -Define the mechanism to be used for controlling job ordering.
    -Select one value for SchedulerType:
    - Builtin: First-In -First-Out (FIFO)
    - Backfill: -FIFO with backfill
    - Wiki: Wiki interface to Maui -(configuration parameters SchedulerAuth and SchedulerPort must specified)
    -

    - SchedulerPort: scheduler -communcations port (used by Wiki only) -

    -Define what node configuration should be used. -Using values defined in the configuration file will provide faster scheduling.
    -Select one value for FastSchedule:
    - -1: Use node configuration values defined in configuration file
    - -0: Use node configuration values actually found on each node -

    - -

    Interconnect

    -Define the node interconnect used.
    -Select one value for SwitchType:
    - Elan: Quadrics Elan3 or Elan4
    - Federation: IBM -Federation Switch
    - None: No special -handling required (InfiniBand, Myrinet, Ethernet, etc.)
    -

    - -

    Default MPI Type

    -Specify the type of MPI to be used by default. SLURM will configure environment -variables accordingly. Users can over-ride this specification with an srun option.
    -Select one value for MpiDefault:
    - Mpich-Gm
    - MVAPICH
    - None: This works -for most other MPI types including LAM MPI and Open MPI
    -

    - -

    Process Tracking

    -Define the algorithm used to identify which processes are associated with a -given job. This is used signal, kill, and account for the processes associated -with a job step.
    -Select one value for ProctrackType:
    - AIX: Use AIX kernel -extension, recommended for AIX systems
    - Pgid: Use Unix -Process Group ID, processes changing their process group ID can escape from SLURM -control
    - LinuxProc: Use -parent process ID records, required for MPICH-GM use, processes can escape -from SLURM control
    - RMS: Use Quadrics -kernel infrastructure, recommended for systems where this is available
    - SGI's PAGG -module: Use SGI's Process -Aggregates (PAGG) kernel module, recommended where available
    -

    - -

    Resource Selection

    -Define resource (node) selection algorithm to be used.
    -Select one value for SelectType:
    - -Cons_res: Allocate -individual processors and memory
    -
    -
    -
    SelectTypeParameters (As used by SelectType=Cons_res only): -
    Note: The -E extension for sockets, cores, and threads - are ignored within the node allocation mechanism - when CR_CPU or CR_CPU_MEMORY is selected. - They are considered to compute the total number of - tasks when -n is not specified -
    Note: All CR_s assume Shared=No or Shared=Force EXCEPT for - CR_MEMORY which assumes Shared=Yes -
    - CR_CPU: (default) - CPUs as consumable resources. -
    No notion of sockets, cores, or threads. - On a multi-core system, cores will be considered CPUs. - On a multi-core/hyperthread system, threads will be considered CPUs. - On a single-core systems CPUs are CPUs. ;-) -
    - CR_Socket: Sockets as a consumable resource. -
    - CR_Core: Cores as a consumable resource. -
    - CR_Memory: Memory as a consumable resource. -
    Note: CR_Memory assumes Shared=Yes -
    - CR_CPU_Memory: - CPU and Memory as consumable resources. -
    - CR_Socket_Memory: - Socket and Memory as consumable resources. -
    - CR_Core_Memory: - Core and Memory as consumable resources. -
    -
    - -Linear: Node-base -resource allocation, does not manage indivual processor allocation
    - -BlueGene: For IBM Blue Gene systems only
    -

    - -

    Task Launch

    -Define a task launch plugin. This may be used to -provide resource management within a node (e.g. pinning -tasks to specific processors). -Select one value for TaskPlugin:
    - None: No task launch actions
    - Affinity: -CPU affinity support -(see srun man pages for the --cpu_bind, --mem_bind, and -E options) -

    - -

    Prolog and Epilog

    -

    -Prolog/Epilog: Fully qualified path that will be executed as -root on every node of a user's job before the job's tasks -will be initiated there and after that job has terminated. -These parameters are optional. -

    -
    Prolog -
    Epilog -
    - -

    -SrunProlog/Epilog: Fully qualified path to be executed by srun at -job step initiation and termination. These parameters may be overridden by -srun's --prolog and --epilog options -These parameters are optional. -

    -
    SrunProlog -
    SrunEpilog -
    - -

    -TaskProlog/Epilog: Fully qualified path to be executed as the user -before each task begins execution and after each task terminates. -These parameters are optional. -

    -
    TaskProlog -
    TaskEpilog -
    - -

    Event Logging

    -Slurmctld and slurmd daemons can each be configured with different -levels of logging verbosity from 0 (quiet) to 7 (extremely verbose). -Each may also be configured to use debug files. Use fully qualified -pathnames for the files. -

    - SlurmctldDebug (0 to 7) -

    - SlurmctldLogFile (default is none, log goes to syslog) -

    - SlurmdDebug (0 to 7) -

    - SlurmdLogFile (default is none, -log goes to syslog, string "%h" in name gets replaced with hostname) -

    - -

    Job Completion Logging

    -Define the job completion logging mechanism to be used.
    -Select one value for JobCompType:
    - None: No job -completion logging
    - FileTxt: Write job -completion status to a text file
    - Script: Use an -arbitrary script to log job completion
    -

    - JobCompLoc: Location specification. -This is the location of the text file to be written to or the script to be run (depends -upon logging mode). Use a fully qualified pathname. -

    - -

    Job Accounting

    -SLURM accounts for resource use per job. System specifics can be polled -determined by system type
    -Select one value for JobAcctType:
    - None: No -job accounting
    - Linux: Specifc -Linux proc table information gathered, use with Linux systems only
    - JobAcctFrequency: -polling interval in seconds.
    - JobAcctLogFile: -Location specification. -This is the location of the text file to be written to (used by Log only). -Use a fully qualified pathname. -

    - -

    Process ID Logging

    -Define the location into which we can record the daemon's process ID. -This is used for locate the appropriate daemon for signalling. -Specify a specify the fully qualified pathname for the file. -

    - -SlurmctldPidFile -

    - -SlurmdPidFile -

    - -

    Timers

    -SLURM has a variety of timers to control when to consider a node DOWN, -when to purge job records, how long to give a job to gracefully terminate, etc. -

    - -SlurmctldTimeout: How many seconds the backup controller waits before -becoming the master controller -

    - -SlurmdTimeout: How many seconds the SLURM controller waits for the slurmd -to respond to a request before considering the node DOWN -

    - -InactiveLimit: How many seconds the SLURM controller waits for srun -commands to respond before considering the job or job step inactive and -terminating it. A value of zero indicates unlimited wait -

    - -MinJobAge: How many seconds the SLURM controller waits after a -job terminates before purging its record. A record of the job will -persist in job completion and/or accounting records indefinitely, -but will no longer be visible with the squeue command after puring -

    - -KillWait: How many seconds a job is given to gracefully terminate -after reaching its time limit and being sent SIGTERM before sending -a SIGKILLL -

    - -WaitTime: How many seconds after a job step's first task terminates -before terminating all remaining tasks. A value of zero indicates unlimited wait -

    - -
    -
    - - -

    -

    -
    - - - diff --git a/executable_names/doc/html/cons_res.shtml b/executable_names/doc/html/cons_res.shtml deleted file mode 100644 index d4649fbc72..0000000000 --- a/executable_names/doc/html/cons_res.shtml +++ /dev/null @@ -1,484 +0,0 @@ - - -

    Consumable Resources in SLURM

    - -

    SLURM, using the default node allocation plug-in, allocates nodes to jobs in -exclusive mode. This means that even when all the resources within a node are -not utilized by a given job, another job will not have access to these resources. -Nodes possess resources such as processors, memory, swap, local -disk, etc. and jobs consume these resources. The exclusive use default policy -in SLURM can result in inefficient utilization of the cluster and of its nodes -resources. - -

    A plug-in supporting CPUs as a consumable resource is available in -SLURM 0.5.0 and newer versions of SLURM. Information on how to use -this plug-in is described below. -

    - -

    Using the Consumable Resource Node Allocation Plugin: select/cons_res

    - -
      -
    1. SLURM v0.5 and up to SLURM v1.1: ONLY CPUs as a consumable resource
    2. -
        -
      • Managing CPUs as a consumable resource means that SLURM will - not overallocate CPUs. In this implementation it is possible to oversubscribe - memory if co-located jobs are using more memory than is available on the node. - See features for SLURM 1.2 (below) for memory as a consumable resource.
      • -
      • The consumable resource plugin is enabled via SelectType in the - slurm.conf (e.g. SelectType=select/cons_res).
      • -
        -#
        -# "SelectType"			: node selection logic for scheduling.
        -#	"select/bluegene"	: the default on BlueGene systems, aware of
        -#				  system topology, manages bglblocks, etc.
        -#	"select/cons_res"	: allocate individual consumable resources
        -#				  (i.e. processors, memory, etc.)
        -#	"select/linear"		: the default on non-BlueGene systems,
        -#				  no topology awareness, oriented toward
        -#				  allocating nodes to jobs rather than
        -#				  resources within a node (e.g. CPUs)
        -#
        -# SelectType=select/linear
        -SelectType=select/cons_res
        -
        -
      • The select/cons_res plug-in requires SHARED=No at the - partition level.
      • -
      • Using the --overcommit or -O switch in the - select/cons_res environment is only possible when users - request dedicated nodes using --exclusive.
      • - Overcommiting CPUs in a non-dedicated environment would impact - jobs that are co-located on the nodes which is not a desirable - feature. This feature is available in SLURM 1.2 (see below). -
      -
    3. SLURM 1.2 and newer versions of SLURM
    4. -
        -
      • Consumable resources has been enhanced with several new resources - --namely CPU (same as in previous version), Socket, Core, Memory - as well as any combination of the logical processors with Memory:
      • -
          -
        • CPU (CR_CPU): CPU as a consumable resource. -
            -
          • No notion of sockets, cores, or threads.
          • -
          • On a multi-core system CPUs will be cores.
          • -
          • On a multi-core/hyperthread system CPUs will be threads.
          • -
          • On a single-core systems CPUs are CPUs. ;-)
          • -
          -
        • Socket (CR_Socket): Socket as a consumable - resource.
        • -
        • Core (CR_Core): Core as a consumable - resource.
        • -
        • Memory (CR_Memory) Memory only as a - consumable resource. Note! CR_Memory assumes Shared=Yes
        • -
        • Socket and Memory (CR_Socket_Memory): Socket - and Memory as consumable resources.
        • -
        • Core and Memory (CR_Core_Memory): Core and - Memory as consumable resources.
        • -
        • CPU and Memory (CR_CPU_Memory) CPU and Memory - as consumable resources.
        • -
        -
      • In the cases where Memory is the consumable resource or one of - the two consumable resources the Memory parameter which - defines a node amount of real memory in slurm.conf must be - set when fastschedule=1. -
      • srun's -E extension for sockets, cores, and threads are - ignored within the node allocation mechanism when CR_CPU or - CR_CPU_MEMORY is selected. It is considered to compute the total - number of tasks when -n is not specified.
      • -
      • A new srun switch --job-mem=MB was added to allow users - to specify the maximum amount of real memory per node required - by their application. This switch is needed in the environments - were Memory is a consumable resource. It is important to specify - enough memory since slurmd will not allow the application to use - more than the requested amount of real memory per node. The - default value for --job-mem is 1 MB. see srun man page for more - details.
      • -
      • All CR_s assume Shared=No or Shared=Force EXCEPT for - CR_MEMORY which assumes Shared=Yes
      • -
      • The consumable resource plugin is enabled via SelectType and - SelectTypeParameter in the slurm.conf.
      • -
        -#
        -# "SelectType"			: node selection logic for scheduling.
        -#	"select/bluegene"	: the default on BlueGene systems, aware of
        -#				  system topology, manages bglblocks, etc.
        -#	"select/cons_res"	: allocate individual consumable resources
        -#				  (i.e. processors, memory, etc.)
        -#	"select/linear"		: the default on non-BlueGene systems,
        -#				  no topology awareness, oriented toward
        -#				  allocating nodes to jobs rather than
        -#				  resources within a node (e.g. CPUs)
        -#
        -# SelectType=select/linear
        -SelectType=select/cons_res
        -
        -# o Define parameters to describe the SelectType plugin. For
        -#    - select/bluegene - this parameter is currently ignored
        -#    - select/linear   - this parameter is currently ignored
        -#    - select/cons_res - the parameters available are
        -#          - CR_CPU     (1) - CPUs as consumable resources. 
        -#                      	No notion of sockets, cores, or threads. 
        -#                      	On a multi-core system CPUs will be cores
        -#                      	On a multi-core/hyperthread system CPUs will 
        -#                      		       be threads
        -#                      	On a single-core systems CPUs are CPUs. ;-)
        -#          - CR_Socket (2) - Sockets as a consumable resource.
        -#          - CR_Core   (3) - Cores as a consumable resource. 
        -#				(Not yet implemented)
        -#          - CR_Memory (4) - Memory as a consumable resource. 
        -#				Note! CR_Memory assumes Shared=Yes
        -#          - CR_Socket_Memory (5) - Socket and Memory as consumable 
        -#				resources.
        -#          - CR_Core_Memory (6) - Core and Memory as consumable 
        -#				resources. (Not yet implemented)	
        -#          - CR_CPU_Memory (7) - CPU and Memory as consumable 
        -#				resources.
        -#
        -# (#) refer to the output of "scontrol show config"
        -#
        -# NB!:	The -E extension for sockets, cores, and threads 
        -#	are ignored within the node allocation mechanism 
        -#	when CR_CPU or CR_CPU_MEMORY is selected. 
        -#	They are considered to compute the total number of 
        -#	tasks when -n is not specified
        -#
        -# NB! All CR_s assume Shared=No or Shared=Force EXCEPT for 
        -#	CR_MEMORY which assumes Shared=Yes
        -#
        -#SelectTypeParameters=CR_CPU (default)
        -
        -
      • Using --overcommit or -O is allowed in this new version - of consumable resources. When the process to logical processor pinning is - enabled (task/affinity plug-in) the extra processes will not affect - co-scheduled jobs other than other jobs started with the -O flag. - We are currently investigating alternative approaches of handling the - pinning of jobs started with --overcommit
      • -
      • -c or --cpus-per-task works in this version of - consumable resources
      • -
      -
    5. General comments
    6. -
        -
      • SLURM's default select/linear plugin is using a best fit algorithm based on - number of consecutive nodes. The same node allocation approach is used in - select/cons_res for consistency.
      • -
      • The select/cons_res plugin is enabled or disabled cluster-wide.
      • -
      • In the case where select/cons_res is not enabled, the normal SLURM behaviors - are not disrupted. The only changes, users see when using the select/cons_res - plug-in, are that jobs can be co-scheduled on nodes when resources permits it. - The rest of SLURM such as srun and switches (except srun -s ...), etc. are not - affected by this plugin. SLURM is, from a user point of view, working the same - way as when using the default node selection scheme.
      • -
      • The --exclusive srun switch allows users to request nodes in - exclusive mode even when consumable resources is enabled. see "man srun" - for details.
      • -
      • srun's -s or --share is incompatible with the consumable resource - environment and will therefore not be honored. Since in this environment nodes - are shared by default, --exclusive allows users to obtain dedicated nodes.
      • -
      -
    - - - -

    Limitation and future work

    - -We are aware of several limitations with the current consumable -resource plug-in and plan to make enhancement the plug-in as we get -time as well as request from users to help us prioritize the features. - -Please send comments and requests about the consumable resources to -slurm-dev@lists.llnl.gov. - -
      -
    1. Issue with --max_nodes, --max_sockets_per_node, --max_cores_per_socket and --max_threads_per_core
    2. -
        -
      • Problem: The example below was achieve when using CR_CPU - (default mode). The systems are all "dual socket, dual core, - single threaded systems (= 4 cpus per system)".
      • -
      • The first 3 serial jobs are being allocated to node hydra12 - which means that one CPU is still available on hydra12.
      • -
      • The 4th job "srun -N 2-2 -E 2:2 sleep 100" requires 8 CPUs - and since the algorithm fills up nodes in a consecutive order - (when not in dedicated mode) the algorithm will want to use the - remaining CPUs on Hydra12 first. Because the user has requested - a maximum of two nodes the allocation will put the job on - hold until hydra12 becomes available or if backfill is enabled - until hydra12's remaining CPU gets allocated to another job - which will allow the 4th job to get two dedicated nodes
      • -
      • Note! If you want to specify --max_???? this - problem can be solved in the current implementation by asking - for the nodes in dedicated mode using --exclusive
      • . - -
        -# srun sleep 100 &
        -# srun sleep 100 &
        -# srun sleep 100 &
        -# squeue
        -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
        -   1132  allNodes    sleep   sballe   R       0:05      1 hydra12
        -   1133  allNodes    sleep   sballe   R       0:04      1 hydra12
        -   1134  allNodes    sleep   sballe   R       0:02      1 hydra12
        -# srun -N 2-2 -E 2:2 sleep 100 &
        -srun: job 1135 queued and waiting for resources
        -#squeue
        -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
        -   1135  allNodes    sleep   sballe  PD       0:00      2 (Resources)
        -   1132  allNodes    sleep   sballe   R       0:24      1 hydra12
        -   1133  allNodes    sleep   sballe   R       0:23      1 hydra12
        -   1134  allNodes    sleep   sballe   R       0:21      1 hydra12
        -#
        -
        -
      • Proposed solution: Enhance the selection mechanism to go through {node,socket,core,thread}-tuplets to find available match for specific request (bounded knapsack problem).
      • -
      -
    3. Binding of processes in the case when --overcommit is specified.
    4. -
        -
      • In the current implementation (SLURM 1.2) we have chosen not - to bind process that have been started with --overcommit - flag. The reasoning behind this decision is that the Linux - scheduler will move non-bound processes to available resources - when jobs with process pinning enabled are started. The - non-bound jobs do not affect the bound jobs but co-scheduled - non-bound job would affect each others runtime. We have decided - that for now this is an adequate solution. -
      - -
    - - - -

    Examples of CR_Memory, CR_Socket_Memory, and CR_CPU_Memory type consumable resources

    - -
    -sinfo -lNe
    -NODELIST     NODES PARTITION  STATE  CPUS  S:C:T MEMORY 
    -hydra[12-16]     5 allNodes*  ...       4  2:2:1   2007 
    -
    - -Using select/cons_res plug-in with CR_Memory -
    -Example:
    -srun -N 5 -n 20 --job-mem=1000 sleep 100 &  <-- running
    -srun -N 5 -n 20 --job-mem=10 sleep 100 &    <-- running 
    -srun -N 5 -n 10 --job-mem=1000 sleep 100 &  <-- queued and waiting for resources
    -
    -squeue
    -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
    -   1820  allNodes    sleep   sballe  PD       0:00      5 (Resources)
    -   1818  allNodes    sleep   sballe   R       0:17      5 hydra[12-16]
    -   1819  allNodes    sleep   sballe   R       0:11      5 hydra[12-16]
    -
    - -Using select/cons_res plug-in with CR_Socket_Memory (2 sockets/node) -
    -Example 1:
    -srun -N 5 -n 5 --job-mem=1000 sleep 100 &        <-- running
    -srun -n 1 -w hydra12 --job-mem=2000 sleep 100 &  <-- queued and waiting for resources
    -
    -squeue
    -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
    -   1890  allNodes    sleep   sballe  PD       0:00      1 (Resources)
    -   1889  allNodes    sleep   sballe   R       0:08      5 hydra[12-16]
    -
    -Example 2:
    -srun -N 5 -n 10 --job-mem=10 sleep 100 & <-- running 
    -srun -n 1 --job-mem=10 sleep 100 & <-- queued and waiting for resourcessqueue
    -
    -squeue
    -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
    -   1831  allNodes    sleep   sballe  PD       0:00      1 (Resources)
    -   1830  allNodes    sleep   sballe   R       0:07      5 hydra[12-16]
    -
    - -Using select/cons_res plug-in with CR_CPU_Memory (4 CPUs/node) -
    -Example 1:
    -srun -N 5 -n 5 --job-mem=1000 sleep 100 &  <-- running 
    -srun -N 5 -n 5 --job-mem=10 sleep 100 &    <-- running
    -srun -N 5 -n 5 --job-mem=1000 sleep 100 &  <-- queued and waiting for resources
    -
    -squeue
    -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
    -   1835  allNodes    sleep   sballe  PD       0:00      5 (Resources)
    -   1833  allNodes    sleep   sballe   R       0:10      5 hydra[12-16]
    -   1834  allNodes    sleep   sballe   R       0:07      5 hydra[12-16]
    -
    -Example 2:
    -srun -N 5 -n 20 --job-mem=10 sleep 100 & <-- running 
    -srun -n 1 --job-mem=10 sleep 100 &       <-- queued and waiting for resources
    -
    -squeue
    -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
    -   1837  allNodes    sleep   sballe  PD       0:00      1 (Resources)
    -   1836  allNodes    sleep   sballe   R       0:11      5 hydra[12-16]
    -
    - - - -

    Example of Node Allocations Using Consumable Resource Plugin

    - -

    The following example illustrates the different ways four jobs -are allocated across a cluster using (1) SLURM's default allocation -(exclusive mode) and (2) a processor as consumable resource -approach.

    - -

    It is important to understand that the example listed below is a -contrived example and is only given here to illustrate the use of cpu as -consumable resources. Job 2 and Job 3 call for the node count to equal -the processor count. This would typically be done because -that one task per node requires all of the memory, disk space, etc. The -bottleneck would not be processor count.

    - -

    Trying to execute more than one job per node will almost certainly severely -impact parallel job's performance. -The biggest beneficiary of cpus as consumable resources will be serial jobs or -jobs with modest parallelism, which can effectively share resources. On a lot -of systems with larger processor count, jobs typically run one fewer task than -there are processors to minimize interference by the kernel and daemons.

    - -

    The example cluster is composed of 4 nodes (10 cpus in total):

    - -
      -
    • linux01 (with 2 processors),
    • -
    • linux02 (with 2 processors),
    • -
    • linux03 (with 2 processors), and
    • -
    • linux04 (with 4 processors).
    • -
    - -

    The four jobs are the following:

    - -
      -
    • [2] srun -n 4 -N 4 sleep 120 &
    • -
    • [3] srun -n 3 -N 3 sleep 120 &
    • -
    • [4] srun -n 1 sleep 120 &
    • -
    • [5] srun -n 3 sleep 120 &
    • -
    - -

    The user launches them in the same order as listed above.

    - - - -

    Using SLURM's Default Node Allocation (Non-shared Mode)

    - -

    The four jobs have been launched and 3 of the jobs are now -pending, waiting to get resources allocated to them. Only Job 2 is running -since it uses one cpu on all 4 nodes. This means that linux01 to linux03 each -have one idle cpu and linux04 has 3 idle cpus.

    - -
    -# squeue
    -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
    -      3       lsf    sleep     root  PD       0:00      3 (Resources)
    -      4       lsf    sleep     root  PD       0:00      1 (Resources)
    -      5       lsf    sleep     root  PD       0:00      1 (Resources)
    -      2       lsf    sleep     root   R       0:14      4 xc14n[13-16]
    -
    - -

    Once Job 2 is finished, Job 3 is scheduled and runs on -linux01, linux02, and linux03. Job 3 is only using one cpu on each of the 3 -nodes. Job 4 can be allocated onto the remaining idle node (linux04) so Job 3 -and Job 4 can run concurrently on the cluster.

    - -

    Job 5 has to wait for idle nodes to be able to run.

    - -
    -# squeue
    -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
    -      5       lsf    sleep     root  PD       0:00      1 (Resources)
    -      3       lsf    sleep     root   R       0:11      3 xc14n[13-15]
    -      4       lsf    sleep     root   R       0:11      1 xc14n16
    -
    - -

    Once Job 3 finishes, Job 5 is allocated resources and can run.

    - -

    The advantage of the exclusive mode scheduling policy is -that the a job gets all the resources of the assigned nodes for optimal -parallel performance. The drawback is -that jobs can tie up large amount of resources that it does not use and which -cannot be shared with other jobs.

    - - - -

    Using a Processor Consumable Resource Approach

    - -

    The output of squeue shows that we -have 3 out of the 4 jobs allocated and running. This is a 2 running job -increase over the default SLURM approach.

    - -

    Job 2 is running on nodes linux01 -to linux04. Job 2's allocation is the same as for SLURM's default allocation -which is that it uses one cpu on each of the 4 nodes. Once Job 2 is scheduled -and running, nodes linux01, linux02 and linux03 still have one idle cpu each -and node linux04 has 3 idle cpus. The main difference between this approach and -the exclusive mode approach described above is that idle cpus within a node -are now allowed to be assigned to other jobs.

    - -

    It is important to note that -assigned doesn't mean oversubscription. The consumable resource approach -tracks how much of each available resource (in our case cpus) must be dedicated -to a given job. This allows us to prevent per node oversubscription of -resources (cpus).

    - -

    Once Job 2 is running, Job 3 is -scheduled onto node linux01, linux02, and Linux03 (using one cpu on each of the -nodes) and Job 4 is scheduled onto one of the remaining idle cpus on Linux04.

    - -

    Job 2, Job 3, and Job 4 are now running concurrently on the cluster.

    - -
    -
    -# squeue
    -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
    -      5       lsf    sleep     root  PD       0:00      1 (Resources)
    -      2       lsf    sleep     root   R       0:13      4 linux[01-04]
    -      3       lsf    sleep     root   R       0:09      3 linux[01-03]
    -      4       lsf    sleep     root   R       0:05      1 linux04
    -
    -# sinfo -lNe
    -NODELIST     NODES PARTITION       STATE CPUS MEMORY TMP_DISK WEIGHT FEATURES REASON
    -linux[01-03]    3      lsf*   allocated    2   2981        1      1   (null) none
    -linux04         1      lsf*   allocated    4   3813        1      1   (null) none
    -
    - -

    Once Job 2 finishes, Job 5, which was pending, is allocated available resources and is then -running as illustrated below:

    - -
    -# squeue
    -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
    -      3       lsf    sleep     root   R       1:58      3 linux[01-03]
    -      4       lsf    sleep     root   R       1:54      1 linux04
    -      5       lsf    sleep     root   R       0:02      3 linux[01-03]
    -# sinfo -lNe
    -NODELIST     NODES PARTITION       STATE CPUS MEMORY TMP_DISK WEIGHT FEATURES REASON
    -linux[01-03]     3      lsf*   allocated    2   2981        1      1   (null) none
    -linux04          1      lsf*        idle    4   3813        1      1   (null) none
    -
    - -

    Job 3, Job 4, and Job 5 are now running concurrently on the cluster.

    - -
    -# squeue
    -  JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
    -      5       lsf    sleep     root   R       1:52      3 linux[01-03]
    -
    - -

    Job 3 and Job 4 have finshed and Job 5 is still running on nodes linux[01-03].

    - -

    The advantage of the consumable resource scheduling policy -is that the job throughput can increase dramatically. The overall job -throughput/productivity of the cluster increases thereby reducing the amount of -time users have to wait for their job to complete as well as increasing the -overall efficiency of the use of the cluster. The drawback is that users do not -have the entire node dedicated to their job since they have to share nodes with -other jobs if they do not use all of the resources on the nodes.

    - -

    We have added a "--exclusive" switch to srun which allow users -to specify that they would like their allocated -nodes in exclusive mode. For more information see "man srun". -The reason for that is if users have mpi//threaded/openMP -programs that will take advantage of all the cpus within a node but only need -one mpi process per node.

    - - - -

    Last modified 25 September 2006

    - - diff --git a/executable_names/doc/html/dist_plane.shtml b/executable_names/doc/html/dist_plane.shtml deleted file mode 100644 index 72bedd988c..0000000000 --- a/executable_names/doc/html/dist_plane.shtml +++ /dev/null @@ -1,149 +0,0 @@ - - -

    Plane distribution: -m plane=plane_size

    - -

    The plane distribution allocates tasks in blocks of size -plane_size in a round-robin fashion across allocated nodes. - -

    To specify the plane distribution add to the srun command line ---distribution=plane=plane_size or -m plane=plane_size -where plane_size is the requested plane/block size. - -

    Examples of plane distributions

    - -

    In the examples below we assume we have 21 tasks and that the -task list is: 0, 1, 2, 3, 4, ..., 19, 20. - -

    On One (1) node: srun -N 1-1 -n 21 -m plane=4 -s <...>. - -

    The distribution results in a plane distribution with plane_size 21. -Even thought the user specified a plane_size of 4 the final plane -distribution results in a plane_size of 21. - -

    -

    - -

    Figure 1: Process layout for srun -N 1-1 -n 21 -m plane=4 -s <...> -

    - -

    On four (4) nodes: srun -N 4-4 -n 21 -m plane=4 -s <...>. - -

    The plane distribution with a plane_size of 4 results in the -following allocation of the task ids: - -

    -

    - -

    Figure 2: Process layout for srun -N 4-4 -n 21 -m plane=4 -s <...> -

    - -

    On four (4) nodes: srun -N 4-4 -n 21 -m plane=2 -s <...> -. - -

    The plane distribution with a plane_size of 2 results in the -following allocation of the task ids: - -

    -

    - -

    Figure 3: Process layout for srun -N 4-4 -n 21 -m plane=2 -s <...> -

    - - - -

    Assumptions and Limitations

    - -

    SLURM assumes that the number of tasks divided by the plane_size is -greater or equal to the number of nodes specified. - -

    In other words if the following is true SLURM will generate an -error message: -

    -if ((n/plane_size < min_nodes) ((N-1)*plane_size >= n))
    -            generate an error message: Too few processes for the
    -	           requested {plane, node} distribution.  
    -
    -where min_nodes is the minimum number of nodes requested for the job.
    -
    - - - -

    Plane distribution and task affinity

    - -

    The concept behind this distribution is to divide the clusters into -planes. Each plane includes a number of the lowest level of logical -processors (CPU, cores, threads depending on the architecture) on each -node. We then schedule within each plane first and then across planes. - -

    We ensure that the processes are located correctly by setting the -process affinity to the specified/appropriate logical processor. Process -affinity is available in SLURM when the task affinity plug-in is -enabled. - -

    On a dual-processor node with quad-core processors (see figure 4) -the plane distribution results in: - -

      -
    • One plane if the plane_size=8. In this case the processors are -scheduled by first filling up the nodes and then scheduled across the -nodes.
    • -
    • Eight planes if the plane_size=1. In this case we would always -schedule across the node first.
    • -
    - -

    -

    - -

    Figure 4: Quad-core dual-processor system -

    - -

    In a multi-core/hyper-threaded environment, two planes would -provide better locality but potentially more contention for other -resources. - -

    On the other hand, four planes (scheduling across processors) would -minimize contention for cache and memory. - -

    - -

    Examples of plane distributions with process -affinity enabled

    - -

    In the examples below we assume we have 21 tasks and that the -task list is: 0, 1, 2, 3, 4, ..., 19, 20. - -

    On One (1) node: srun -N 1-1 -n 21 -m plane=4 -s <...>. -Even thought the user specified a plane_size of 4 the final plane -distribution results in a plane distribution with plane_size=8. - -

    -

    - -

    Figure 5: Process layout for srun -N 1-1 -n 21 -m plane=4 -s <...>. -

    - -

    On four (4) nodes: srun -N 4-4 -n 21 -m plane=4 -s <...> -. The plane distribution with a plane_size of 4 results in the -following allocation of the task ids: - -

    -

    - -

    Figure 6: Process layout for srun -N 4-4 -n 21 -m plane=4 -s <...>. -

    - -

    On four (4) nodes: srun -N 4-4 -n 21 -m plane=2 -s <...> -. The plane distribution with a plane_size of 2 results in the -following allocation of the task ids: - -

    -

    - -

    Figure 7: Process layout for srun -N 4-4 -n 21 -m plane=2 -s <...>. -

    - - - -

    Last modified 12 October 2006

    - - diff --git a/executable_names/doc/html/documentation.shtml b/executable_names/doc/html/documentation.shtml deleted file mode 100644 index 484aeb4384..0000000000 --- a/executable_names/doc/html/documentation.shtml +++ /dev/null @@ -1,52 +0,0 @@ - - -

    Documentation

    - -

    SLURM Users

    - - -

    SLURM Administrators

    - - -

    SLURM Developers

    - - -

    Last modified 12 October 2006

    - - diff --git a/executable_names/doc/html/download.shtml b/executable_names/doc/html/download.shtml deleted file mode 100644 index 4d243dece3..0000000000 --- a/executable_names/doc/html/download.shtml +++ /dev/null @@ -1,72 +0,0 @@ - - -

    Download

    -

    -SLURM source can be downloaded from
    - -ftp://ftp.llnl.gov/pub/linux/slurm
    -The latest stable release is version 1.1.

    - -

    NOTE: This server will only download files to computers -on which it can perform a reverse DNS lookup for the IP address -issuing the request. -This is a LLNL site-wide policy for security purposes that we have -no control over. -Some firewalls prevent reverse DNS lookup, so you may need to download -the files to some computer outside of your firewall.

    - -

    Other software available for download includes -

      -
    • PAM Modules (pam_slurm)
      -Pluggable Authentication Module (PAM) for restricting access to compute nodes -where SLURM performs resource management. Access to the node is restricted to -user root and users who have been allocated resources on that node.
      -pam_slurm is available for download from -ftp://ftp.llnl.gov/pub/linux/pam_slurm -
    -

    Related Software

    - - -

    Last modified 29 September 2006

    - - diff --git a/executable_names/doc/html/entities.gif b/executable_names/doc/html/entities.gif deleted file mode 100644 index 803dfa69d7c626f7b0cea45921f119e392a00e2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7899 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 - -

    Frequently Asked Questions

    -

    For Users

    -
      -
    1. Why is my job/node in COMPLETING state?
    2. -
    3. Why do I see the error "Can't propagate RLIMIT_..."?
    4. -
    5. Why is my job not running?
    6. -
    7. Why does the srun --overcommit option not permit multiple jobs -to run on nodes?
    8. -
    9. Why is my job killed prematurely?
    10. -
    11. Why are my srun options ignored?
    12. -
    13. Why are "Invalid job credential" errors generated?
    14. -
    15. Why is the SLURM backfill scheduler not starting my -job?
    16. -
    17. How can I run multiple jobs from within a single script?
    18. -
    -

    For Administrators

    -
      -
    1. How is job suspend/resume useful?
    2. -
    3. How can I configure SLURM to use the resources actually -found on a node rather than what is defined in slurm.conf?
    4. -
    5. Why is a node shown in state DOWN when the node -has registered for service?
    6. -
    7. What happens when a node crashes?
    8. -
    9. How can I control the execution of multiple -jobs per node?
    10. -
    11. When the SLURM daemon starts, it prints -"cannot resolve X plugin operations" and exits. What does this mean?
    12. -
    13. Why are user tasks intermittently dying at launch with SIGPIPE -error messages?
    14. -
    15. How can I dry up the workload for a maintenance -period?
    16. -
    17. How can PAM be used to control a user's limits on or -access to compute nodes?
    18. -
    19. Why are jobs allocated nodes and then unable to initiate -programs on some nodes?
    20. -
    21. Why does slurmctld log that some nodes -are not responding even if they are not in any partition?
    22. -
    23. How should I relocated the primary or backup -controller?
    24. -
    25. Can multiple SLURM systems be run in -parallel for testing purposes?
    26. -
    27. Can multiple slurmd daemons be run -on the compute node(s) to emulate a larger cluster?
    28. -
    - -

    For Users

    -

    1. Why is my job/node in COMPLETING state?
    -When a job is terminating, both the job and its nodes enter the state "completing." -As the SLURM daemon on each node determines that all processes associated with -the job have terminated, that node changes state to "idle" or some other -appropriate state. When every node allocated to a job has determined that all -processes associated with it have terminated, the job changes state to "completed" -or some other appropriate state. Normally, this happens within a fraction of one -second. However, if the job has processes that cannot be terminated with a SIGKILL, -the job and one or more nodes can remain in the completing state for an extended -period of time. This may be indicative of processes hung waiting for a core file -to complete I/O or operating system failure. If this state persists, the system -administrator should use the scontrol command -to change the node's state to DOWN (e.g. "scontrol update -NodeName=name State=DOWN Reason=hung_completing"), reboot the node, -then reset the node's state to IDLE (e.g. "scontrol update -NodeName=name State=RESUME").

    - -

    2. Why do I see the error "Can't propagate RLIMIT_..."?
    -When the srun command executes, it captures the -resource limits in effect at that time. These limits are propagated to the allocated -nodes before initiating the user's job. If the soft resource limits on the job -submit host are higher than the hard resource limits on the allocated host, SLURM -will be unable to propagate the resource limits and print an error of the type -shown above. It is recommended that the system administrator establish uniform -hard resource limits on all nodes within a cluster to prevent this from occurring.

    - -

    3. Why is my job not running?
    -The answer to this question depends upon the scheduler used by SLURM. Executing -the command

    -
    -

    scontrol show config | grep SchedulerType

    -
    -

    will supply this information. If the scheduler type is builtin, then -jobs will be executed in the order of submission for a given partition. Even if -resources are available to initiate your job immediately, it will be deferred -until no previously submitted job is pending. If the scheduler type is backfill, -then jobs will generally be executed in the order of submission for a given partition -with one exception: later submitted jobs will be initiated early if doing so does -not delay the expected execution time of an earlier submitted job. In order for -backfill scheduling to be effective, users jobs should specify reasonable time -limits. If jobs do not specify time limits, then all jobs will receive the same -time limit (that associated with the partition), and the ability to backfill schedule -jobs will be limited. The backfill scheduler does not alter job specifications -of required or excluded nodes, so jobs which specify nodes will substantially -reduce the effectiveness of backfill scheduling. See the -backfill section for more details. If the scheduler type is wiki, -this represents - -The Maui Scheduler or - -Moab Cluster Suite. -Please refer to its documentation for help. For any scheduler, you can check priorities -of jobs using the command scontrol show job.

    -

    4. Why does the srun --overcommit option not permit multiple jobs -to run on nodes?
    -The --overcommit option is a means of indicating that a job or job step is willing -to execute more than one task per processor in the job's allocation. For example, -consider a cluster of two processor nodes. The srun execute line may be something -of this sort -

    -

    srun --ntasks=4 --nodes=1 a.out

    -
    -This will result in not one, but two nodes being allocated so that each of the four -tasks is given its own processor. Note that the srun --nodes option specifies -a minimum node count and optionally a maximum node count. A command line of -
    -

    srun --ntasks=4 --nodes=1-1 a.out

    -
    -would result in the request being rejected. If the --overcommit option -is added to either command line, then only one node will be allocated for all -four tasks to use. -

    More than one job can execute simultaneously on the same nodes through the use -of srun's --shared option in conjunction with the Shared parameter -in SLURM's partition configuration. See the man pages for srun and slurm.conf for -more information. -

    5. Why is my job killed prematurely?
    -SLURM has a job purging mechanism to remove inactive jobs (resource allocations) -before reaching its time limit, which could be infinite. -This inactivity time limit is configurable by the system administrator. -You can check it's value with the command -

    -

    scontrol show config | grep InactiveLimit

    -
    -The value of InactiveLimit is in seconds. -A zero value indicates that job purging is disabled. -A job is considered inactive if it has no active job steps or if the srun -command creating the job is not responding. -In the case of a batch job, the srun command terminates after the job script -is submitted. -Therefore batch job pre- and post-processing is limited to the InactiveLimit. -Contact your system administrator if you believe the InactiveLimit value -should be changed. - -

    6. Why are my srun options ignored?
    -Everything after the command srun is -examined to determine if it is a valid option for srun. The first -token that is not a valid option for srun is considered the command -to execute and everything after that is treated as an option to -the command. For example: -

    -

    srun -N2 hostname -pdebug

    -
    -srun processes "-N2" as an option to itself. "hostname" is the -command to execute and "-pdebug" is treated as an option to the -hostname command. Which will change the name of the computer -on which SLURM executes the command - Very bad, Don't run -this command as user root!

    - -

    7. Why are "Invalid job credential" errors generated? -
    -This error is indicative of SLURM's job credential files being inconsistent across -the cluster. All nodes in the cluster must have the matching public and private -keys as defined by JobCredPrivateKey and JobCredPublicKey in the -slurm configuration file slurm.conf. - -

    8. Why is the SLURM backfill scheduler not starting my job? -
    -There are significant limitations in the current backfill scheduler plugin. -It was designed to perform backfill node scheduling for a homogeneous cluster. -It does not manage scheduling on individual processors (or other consumable -resources). It also does not update the required or excluded node list of -individual jobs. These are the current limiations. You can use the -scontrol show command to check if these conditions apply. -

      -
    • partition: State=UP
    • -
    • partition: RootOnly=NO
    • -
    • partition: Shared=NO
    • -
    • job: ReqNodeList=NULL
    • -
    • job: ExcNodeList=NULL
    • -
    • job: Contiguous=0
    • -
    • job: Features=NULL
    • -
    • job: MinProcs, MinMemory, and MinTmpDisk satisfied by all nodes in -the partition
    • -
    • job: MinProcs or MinNodes not to exceed partition's MaxNodes
    • -
    -As soon as any priority-ordered job in the partition's queue fail to -satisfy the request, no lower priority job in that partition's queue -will be considered as a backfill candidate. Any programmer wishing -to augment the existing code is welcome to do so. - -

    9. How can I run multiple jobs from within a -single script?
    -A SLURM job is just a resource allocation. You can execute many -job steps within that allocation, either in parallel or sequentially. -Some jobs actually launch thousands of job steps this way. The job -steps will be allocated nodes that are not already allocated to -other job steps. This essential provides a second level of resource -management within the job for the job steps.

    - - - -

    For Administrators

    -

    1. How is job suspend/resume useful?
    -Job suspend/resume is most useful to get particularly large jobs initiated -in a timely fashion with minimal overhead. Say you want to get a full-system -job initiated. Normally you would need to either cancel all running jobs -or wait for them to terminate. Canceling jobs results in the loss of -their work to that point from either their beginning or last checkpoint. -Waiting for the jobs to terminate can take hours, depending upon your -system configuration. A more attractive alternative is to suspend the -running jobs, run the full-system job, then resume the suspended jobs. -This can easily be accomplished by configuring a special queue for -full-system jobs and using a script to control the process. -The script would stop the other partitions, suspend running jobs in those -partitions, and start the full-system partition. -The process can be reversed when desired. -One can effectively gang schedule (time-slice) multiple jobs -using this mechanism, although the algorithms to do so can get quite -complex. -Suspending and resuming a job makes use of the SIGSTOP and SIGCONT -signals respectively, so swap and disk space should be sufficient to -accommodate all jobs allocated to a node, either running or suspended. - -

    2. How can I configure SLURM to use -the resources actually found on a node rather than what is defined -in slurm.conf?
    -SLURM can either base it's scheduling decisions upon the node -configuration defined in slurm.conf or what each node -actually returns as available resources. -This is controlled using the configuration parameter FastSchedule. -Set it's value to zero in order to use the resources actually -found on each node, but with a higher overhead for scheduling. -A value of one is the default and results in the node configuration -defined in slurm.conf being used. See "man slurm.conf" -for more details.

    - -

    3. Why is a node shown in state -DOWN when the node has registered for service?
    -The configuration parameter ReturnToService in slurm.conf -controls how DOWN nodes are handled. -Set its value to one in order for DOWN nodes to automatically be -returned to service once the slurmd daemon registers -with a valid node configuration. -A value of zero is the default and results in a node staying DOWN -until an administrator explicity returns it to service using -the command "scontrol update NodeName=whatever State=RESUME". -See "man slurm.conf" and "man scontrol" for more -details.

    - -

    4. What happens when a node crashes?
    -A node is set DOWN when the slurmd daemon on it stops responding -for SlurmdTimeout as defined in slurm.conf. -The node can also be set DOWN when certain errors occur or the -node's configuration is inconsistent with that defined in slurm.conf. -Any active job on that node will be killed unless it was submitted -with the srun option --no-kill. -Any active job step on that node will be killed. -See the slurm.conf and srun man pages for more information.

    - -

    5. How can I control the execution of multiple -jobs per node?
    -There are two mechanism to control this. -If you want to allocate individual processors on a node to jobs, -configure SelectType=select/cons_res. -See Consumable Resources in SLURM -for details about this configuration. -If you want to allocate whole nodes to jobs, configure -configure SelectType=select/linear. -Each partition also has a configuration parameter Shared -that enables more than one job to execute on each node. -See man slurm.conf for more information about these -configuration paramters.

    - -

    6. When the SLURM daemon starts, it -prints "cannot resolve X plugin operations" and exits. -What does this mean?
    -This means that symbols expected in the plugin were -not found by the daemon. This typically happens when the -plugin was built or installed improperly or the configuration -file is telling the plugin to use an old plugin (say from the -previous version of SLURM). Restart the daemon in verbose mode -for more information (e.g. "slurmctld -Dvvvvv"). - -

    7. Why are user tasks intermittently dying -at launch with SIGPIPE error messages?
    -If you are using ldap or some other remote name service for -username and groups lookup, chances are that the underlying -libc library functions are triggering the SIGPIPE. You can likely -work around this problem by setting CacheGroups=1 in your slurm.conf -file. However, be aware that you will need to run "scontrol -reconfigure " any time your groups database is updated. - -

    8. How can I dry up the workload for a -maintenance period?
    -There isn't a mechanism to tell SLURM that all jobs should be -completed by a specific time. The best way to address this is -to shorten the MaxTime associated with the partitions so -as to avoid initiating jobs that will not have completed by -the maintenance period. - -

    9. How can PAM be used to control a user's limits on -or access to compute nodes?
    -First, enable SLURM's use of PAM by setting UsePAM=1 in -slurm.conf.
    -Second, establish a PAM configuration file for slurm in /etc/pam.d/slurm. -A basic configuration you might use is:
    -

    -auth     required  pam_localuser.so
    -account  required  pam_unix.so
    -session  required  pam_limits.so
    -
    -Third, set the desired limits in /etc/security/limits.conf. -For example, to set the locked memory limit to unlimited for all users:
    -
    -*   hard   memlock   unlimited
    -*   soft   memlock   unlimited
    -
    -Finally, you need to disable SLURM's forwarding of the limits from the -session from which the srun initiating the job ran. By default -all resource limits are propogated from that session. For example, adding -the following line to slurm.conf will prevent the locked memory -limit from being propagated:PropagateResourceLimitsExcept=MEMLOCK. - -

    We also have a PAM module for SLURM that prevents users from -logging into nodes that they have not been allocated (except for user -root, which can always login. pam_slurm is available for download from -ftp://ftp.llnl.gov/pub/linux/pam_slurm -The use of pam_slurm does not require UsePAM being set. The -two uses of PAM are independent. - -

    10. Why are jobs allocated nodes and then unable -to initiate programs on some nodes?
    -This typically indicates that the time on some nodes is not consistent -with the node on which the slurmctld daemon executes. In order to -initiate a job step (or batch job), the slurmctld daemon generates -a credential containing a time stamp. If the slurmd daemon -receives a credential containing a time stamp later than the current -time or more than a few minutes in the past, it will be rejected. -If you check in the SlurmdLog on the nodes of interest, you -will likely see messages of this sort: "Invalid job credential from -<some IP address>: Job credential expired." Make the times -consistent across all of the nodes and all should be well. - -

    11. Why does slurmctld log that some nodes -are not responding even if they are not in any partition?
    -The slurmctld daemon periodically pings the slurmd -daemon on every configured node, even if not associated with any -partition. You can control the frequency of this ping with the -SlurmdTimeout configuration parameter in slurm.conf. - -

    12. How should I relocated the primary or -backup controller?
    -If the cluster's computers used for the primary or backup controller -will be out of service for an extended period of time, it may be desirable -to relocate them. In order to do so, follow this procedure: -

      -
    1. Stop all SLURM daemons
    2. -
    3. Modify the ControlMachine, ControlAddr, -BackupController, and/or BackupAddr in the slurm.conf file
    4. -
    5. Distribute the updated slurm.conf file file to all nodes
    6. -
    7. Restart all SLURM daemons
    8. -
    -There should be no loss of any running or pending jobs. Insure that -any nodes added to the cluster have a current slurm.conf file -installed. -CAUTION: If two nodes are simultaneously configured as the primary -controller (two nodes on which ControlMachine specify the local host -and the slurmctld daemon is executing on each), system behavior will be -destructive. If a compute node has an incorrect ControlMachine or -BackupController parameter, that node may be rendered unusable, but no -other harm will result. - -

    13. Can multiple SLURM systems be run in -parallel for testing purposes?
    -Yes, this is a great way to test new versions of SLURM. -Just install the test version in a different location with a different -slurm.conf. -The test system's slurm.conf should specify different -pathnames and port numbers to avoid conflicts. -The only problem is if more than one version of SLURM is configured -with switch/elan or switch/federation. -In that case, there can be conflicting switch window requests from -the different SLURM systems. -This can be avoided by configuring the test system with switch/none. -MPI jobs started on an Elan or Federation switch system without the -switch windows configured will not execute properly, but other jobs -will run fine. -Another option for testing on Elan or Federation systems is to use -a different set of nodes for the different SLURM systems. -That will permit both systems to allocate switch windows without -conflicts. - -

    14. Can multiple slurmd daemons be run -on the compute node(s) to emulate a larger cluster?
    -Yes, this can be useful for testing purposes. -It has also been used to partition "fat" nodes into multiple SLURM nodes. -

      -
    1. When executing the configure program, use the option ---multiple-slurmd (or add that option to your ~/.rpmmacros -file).
    2. -
    3. Build and install SLURM in the usual manner.
    4. -
    5. In slurm.conf define the desired node names (arbitrary -names used only by SLURM) as NodeName along with the actual -address of the physical node in NodeHostname. Multiple -NodeName values can be mapped to a single -NodeHostname. Note that each NodeName on a single -physical node needs to be configured to use a different port number. You -will also want to use the "%n" symbol in slurmd related path options in -slurm.conf.
    6. -
    7. When starting the slurmd daemon, include the NodeName -of the node that it is supposed to serve on the execute line.
    8. -
    -It is strongly recommended that SLURM version 1.2 or higher be used -for this due to it's improved support for multiple slurmd daemons. - -See the -Programmers Guide -for more details about configuring multiple slurmd support. - - - -

    Last modified 11 October 2006

    - - diff --git a/executable_names/doc/html/footer.txt b/executable_names/doc/html/footer.txt deleted file mode 100644 index 275db69e36..0000000000 --- a/executable_names/doc/html/footer.txt +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - diff --git a/executable_names/doc/html/header.txt b/executable_names/doc/html/header.txt deleted file mode 100644 index 2931401799..0000000000 --- a/executable_names/doc/html/header.txt +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - -Simple Linux Utility for Resource Management - - - -
    - - - - - -
    - diff --git a/executable_names/doc/html/help.shtml b/executable_names/doc/html/help.shtml deleted file mode 100644 index d406a4ef77..0000000000 --- a/executable_names/doc/html/help.shtml +++ /dev/null @@ -1,20 +0,0 @@ - - -

    Getting Help

    -

    Try the following steps if you are having problems with SLURM:

    -
      -
    1. See if the problem is addressed in the SLURM FAQ -or SLURM Troubleshooting Guide.
    2. -
    3. For run-time problems, try running the command or daemons in verbose mode -(-v option), and see if additional information -helps you resolve the problem.
    4. -
    5. Customers of HP, Linux NetworX and others providing commercial support -for SLURM should contact their support staff.
    6. -
    7. Send a detailed description of the problem, the output from the command -"scontrol show config", logs, back traces from any core files, etc. to -slurm-dev@lists.llnl.gov.
    8. -
    - -

    Last modified 13 October 2006

    - - diff --git a/executable_names/doc/html/ibm.shtml b/executable_names/doc/html/ibm.shtml deleted file mode 100644 index 313d027e22..0000000000 --- a/executable_names/doc/html/ibm.shtml +++ /dev/null @@ -1,90 +0,0 @@ - - -

    IBM AIX User and Administrator Guide

    - -

    Overview

    - -

    This document describes the unique features of SLURM on the -IBM AIX computers with a Federation switch. -You should be familiar with the SLURM's mode of operation on Linux clusters -before studying the relatively few differences in IBM system operation -described in this document.

    - -

    User Tools

    - -

    The normal set of SLURM user tools: srun, scancel, sinfo, smap, squeue and scontrol -provide all of the expected services except support for job steps. -While the srun command will launch the tasks of a job step on an IBM -AIX system, it does not support use of the Federation switch or IBM's MPI. -Job steps should be launched using IBM's poe command. -This architecture insures proper operation of all IBM tools.

    - -

    You will use srun to submit a batch script to SLURM. -This script should contain one or more invocations of poe to launch -the tasks. -If you want to run a job interactively, just execute poe directly. -Poe will recognize that it lacks a SLURM job allocation (the SLURM_JOBID -environment variable will be missing) and create the SLURM allocation -prior to launching tasks.

    - -

    Each poe invocation (or SLURM job step) can have it's own network -specification. -For example one poe may use IP mode communications and the next use -User Space (US) mode communcations. -This enhancement to normal poe functionality may be accomplished by -setting the SLURM_NETWORK environment variable. -The format of SLURM_NETWORK is "network.[protocol],[type],[usage],[mode]". -For example "network.mpi,en0,shared,ip". -See LoadLeveler documentation for more details.

    - -

    Checkpoint

    - -

    SLURM supports checkpoint via poe. -In order to enable checkpoint, the shell executing the poe command must -itself be initiated with the environment variable CHECKPOINT=yes. -One file is written for each node on which the job is executing, plus -another for the script executing poe.a -By default, the checkpoint files will be written to the current working -directory of the job. -Names and locations of these files can be controled using the -environment variables MP_CKPTFILE and MP_CKPTDIR. -Use the squeue command to identify the job and job step of interest. -To initiate a checkpoint in which the job step will continue execution, -use the command:
    -scontrol check create job_id.step_id
    -To initiate a checkpoint in which the job step will terminate afterwards, -use the command:
    -scontrol check vacate job_id.step_id

    - -

    System Administration

    - -

    Three unique components are required to use SLURM on an IBM system. -

      -
    1. The Federation switch plugin is required. -This component is packaged with the SLURM distrbution.
    2. -
    3. There is a process tracking kernel extension required. -This is used to insure that all processes associated with a job -are tracked. -SLURM normatlly uses session ID and process group ID on Linux systems, -but these mechanisms can not prevent user processes from establishing -their own session or process group and thus "escape" from SLURM -tracking. -This kernel extension is not packaged with SLURM, but is available -upon request.
    4. -
    5. The final component is a library that accepts poe library calls -and performs actions in SLURM to satisfy these requests, such -as launching tasks. -This library is based upon IBM Confidential information and is -not at this time available for distribution. -Interested parties are welcome to pursue the possible distribution -of this library with IBM and SLURM developers.
    6. -
    -Until this last issue is resolved, use of SLURM on an IBM AIX system -should not be viewed as a supported configuration (at least outside -of LLNL, which established a contract with IBM for this purpose).

    - - - -

    Last modified 31 August 2005

    - - diff --git a/executable_names/doc/html/jobacctplugins.shtml b/executable_names/doc/html/jobacctplugins.shtml deleted file mode 100644 index 9c4b7154f5..0000000000 --- a/executable_names/doc/html/jobacctplugins.shtml +++ /dev/null @@ -1,347 +0,0 @@ - - -

    SLURM Job Accounting Plugin API

    - -

    Overview

    -

    This document describes SLURM job accounting plugins and the API that -defines them. It is intended as a resource to programmers wishing to write -their own SLURM job accounting plugins. This is version 1 of the API. - - -

    SLURM job accounting plugins must conform to the -SLURM Plugin API with the following specifications: - -

    const char -plugin_name[]="full text name" -

    -A free-formatted ASCII text string that identifies the plugin. - -

    const char -plugin_type[]="major/minor"
    -

    -The major type must be "jobacct." -The minor type can be any suitable name -for the type of accounting package. We currently use -

      -
    • linux—Gathers information from linux proctable and addes this -information to the standard rusage information also gathered for each job. -
    • none—No information gathered. -
    -The sacct program can be used to display gathered data from regular -accounting and from these plugins. -

    The programmer is urged to study -src/plugins/jobacct/linux and -src/plugins/jobacct/common -for a sample implementation of a SLURM job accounting plugin. -

    API Functions

    - -The job accounting API uses hooks in the slurmctld, slurmd, and slurmstepd. - -

    All of the following functions are required. Functions which are not -implemented must be stubbed. - -

    Functions called by all slurmstepd processes

    - -

    int jobacct_p_startpoll(int frequency) -

    Description: -jobacct_p_startpoll() is called at the start of the slurmstepd, -this starts a thread that should poll information to be queried at any time -during throughout the end of the process. -Put global initialization here. -

    Arguments: -frequency (input) poll frequency for polling -thread. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    int jobacct_p_endpoll() -

    Description: -jobacct_p_endpoll() is called when the process is finished to stop the -polling thread. -

    Arguments: -none -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    void jobacct_p_suspendpoll() -

    Description: -jobacct_p_suspendpoll() is called when the process is suspended or resumed. -This causes the polling thread to halt until the process is resumed. -

    Arguments: -none -

    Returns: -none - -

    int jobacct_p_add_task(pid_t pid, uint16_t tid) -

    Description: -jobacct_p_add_task() used to add a task to the poller. -

    Arguments: - pid (input) Process id - tid (input) slurm global task id -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    jobacctinfo_t *jobacct_p_stat_task(pid_t pid) -

    Description: -jobacct_p_stat_task() used to get most recent information about task. -You need to FREE the information returned by this function! -

    Arguments: - pid (input) Process id -

    Returns: -jobacctinfo structure pointer on success, or -NULL on failure. - -

    jobacctinfo_t *jobacct_p_remove_task(pid_t pid) -

    Description: -jobacct_p_remove_task() used to remove a task from the poller. -You need to FREE the information returned by this function! -

    Arguments: - pid (input) Process id -

    Returns: -Pointer to removed jobacctinfo_t structure -on success, or -NULL on failure. - -

    Functions called by the slurmctld process

    - -

    int jobacct_p_init_slurmctld(char *job_acct_log) -

    Description: -jobacct_p_init_slurmctld() is called at the start of the slurmctld, -this opens the logfile to be written to. -Put global initialization here. -

    Arguments: -job_acct_log (input) logfile name. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    int jobacct_p_fini_slurmctld() -

    Description: -jobacct_p_fini_slurmctld() is called at the end of the slurmctld, -this closes the logfile. -

    Arguments: -none -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    -int jobacct_p_job_start_slurmctld(struct job_record *job_ptr) -

    Description: -jobacct_p_job_start_slurmctld() is called at the allocation of a new job in -the slurmctld, this prints out beginning information about a job. -

    Arguments: -job_ptr (input) information about the job in -slurmctld. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    -int jobacct_p_job_complete_slurmctld(struct job_record *job_ptr) -

    Description: -jobacct_p_job_complete_slurmctld() is called at the end of a job in -the slurmctld, this prints out ending information about a job. -

    Arguments: -job_ptr (input) information about the job in -slurmctld. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    -int jobacct_p_step_start_slurmctld(struct step_record *step_ptr) -

    Description: -jobacct_p_step_start_slurmctld() is called at the allocation of a new step in -the slurmctld, this prints out beginning information about a step. -

    Arguments: -step_ptr (input) information about the step in -slurmctld. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    -int jobacct_p_step_complete_slurmctld(struct step_record *step_ptr) -

    Description: -jobacct_p_step_complete_slurmctld() is called at the end of a step in -the slurmctld, this prints out ending information about a step. -

    Arguments: -step_ptr (input) information about the step in -slurmctld. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    -int jobacct_p_suspend_slurmctld(struct job_record *job_ptr) -

    Description: -jobacct_p_suspend_slurmctld() is called when a job is suspended or resumed in -the slurmctld, this prints out information about the suspension of the job -to the logfile. -

    Arguments: -job_ptr (input) information about the job in -slurmctld. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    Functions common to all processes

    - -

    -int jobacct_p_init_struct(jobacctinfo_t *jobacct, uint16_t tid) -

    Description: -jobacct_p_init_struct() is called to set the values of a jobacctinfo_t to -initial values. -

    Arguments: -jobacct -(input/output) structure to be altered. -tid -(input) id of the task send in (uint16_t)NO_VAL if no specfic task. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    jobacctinfo_t *jobacct_p_alloc(uint16_t tid) -

    Description: -jobacct_p_alloc() used to alloc a pointer to and initialize a -new jobacctinfo structure.
    -You will need to free the information returned by this function! -

    Arguments: -tid -(input) id of the task send in (uint16_t)NO_VAL if no specfic task. -

    Returns: -jobacctinfo structure pointer on success, or -NULL on failure. - -

    void jobacct_p_free(jobacctinfo_t *jobacct) -

    Description: -jobacct_p_free() used to free the allocation made by jobacct_p_alloc(). -

    Arguments: -jobacct -(input) structure to be freed. -none -

    Returns: -none - -

    -int jobacct_p_setinfo(jobacctinfo_t *jobacct, - enum jobacct_data_type type, void *data) -

    Description: -jobacct_p_setinfo() is called to set the values of a jobacctinfo_t to -specific values based on inputs. -

    Arguments: -jobacct -(input/output) structure to be altered. -type -(input) enum of specific part of jobacct to alter. -data -(input) corresponding data to set jobacct part to. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    -int jobacct_p_getinfo(jobacctinfo_t *jobacct, - enum jobacct_data_type type, void *data) -

    Description: -jobacct_p_getinfo() is called to get the values of a jobacctinfo_t -specific values based on inputs. -

    Arguments: -jobacct -(input) structure to be queried. -type -(input) enum of specific part of jobacct to get. -data -(output) corresponding data to from jobacct part. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    -void jobacct_p_aggregate(jobacctinfo_t *dest, jobacctinfo_t *from) -

    Description: -jobacct_p_aggregate() is called to aggregate and get max values from two -different jobacctinfo structures. -

    Arguments: -dest -(input/output) initial structure to be applied to. -from -(input) new info to apply to dest. -

    Returns: -none - -

    -void jobacct_p_2_sacct(sacct_t *sacct, jobacctinfo_t *jobacct) -

    Description: -jobacct_p_2_sacct() is called to transfer information from data structure -jobacct to structure sacct. -

    Arguments: -sacct -(input/output) initial structure to be applied to. -jobacct -(input) jobacctinfo_t structure containing information to apply to sacct. -

    Returns: -none - -

    -void jobacct_p_pack(jobacctinfo_t *jobacct, Buf buffer) -

    Description: -jobacct_p_pack() pack jobacctinfo_t in a buffer to send across the network. -

    Arguments: -jobacct -(input) structure to pack. -buffer -(input/output) buffer to pack structure into. -

    Returns: -none - -

    -void jobacct_p_unpack(jobacctinfo_t *jobacct, Buf buffer) -

    Description: -jobacct_p_unpack() unpack jobacctinfo_t from a buffer received from -the network. -You will need to free the jobacctinfo_t returned by this function! -

    Arguments: -jobacct -(input/output) structure to fill. -buffer -(input) buffer to unpack structure from. -

    Returns: -SLURM_SUCCESS on success, or -SLURM_FAILURE on failure. - -

    Parameters

    -

    Rather than proliferate slurm.conf parameters for new or evolved -plugins, the job accounting API counts on three parameters: -

    -
    JobAcctType -
    Specifies which plugin should be used. -
    JobAcctFrequency -
    Let the plugin know how long between pollings. -
    JobAcctLogFile -
    Let the plugin the name of the logfile to use. -
    - -

    Versioning

    -

    This document describes version 1 of the SLURM Job Accounting API. Future -releases of SLURM may revise this API. A job accounting plugin conveys its -ability to implement a particular API version using the mechanism outlined -for SLURM plugins. -

    Last modified 6 April 2006

    - - diff --git a/executable_names/doc/html/jobcompplugins.shtml b/executable_names/doc/html/jobcompplugins.shtml deleted file mode 100644 index 93f21b5bc0..0000000000 --- a/executable_names/doc/html/jobcompplugins.shtml +++ /dev/null @@ -1,103 +0,0 @@ - - -

    SLURM Job Completion Logging Plugin API

    - -

    Overview

    -

    This document describes SLURM job completion logging plugins and the API that defines -them. It is intended as a resource to programmers wishing to write their own SLURM -job completion logging plugins. This is version 0 of the API.

    -

    SLURM job completion logging plugins are SLURM plugins that implement the SLURM -API for logging job information upon their completion. This may be used to log job information -to a text file, database, etc. The plugins must conform to the SLURM Plugin API with the following -specifications:

    -

    const char plugin_type[]
    -The major type must be "jobcomp." The minor type can be any recognizable -abbreviation for the type of scheduler. We recommend, for example:

    -
      -
    • none—No job logging.
    • -
    • filetxt—Log job information to a text file.
    • -
    • script—Execute a script passing in job information in environment variables.
    • -
    -

    The plugin_name and -plugin_version -symbols required by the SLURM Plugin API require no specialization for -job completion logging support. -Note carefully, however, the versioning discussion below.

    -

    The programmer is urged to study -src/plugins/jobcomp/jobcomp_filetxt.c and -src/plugins/jobcomp/jobcomp_none.c -for sample implementations of a SLURM job completion logging plugin.

    - - -

    Data Objects

    -

    The implementation must maintain (though not necessarily directly export) an -enumerated errno to allow SLURM to discover -as practically as possible the reason for any failed API call. Plugin-specific enumerated -integer values should be used when appropriate. It is desirable that these values -be mapped into the range ESLURM_JOBCOMP_MIN and ESLURM_JOBCOMP_MAX -as defined in slurm/slurm_errno.h. -The error number should be returned by the function -slurm_jobcomp_get_errno() -and this error number can be converted to an appropriate string description using the -slurm_jobcomp_strerror() -function described below.

    - -

    These values must not be used as return values in integer-valued functions -in the API. The proper error return value from integer-valued functions is SLURM_ERROR. -The implementation should endeavor to provide useful and pertinent information by -whatever means is practical. -Successful API calls are not required to reset any errno to a known value. However, -the initial value of any errno, prior to any error condition arising, should be -SLURM_SUCCESS.

    - - -

    API Functions

    -

    The following functions must appear. Functions which are not implemented should -be stubbed.

    - -

    int slurm_jobcomp_set_location (char * location);

    -

    Description: Specify the location to be used for job logging.

    -

    Argument: location  -  (input) specification of where logging should be done. The interpretation of -this string is at the discression of the plugin implementation.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int slurm_jobcomp_log_record ( struct job_record *job_ptr);

    -

    Description: Note termation of a job with the specified -characteristics.

    -

    Argument:
    - job_ptr   (input) Pointer to job record as defined -in src/slurmctld/slurmctld.h

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - - -

    int slurm_jobcomp_get_errno (void);

    -

    Description: Return the number of a job completion -logger specific error.

    -

    Arguments: None

    -

    Returns: Error number for the last failure encountered by -the job completion logging plugin.

    - -

    const char *slurm_jobcomp_strerror(int errnum);

    -

    Description: Return a string description of a job completion -logger specific error code.

    -

    Arguments: - errnum    (input) a job completion logger -specific error code.

    -

    Returns: Pointer to string describing the error -or NULL if no description found in this plugin.

    - - -

    Versioning

    -

    This document describes version 0 of the SLURM job completion API. Future -releases of SLURM may revise this API. A job completion plugin conveys its ability -to implement a particular API version using the mechanism outlined for SLURM plugins.

    - - -

    Last modified 10 July 2005

    - - diff --git a/executable_names/doc/html/lci.7.tutorial.pdf b/executable_names/doc/html/lci.7.tutorial.pdf deleted file mode 100644 index 4232dab419cffb2a46cdcdda9f870c3e6a11ec0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 727973 zcmd?QWmFwqyRM0ZAR$14OK^90Us!N=cX#*T7F>e61q<#F2=4Cg?ygPcd%xZL?0ru6 z89hdi{?Ya0T8k^SYSvwA*5sM92#Kta2n_=*6C6p`_Qm#L;bqoXR}UN`K0UsTzBwE> zH$I)Dk+q4VDL(U?lE!JUH`23$b6x0GACJ_m z|L8TVvee5m))z}IC!ZPCL=oL-HfiYJw$;rtQ>jqFwo*H}b?V`2Ql9r|7r~Ov>Im!u zmkD_oH#aehck`2%TQkxo-{Be6HVJfn-d^Hk>NehB>h^gYbUU|?>eIvHdZVubZr#8CXjR3GT$zzw_>b!3?aK~Xbv`w>(C$Ty z^xWtXB-&=uTq?-P zIV7Ujr#jEU7}2fsCf8?H#d;UJ=lM%!ug~g_quvKCbx0>Dytua7YBSt{qkCp=V+Fs? zYdq;SdRJGDNG`e#V_}#KL zc2>^cS&AUdABi7_RJ_xBAJC9ORH(%VlMzdojJ0tIPEbJ3l`0YOOuH({nj^zX%(mow z!z^FN(1@YY)fvIhEx)#4bq5=Rgy`8nPv};aL`GHA4+7*^d)jIP_+)(v?=v%~BuJpn{PbHKo5MEQ znLb9+4aj#NM_0&l?nxN+bDhzn<5Ke|B(^}0BNcW`U|Uf{S1S@~)d(Tf6mq}2^ss^* zuhVsEL-Okub)He!LTH*!{46+fT>x&+D@73e@HvfR?Pmmm_Q6#MZ_l>D5=-XXPxq-X7|IPJQkUJm z9D_OX?v>ofZul5Xe6F6S27wjHXiCGg9CGZ9<%p1R&JYB)3KVp6CtH%Bj)X_pjdW2* znT9jt?M@iIhQsCGgC^Cer|E%WXvgJdNH7%4X1^}P)zmz6&%W5R@ejd)W5OBCtb9*H zG+kOBYr9$ch)QHancw?*4NtJtm)&}r^eGY_TkwJhTm~gCwj1or$f{|e5H&SNqbC7) zrSEb=Fm~&YGGY~B%%FEmL$G2L0+@!s=SV=5h75j&R{11gO!?cKu>vH%Mgn=v3ok+0=40;FL{J9O8Dw1@`rZSHBN7UB}|VmeAYA)&?i% z#lNE}$ntC2V=6%{=)?@Y#p>#5VbhGfk*g0uBDGeE1T;EP!Py_8S?B zqBE&7a)(f0G72qjE86!KE;dWRtTY!Is<>n0bw-X`8W~B<_?6rIU?_<{qPE{*`ik|V zpII<_?|jm0?+DXDG5ovoSdM1zDEE;51@vT$Z@eCLQl2$h)l&O|DDnHfT-m#%7*u@6K00+J zWKX+4`AKU1S#Wg)^mq1!N~kp@Bu*h{E3$^06+1@)qU&1d4;@ME6#Z9oM6)CHBx^cw z5H4C2{t2_Y0ZCdI8yA++{5=ag2DD!;$%*5JoIcy$=UAO(dBxTy9M<1Zu69mI_iM-PpFwz8`M);Xg!N0}ogb*M4n}q54 zhRi~#qw}yRxmjQ|T7Bx0h)U6F%F@Tu56k@?$;2)o$&DaZ3XcTttrPsMN}(CUz5XC} zrd9o^!L;EZS6Rx#t^Cv!*n}k{`f!!_X>h&rmmH)aTgZpT`G#@MFZjrfnHSbO7%|*< zgwk2Fan!@Cr&ki%{Bd~-GC-EJm`2}cy1CgCRmBWH``}>A zD~zXJ{FX!DR^mj?Ctp<3cG=B`6?cbT&+jni5*JpupI&Rqwqw$-1!;SMu)ry-g{FV^ zIRtg7yWjr`jiI$Fcb*W(Z52^+plFfc@imP|xuiwDp=l7YwC~~?hP27yiQW1N>Ja|) z@e{qqoT?!A@Di+F)mGgPEj}bh({_nw?vEG3mZYl?H-k0|6Zs8!S;V*bSo>K?W11_! zo6MT|_Y92?!Dxg^3@lwgp64>k$t9vnd4Qg@+dXoq4fLuBa4i^0<>?1`!Thk1t*kMo zvBpsHtc$sRev+k_g3lzBCT${D$zDRbsdv4{*VanI`wKWLucwKF^eSBbN6Ujlk-Aa zlhK8>_+*G+9>py4hWa%KeA?Psp~ZVX@UtbWBU5Y{jcf_dvf0@A7FVqCMyudfmACK& z5?_fM`tuMf`fY_gp|c)bdKsdF4E35r@gF7aLv5i8+~(7w7P?(U`S2txCi9VtQ`08w zddU74NFw8Y1UMsW!+#2`w|78&1{7t$DY4ndy^*ye zKEpqSoV<~Pjg!5Bkpn){zbZSBjkV+34i5N0@%L8gNf{ZM=?U7n!fDXI2{sN!d{zcV zEuh%@ry<~T|1J_`?QIMcj2!Vb-dYn9!KYI+a&^R~`)c*pvfw|jpnqP!;%nj4fov>o z>=kVF42CkyPQDx+_1Wbm&Y zzgjWkvjd-pdux*cpY`vd-rh3dGXN(q|8~~@>BNCO|9#^BRJR=e`ozDk*T0WUr{JXT z`1cC_4T4XnVrKYO2{W>=;?s#4nVFb6zFqA99OYjT=oF;%94zn|{`pDJ%+W#C$R1>4 zWou&%d;{$N(<&P7KUdL4v2IMAb{NpN&+TcS2}Jv7_HC(DB8$YV^-VI8SBaS(RhXu4 z?~e+^@?T;})9HIuqY02Bm}rqD#S$&)`?pXO7>8@N`ugFSs)q(}94?1;`v)ODgj3U2 zDrVsiQdj({8aTkRI4rgKRoTCTrXd`*XqiNQ{7a!gGh04iJ-2S~1lQy72+!8GZ~c>K zFHWYdeBnx#-M~JkiT%hu6nc^-tC_Z))A032w)&+y)BZ0mw@dYAE_-50Cy2??VsvVY(*@ZI{MH zwh4FXN!@(53l|NYbt`bK2oC?i9_Sx3*boKcNXiX8Y|NHuDlBO#BjT#{=W5<8;s10X z8)lA@M`~0oX?LKILy7uRdHbj8_yJn0#p-+N4q|u^b(b`}2z9SF{8vKC!>|cSX~Om* zhJpCJ>AaQoJW=ykC}@Q0kpF&H0i6NpA55&Q|L*HRkNPiNhVB1_F7wYZ|DSXjtJrC4 z138rLr$Qs+p7>;7<11TfGAm%h>X(U$O*=NKs_KhQPbVcK>l>DeOG4k;RggtOL3=MO zjDikLLK2@SuZ$L-q#!3?M53gmsG^_%vZ8Tvnwp&)<2N9Zl453?oDj62va+hFj}srC z|Ehw%ynJ;vwkYAl2MGy}z{uRy2a}r{@tuKpWQ$lqK~jc^>CY0*U z^z71VG9d8<}r77H8pMB`lpp_y@rQB z*4K9|YuWmY{sEocVQ}+6jgEE>Se!KR)8|^1f_bUh1^9y+aKC0GaZj^7x_(7CCzQG5KbM!eu^sott;t5)E)tVFkWV>4DH1WVwhB~QHdmd7 z)6qt_d~ku;{gM7%OS3nblvJNi#i4C|eQum3y|#kx#>r^c`6@C}^! z{?~mC?teMSKUQBfKNLf&?YNKQCP(5Mayz^K&Rhdo?E8d#xfayNL_0YF^4?&cgVxZm z(Yr!6lMTv(m_8j^Xck8&vytLyFUbN=ma)%%I%!}eF{Ud`K;phIE$-<;(`i}WgrMhR}{N#@Kj zLH>HSpWA8MKXgdAi3GH{BW~_f(C2QO(HCiBLb7ZQ`=(G{;`ZdO!&uPcq(`*1aI!v` zuk_ww{D3aB9yaeW)ZS62=UNh}ixlx5ag`AVLYWi&aPPeleFQhH|6_`vYF^V+Or72tU+nFE}$_IDr zyOw&o$@_wq-lk@ZckRs2Wam_#HTZ?$&j$tI1e5UT)S~-eS5uweP4gQFvw@8oGAGEK7QQ z(k>pqddlnAvE>^$cWwtAMqRc=MD`s&Nt&dZ=AJ*9?41YFOMT1@^30GRZS-m!H9J+& zl*Eaf-(;Al9%g4^Ihf_BDIUQ3ZhapgVsqi9qvS9H7CS_{(sjMTTt-3_lTYd!`8qL` zAH-9Q-kUc1jFq@8mC-Idd53vzx-@yfU_RHccqPt$eCR6h$g_S}XUguzLZy9tY`d+C zgsD=3VZpq%@TGRTp-`o6d3O7~+sZJ5wG}sv;;M@zbOe_b3n%&$OXE@5mVsB7ohILa z=g6_jg;qz*^;2!7y5>U7Hp+8{g;5jtZd*}9X2fp8q-S*n|FuMG^!Fe;A5FR6Y-tfe zn*kh49^O%I6@nZY%>&(w6<>0H^i7AaRGZzH`JYAGYF*leY^t{*4kDD0!7P@)%#qUv&;A*8h2(D$e?X66|A36g3T3;*i*g|Za(OV0_9>9GZ~gTmJc8M~w_ z#_bUOcWO0zZr1CK!(KaD<{l?$DP?F9!*B_QCBoK+yAIz)axZgs8Hja8L_^LQkXD02 zC(XD6rCW2jysTQ)dP~yC<|`bVbxJ@Dg=Z_YRn4l*f5vs0*-i45&2*@=0^bKaZT|UE z@#VD2NKvvBe96GDjmqM1SL@7np}X*wbj=+jA{mrWQ(7*6mTWBid2~aFUOx&)+!r~9 zUrj4|#YnTL=8;p;wFeY;<9){KU8T?oTL|+|F7tfl z91nH&ofVQYdBb|SG2yV^_5&W*sJAIIqsGpy6fSI=4Vl4L6{`$zm>G1Rs=xX-k#1;H zUj@8QP`|5~BOuS6U;$nDq9nEaPf)!+h zz>bm8Z>J^2W1+I&hD8C#stlLrB=e;xR0ot3&Q1wx0&0g)uT_}zj~(@9#tlib$}HuSJA%4QKjcqv1$hA=skR} zB~03+o>fQMS$fPu@Oj?O%LUaEo{{^_%d7hrQEoo8!JY zUtCazIqK$0UbPVUXG68G*1yl#8q;$6Xc@I~An$rVFXRBj`Sy|6oe1<%_H7 zHQO98KkZ28vNNE%?=$V4m~=~2iE55#jWTZ2`sfhR8MjSSzAy?uBhr(x5;xUz>tDuI zZnd1s#>cz^aWGR@d6#b;q1lye%k{yea;-0W=$x`%SRSQjVl8H_;%=|cWWi&UIfi^K zv)&G4GQ5cE^?N1-6>kPpYnRLWe7JOVfnt@13-S4*uv>mZ;-F=Qjmvm;#yu^<-Fb1k zEXVL^y(OAiC`Y`}!+MiaFild0b3Po~kpY0G8*gHvIByLc#aIb9^#f;X zzJ}ij-VUd=gDf}HtgszX?X=Es3d(4C4i&wmb=!ip!>;6SrT&Y7kPdD*4r%PKzelsn zY46pobVAOgwTPRQHib-%gfE1cTTE*(S_yNde9|w9j1+rR%zWC!BS z&C3o7c76=(*Ir1OM5r&sGsJGDq+!9C7b3H_E8T*ccC-R)QJW)_T|Hl%!VLmd%*@#h zrnvcbDh$fkT?*Tc_`XFnzkjt8qcrDmrhpf!E3k_S9P?uED*%~ z_%)uj(xGHsw?=UobV}cp+_*ISoNb<5kYQq*OtqpzQi&&3O($^t`>xTxJYZC!#({Lq z)4aAt-7Eo*MYQcUdnD=3?N5%;MTK{LbA`Y#&L{W67q?SZyiu;c`s`=QmxKG?M0T@} zMcvJc%gq)JYtJ`2&npY<*F|B7zdiT7a37hIkxPmhZ*tMbPkws!CQQooENxbfm`{!* zJ7s1*wqpt(F7w83p1d;LtXj-RX+EXhg|pllJgje4`q19^_+E}~JM7cFLNSKGT>ke8 z_iyP6l(UR1>Cy zA76b8A;Dn4Ucvt-Vg5Y1WTceNafF@>!4NM zAM1XJSiZIys4KN7fTJLMt%C(4;#4l`{w$@e2gvCqI2H!aZ`# zcYaCH$81c^Cm{>|Y^O}^ukEWI{95EzDek`DZhz4FU&x!ecsmZ*WP{(o6QC+nH71V1 za89d1c z(R_Jq(p>QYakN3=Ipvd!Ct!Y^K>vOCN9+6Z(wd;c4+kAsIa!wUM-lgyg~Qo!(QA?t z$Il*2b}Hz-gWdLe4wfe~Z*PC329&2F-K`8|wG^#d_5ad^HIl*pwz z$HA!%zTq;gn-Rz&avw?CT|5(b7TL zFXp(fw`0p$>8?b7JlxY=1X_yBz5GW4$6oTn+T^10FH?AaT(FN>?VYc~{UPtN@nEPl zSQs~CX;Z@5FB>qKsQ>I(7yZ;@sn=I&Mz}hrNz1ZR8J{xPy@9IT&F*MxO222}OAzWU z^eG7T8-(J7sbO|Zd^4-xT<2R=!ugrkIB%6S(`t4XH*D+Jby1AlJ{;6`Di|Bt1ie~)NyOP^msAVEC`BSZYZHE*X#fF`hUIQ zUvK!=8~*i%e?9OS;EaLe82|Ne+L(z6umD+D0P5)h1U!%nAmD*q009r=0tk2@7eK%R zxc~wl$ORDaKrVoQ2XX-fJdg_@;DKBK0T1K?2zVeDK)?gJ00JJ!1rYE+E`Wdsasf0p zX8n7a0kW_F)YAh9cpw)*zyrAe0v^Z(5b!`QfPe=M1Q75*E`WdsasdQ9kP9H-fm{Fq z599&}cpw)*zyrAe0v^Z(5b!`QfPe>b0R%jd3!t$v2gh5p^Z;2{0P5)h1U!%nAmD*q z009r=0tk2@7eK%Rxc~wl$ORDaKrVoQ2XX-fJdg_@;DKBK0T1K?2zVeDK)?gJ00JJ! z1rYE+E`Wdsa{WDwv4O!`v-AL2SODtj0W^N|KrVoQ2XX-fJdg_@;DKBK0T1K?2zVeD zK)?gJ00JJ!1rYE+E`WdsasdQ9kP9H-fm{Fq599&}cpw)*zyrAe0v^Z(5ZKb0R%Q67eK%Rxd8ra13ZumAmD-Rt;T?}4RbEz?zO8u~-|>AFnzvcpLB(}{>zIxxE#~=I>I+tYZ$UDXt z(XSIHq&Pqx6+Ng(diA(JBtd%^ogUX|)Hb(GN?Y3A92{)dTG4vhew2B+c$)0KT+Pe? zvCnEX{W`O8**{KTP(GTK_Q`(?dEMRa-KFF6e7QIp-rlr$Aez1{32&_rZ`N(Fpt-x$ z3r~JEq)VE5VjjrmMYJx#i%`Kk+kF;((*20Y_ah3A`qO3T ztXQ=r_Vc*J;p~xFgEj3Z`MXEb`NK`}dOV87{+~5pZwUH{eOenVLbxy6UfXY98^`&r z@d`IpUat4Md;0|M3UB9i{A8Xl;*HPRI}=_`2PajMPQ7na2Pa=$Q9c%HgDkwUFIHQ% zVQL+}Gc5H!ox~-EHfkvhQdbM?G$wv!(3B{B#@HJcEV{BVYr`YrnH1#cwg@lQ8YxIm zZLV8bV3^RLQFL#gXxU(xkf2etXxT~p!!RL=_V7IEGgY;iYectDm4A_$>l2V>Mpm55^Y+4i`vSv2k{WS-$%p9= zwJp!XH{^oV!`&ndNlBCBHQoKe5`4rfQU`R*i{jQq1s86(dC-h*kwF_-F9*xDJ6PR{ z-svL6HQP;>mAHhX#-Hp1wJoet&AQMYSlm^bt-3_Y$MlP~$6kZg0tAIzcwlVq*+U&w zDpszkogRx`q|q*DTq?8fT{zP*vjgI5?ksp50jET9qRfZq1yH4B2&5QHGw~v}+!pXhyq?qz6gNXh562Uj7*>cD7WRHMrr|*szUkH8V{Ku^G_?>oWhu0lHbRh7zjpO!{ zKzqzSig@G^>mWXtKoPVku0D0MGH*y67x$&J?zhj1{H{dPaOiNe*Gg(pUVa91uGEf; zQ}!$tDGoi0Wy}2l&UjkEF^jAM!~0paXyVmJkuWgFdSnCajx!udx}dnm`2qyKmLj;3 z{c0jkj0|SZGWSsUEM0_yq4qSE`vS@nPI5-;f#~3Ek_=hBH&f>GlL$YSd=9-)yDcs= zX|5FONdRrc?wX^h%ff%ACEqq)Fd>n6%8gG|C@7ng0h8_f4hDK_&6_2BEMZfe%!{K^ zpMdJUW`Iyu>Xpn{T2AvQt0R0Mcl~w2$jB<+@=I?82Qmh&@V9k5V=!@s*~xr5E0FrV zQJ$}ODj2wFNK1zBUY6bXA28yovXPJwE(n1p*9b-rEka3^u67>=GrmtFKg)kp1@~G0 z5h|3-dYr4gJAL79^y#U%+6wIBR!MV3!PMjs%8)vV+N5^87><*Jxn$w=Z*AT9?E4O9 z{(_b<_%-(1yVzF4p2<+Tb=oSg+hEL{_nqL8mD?CbD}pEt<@qzjQ?G-0FXC&#ewyMp z?zW1JBH#x|$^Jfn-1m%?=nDR@bP~sGWMOO{=e;2GElX6~XmaAae4jv_3f(0iY9yY1 zb%PDuU*i^Or2G^XP~Pjz-p;v$Si>!HAJ^Gvn3v)aN0lP2+v8oT@FnLm~m&VsLco*%8Wg}_e&f`sL5XUMX@@+~AM)u9OIe$KOoTPgCv1JZE`5!_`n;O?y@IwF!%Pq&hm2gPo~ zJ0}C3H=+b_(Z&D13D~{ILpw!+%l-diP z5)96$w-TfO)-oZgao^XhWxx$PK+Mm(?^Tt6M+mxDINI~)LM7NnF5>5(pY%H(Lnhp> z6(N3CItG%Bu&yl^=DG?H%2-{%G|d*1;5`(t1f&c{Xvf2JO~COGvc`H$SYyx$p5dcGB_ zl-Fq*>EkyZ3GM|*DwrKBdDFrqpSej;q9ehTPLM@&5YvLb5Ux_yXjK@#>k1&akjy@I zBr#ouy+@2;tA_C=f21woS`0xrrRwI`RWo$E77tLDCyIB9$YGpIQ{7o(65<_cH1Qiq zKu~5#a)TaY!M$COy>dKV!z;cJs$86r5HRN0Qn!LcSwj3wwp7-L(n;)ieSMQcB@p|r zVyP=7siF1yT2b{KhhEb;&VdTY$&MNFHPTT(>nco)VdX|e+zss2n523wnIB4gl=Ok& zjdxzwp0Dll%?kn&P7_t#MNEEAm-gcSa3reHbr|M^V$V`pTnx-e; zMP9ZOd9?12Ki-oy9f|H!GvSkgkjdNUettLXiWlS@=S}}Odz5-c7I=-+*~b)k$tOqX z_z-)s7{WQncCa45F5RZDY5$z?J4M+eYe=e2JKj}#NUeJc-Pzl+hQCF4 zemgy=>|N@W_o9nDMk{IkiAO8cl2Y(NAR9hWYBy?rg-@^zTG>HWt4(H}iBBt#VJT16{)e`I6;ckd4)@J)OEMfd8+CO>FL+h6p zBKqV5(cJJFon*UX(8EEWZ9~ZOBt^9eYkpC=YX}edb@}X*EILr6McoQNjis95p@Qk5 zV9#6Cu4@%525EPFri zMi$wLv41-Dit|mVZaJl_uMY9~wMf(9yb6wUAE~?r0ioX7UKm+> zbXOJJ^%qX0P+SA&!QW53W(lgrYgz3_8wou{yuYj zzU|BBxMeD;uzC*)u8G#Sc9P8&|5?X(?gAcdh49HsIIH?+Y{VC@A127LEJ@g-?=#tK z9Ml+tA=XvGXf7nDGSOj1$Cb+G)`QiUv(wUyJwt6-_9pMw5!MwX>Q>)-CQ?u5Ut_kf z68sJj&!3Mb#^)IqglCn95tCug3mxX~Lw|?0MXVeY&%ZJFEZbh?K#AIwZGB46211!_ zj=(PA5{f(9vne#SdBsTc9*VQUb%}rZzY?Fdru3QvU_vTv#}bzzP! zS9QrfFNe_1J9A@ar_ggGw+dH^2AH4}%VAVf9wrB`YtSu@E3Md9gcy?&V%LZjya%5` z#wC<&9HKUc0UTO6pD`E&p~gKag9}2Myevk1j_gO`@9cIe7%cC1t!is{u9qIw8zY`$ z+()FJB6Iv8S&SnCL0e^l1J^105Vl8TUML*Cof};#EX^c@w!w}?I)x3$6E+OGLWGnG_Rh#21xANJ!2)4%}gGG$J#d9afgmdkKUO990=gShB{p zDtirM&O9_pfefM<_uzV>Z|vUPlR^7vF9G9~-2~|~QAQ5cIL@4n(}MCss{h~vnFC{= zOEGK3os=k3uowfI*L-YjfzIYlYsxgrJyJC3mVgN9IYFLyCiHWj_X=WpWKTDqK#8Hy zF8wquq)L-=OgMF9Z{`ZK@=Jt0r?v)P2MJehT6HwMLg$z|-XD%4d)vg`zq9-Wi;#?Ay=TI}h3Lr;{2o z`72(32gCWWOGuEFS|gI>2obFQ3o@t=I^j~dj`jTudDBY(chRJNJd4vpqkD*_{Ly}T zv7C$uI98-qsg6Ka1bnec-8qt6iwP}wDLYS8^nk+3FcFyq5uI54JV z=tn)@OjL0xm9XWIW{}W1Pc$0swQ;VMR#ZsJA_8eXiep292cy znR+8HKY+GoQDcXPzT-alv

    byEzE6kp@Y0=I%UI_lhb#5D;AGCyyua77~#AmddyX zYm!D&3Zb}Ny_ZithD{qU({wW2ckZpky}k<`943UlR&Ps}L^lc8bx+8CQNcQ#C`M0{ z9fUaCu|T90(VaJf?y&_i%v&s zJhNCkj`t4{cMrfHgKxUV8 z@?sbdqp0OjOMp}sh)|2uMLw!>9ap>k>m}Rc*^r76$6I|`<{?8`7n-+m;<*?F8v+W& z#35)>lZkz`Y)Nprj?}T)S>pUhuJ2`Qp=;?!Bsg;shws()?E+|6I?iOi75&?HEr;Kn zY$o8|uFS$MxKntPe;JQZMzN3+0T+>DbQdFR*aJxlg7Y}W)?to}SoR#g&<+0B!-AL%kZ~kx=m9~F{Cp9q5ML^2t8qZk1cl7*HLZ%5J2^BRui){N zArV&cV~Eaddu@`KUt2P+5);T%vQS8`Z#V4w@~6WsM@Li=#+AnIKe0BbWq**p_q8K( zgj|~h+#}4PASU2@n+US)`)q^LZ+PhTr1SB)`DbTs^&wE?SgQ=wxK3AK1C*!mocmKz za134_`+0)}`CqY2=I^EZ%4y~vqwnX&(^bi{JcM#h8|Tpky*cdrv&{(T z>zI;o5U%+&67)}oD@(`lqA`k|w);8VAwNTUkbP3HYdlI$M!wF)`?^IZvlE8oZ6C*X zg)ZDXlIC1o{qov&(R+*sJ;l!aAw@=v|JgY((O?TVg1XhW(?g@R=d%Pk4s2|^vLM%c zx%iJev<|5`1Q+5)e>$|JuMH_f8wYXebwjvyZa>EmiqL)frL8iF+A0+G<3yAQn-;Ci zBUJWE6w9DFoLkN0Pn>GajwL=NQ5M2;yAIhOjcOB(+d5L-{?&Pu5~3LEz#Wty@8PYV zmd%t;ZsuZ%KMX&&Sbx`w0x>wbg^nMeWQ`pmSp#gvDXGj}@+D*u; zJ1pp6{x+DEI|%t>Ws!blVVU^H3ihBXZnteyp>c>Mr1Yeo&arNvF2@eq5zod4lOc^d zHZYMmPPFn-iN9w;-nn+2Hh4dpFzQ90-Y+K8 zv+XmH4k5W&gM8|PGCn^vSJ8UEE5E(-brX~9!#i%j#mQ!whv#+K)0IH@)a?)M-@Q#* za3MIZ0N1I3;*ji62;XNG?HJ;z4R+DugN#R5fxdqnqOBPGfSM@M<~n*XM5S&k6ZDcv zE)>ZPn`9m-hk_V%Mnw~{*{0F^ocqg8%u|zPidN0s8sYI{@=Z@BVo+a+)97)7GGEU@ zpC;Q&Cx?)?8pwIS{#1!7rj^i+Y4*=k!cw=j`dDc)g@eLz-HEc8#md(Y2JxARPYKks zo@xx0UvBrX2>EC+sh7Y_LOiFX-a%@KY1Q(8Cvi2U1vcFrr-u$}NyQ?Km%+sJT(2xP zC+t(?XCn=#No+}$!++p2?K|P`q9S`Qw&v-efjJo=ir!%`zL-N^*;S27LR)sI2Ay;a zKK*E)^E#B^)LH*p`eTmkGH+o#m>V2gyL^YViAm+Cqf8&aK9CL9DvDjGWa_6AF~_J74qQQv2i{8=yVGIb@Yf_VpltK_Ho8 zs!`m;t@(gm@Re~s`1GU5U|)7Bj9)4vVQ(x{f1q#ey)HJsYe7X<+}>!dU*(N;@T;%1 zh~thM*HbW<>AqjR7TY`P)R>{UDu&o{>GzdT#qXf7rZY?3$P#Mmk}IL6l^vrZUW8sl zAGI7S!L=(6V2M&tB|Iw>4QfJ$*q=qRO4b5$t{wb zLH!mkVa2XCVZOt>CZCX_m*Hj=2g87*u`nj@^2U}UAEj($L6;;YCSll`pl;d3M=tB| z{V>vR*|nVeMgQ?e^5?+{`N9q2wW%ar1}bQ9zh?P89) zz<%R!Q2|T%;~ye8srh-pC>*qvbWeaY6>w6)sv7pkMGq;qIU}4pD$mN#{DR=(@aH0o z6~0eI)kef@SGGaXYn51@|N9v$qK#@BNdl#P8sujvu{kC#_mI6U7I6s=Y4zqs(4&oY zf-Zag(ec|z$$`py@NnQ~1?E?=$A090{JP>l9u2O4EI0PjEcQCPg|z<>3Eg#m~22aJZk1>nR?|nCgE%G z%5Q;MlS8xPIktlO!ZkXR93<-cYg&@Dq5O+Q=Io48jQBY1Y8c*dQQPSF#J2Xlw4>$u z;0u;XY_rjgQSQh`_xc}3x|wE6eV%BTFz8;bG57I{AU?l8-+xJPVFz;QiMB^lFJ?Sj zyW(~(#sns>d_ts62{)ej`a!_8oi=i7%arfj+xkVynA-Vj_sV5MkkX;a^i`_wY(3Z* zi_PjjR;%)s>DvW@vqWVsAF{&0pN@NLVJ^Khn;)isl<-=Ab+b-r+Mea4c8NBLvbXCf zq_l#MiDsM#F$Q_5e`>vb`+LyWQDsS+&f@tV^P#JiMJ!zD!m73NnVB)c%*|{ZhUJRY zqIhJq45a!A99i1s(kEx+nTpv4KN;7&7lQ0isw|nDz-!vdeTK0};@tD!7@ON0EPX@Q zu%Hb_a35=tPA$9O0P}pWU01|V4pXKI66ONx(oJyrEgB-sMl6H)Z%vYYCe<_cf95Hc zd+%HpY^l^G1g3FasYpvmAg&_xP#Uqd+9l9GJM^L&JxY)VzBulZp{P`PQitR64kMBYl+F#*eqytqjE*RGHT^Hur_V|QBuOTu7M&5 z6jm_!LVd7xk=x0tHUlgFae-SEjwnF8g1kVD))|`_t?3V`1J;l}fu*h3ldkTmqskAc z)+jgCzUEX9kJItlbSrj6z1WIbP(B^$_xs;vdpWIiw=;_*c%OY{G;Iqiw!%^S-+Pdx z#8^hFJQzoTpU^(wrFzIqQLurdN$(AmQk zcM}8`d0$OP_)5=2!mS(*p)Ij5`Q_Zz-U5}kZrreW7cEJeTxX^-yW_A-F{~DBd63@OB`hZ0Wcqr#`%(GsOV zk`4$iPk8gM4HicpAK(5s?S4KxIe(q*Nmg1C}mHrdv3%T09Ag98zcPEN9&-glv`kyEMar&1s((vN8$+ z?a+{E12eHU^#P-qgsdd)X9p@JdU;BB1B7of#<#x-&M)D9P3D)_fCN8{H|pU%8Hlx1 zszaYZEJ%$HHyedD&4>%xbU=GqMYXmll-F1VcRdPI*|e>}f4h%EOq)8-ot|NiW+_~S z36}F#d{+M*EuFt~eQkekDZPF1;ZTKgGB@ znX8@#B?st)HL7~Qs}9AxH+oOzIx%1PHJeGk*QH|6oMh3Jh8IfjVYFmpBqQKMn>G)b z4il8%;FSl$7jzB}cyGmmy5_c(vJ|UZO6A8m>8#DQAIq+(8RPx$s-+e$sW|TvjV!1c zUQp%E^lQ+$iFx;qI9w;laO*CoVz}8%QW`7zmVH={`NSxg$#C|;0C@>;;_ zghRGLq`rVlYkwz5)v&)p9jeQOIPTqR;`G2(&qFfrOKsGkZ1=@IHXU3BWBTzMWPqn4 z(>qJ3TylBft6yYR?}zcn>!pQ-c%_`3a=N>gx6UJp&z6_k>s{|zzR)D?ke15XnW%#8=wGWPK`PGk8t(`% zaXeVOA}E%=Kh4+BfZH)|;e&A#m#^-bb%}rS@UxJa9tC#9RB!9?>!m35B@JIp5{!yf>WFz8GF4B^=0wcv5P5CaZaG;(T$TV5^e0)ftI^TvuCyBS*}vl>&an9PcBgkq z>Kybqd`wUXj-qjWf2S*VlzuFid!oOIEDg!(jYY>2sY&`8hgh zH1|q_)KN`FmNDwH>&esTTM%lKNFV(k0%J6Zh@0VnQn zTf#f?&WU5Y7|@1Gi8XqDm;uPEa>oTU);eS_D;-uhHgGZ5a9zo7w_1tKN4tuh6tjI9 zW-lwqGtyUIl2$}F!g`=Bi4H~RT9}2wrXNCf$uC{goi=pWZ3)@LOLp0^nu#OiKx=_+ z8y+rAR)=}sn;OuI(LQ^nqp4}YK;$j9L_9j9vVq_herXd&?eFUn5!5BanF@3;JCPAp-lBTTs_5s-3TNL7f_>$p-)XJ)F;jO`M#p2U>a+XlwN* zzS4&({5WC(9M4)Ck6-mreHqq-w+XUw&q4kyyHDAO*Bkhg$SoBG=Z$%h`UhINO0vO< zH`(+F=7uj2Aw-CEnJciwLUYerdZ&tvpHCAup|mV=`bgPlHB2YYWF7xlXBk4s2NcZYN{ba!`mNK1DqB_&-FlF}idlz^mkBi-Ggv~>6b zgtI-Kea_kU-o0Pv-tTYxLtlfR8J=fm>7ny<@=z_(_I{Y@2T-eJnUt;fs(Q5%a%v zcofYO%#KcU8d0r;mm=VpG(|(O?`lDK{Ot8{Jeoi{aS$7GgSdGH+Z%+6QTxCXWKYZK z%HSq>yRc&uzrEHaPn~PU<&nFQWm?IY8TR*Se0lJto!kKC-W9oOafF$K>COrwz3h%! zNR=gpxbTkYU@T(ygJgz0!4f7yxl8P5sG3CC0rtlxEJ}NC*)_L92=_!?hCVevFxfrk z$z;jl<35b2eg(m~$EKxsAt=eUxRA3KLyZ=c`lMPTEl}KrXCa>e4dt=-JC!6J1U>#S z!RgMHmkbH}H^6x%t-s+^`Rx?JK86*Sr8b{A#g8Q|2AtDUk9@Tbz5wdHHQxbyIF480?X7FX76hB3hAymFM* zlxGlVV!wT zPQ)pIXkyK{$TvOVp;Mv-RVOD$*_aw(T}O91o&X`kh7?lvcw7XqyyyEMlP}w56Vg0F z_l6R?zm(;dbnVbQ&aE44?+{x8i4Y>N3Rpg7#fTW4OF8`x_R%Wa>~}cEH*BvPjxh%- z3-djJnDJ*vt{*~)f8*-Fc<1x*o2|nS>x6&r>u~$bdo{p++}MGIknvVjapUa3Ovrer z6_K!FC1m;?Ylquw@7I3k?ZEgKm^(1tnNs|7_4Gg2nE=fl{*&eox6yDDAwRi0+(y-} zQS%r0J22gSC;vN91N3+JKjrVhc&`ro$>8Dk!1^W3nEoV#2d4Xj5oquLGc)cM{W=qFbr z<{yprf9v;iElP+OV!*6DS95RIF&ndJFTvAe=NAwJZ7dbguJS9Kf>;@tgud|LC9m}MKFs#4 z8a5eRR|<`I8~DQ&1B}Bq;m6mr)0maCG^e0{m5Na_5qvUkOP~e8!Kz+xn zBXs6~gPri&TsCz;t>K7Bkd#>=N<%?+!b2YSQCAhS1sNNtAfS172*8nFESBGrm_H6l znM2V&;W+$Cl7W#jgJoz3{~Ie$Is*Q<^Eu&^$0ub z8~VcG*wokZk{qoYS+f02V6ZmNa+){bRa8xxzP#)7f~Kn?%za2+(p56w59f9|FFGw< zNN>V|I_ompTy9shpi*I-o}b<`-7}k-x-78c^~Pw2XVqk^<};HeH$B&!=Gteq(kJ^q zlK6H9y9;09BO*V#>z1?HaG8F_P*tC$Coe=|6H<3mTDb7~=55p8XSI-aU>X``<{?lL zR^=96bVcWv=tO4`lEbT|D~hM>vXEM9t4(Y|R$*>F2T$owP()NuprgP$%l{(2wDc?e zY_e6S%wipyOYZE|0{fa_x_@nQqF4_%jiv59-*$xt>c=@(-R}=t$`%~{5huHi%A53z z^*1jbru(kzP4xaDn2hNT9Qqqf#&nA|{So`~drzO6-}N7d$v6m^Z&TA7n2e2(`L3%h zVZ~0!{3HARI|uaJYkx^?neRHte<-#67goc}cfbkIY8YrW473^sS`7oOhJjYYK&xS( z)iBU%7-%*87g-J8rmi>X?9ZL(+Z_1U9QTg4^@noYf9}tF*987C=ZE>OU;vVO{+}P( z!hFxd{E5_aTVDMdW_LWVKQqi&?wTBo?<}Xph@?W8X z{qw`=FZDscUE|HVf5Vn;&%a-`!u;n@ZvWD)+^+GLt=zYdfG`;lCIi|u18tgtHqAhr z=HHyCf3j(2xu=W#1e0Am`QOg!`*$|YMJh5jL;Q$!JMUi`+CQmbI`>%M2g!%b@_B66 z*$VzrF*zp;1^SAo%o&GEr=6M9nS^|As?w%@miLpX>w~QmVl=%`U-E~e6yq_wXxsCP zrK0M?-n}~X$m3_|TiClv=(KTSRgN)H^kt^CbZjB}o;B1|;}^@M_?gO_Z4Y3OQ@+s^ zk*8agF>*41WCJA4)C=bq&HZ6!-@7%uazPd1G7pLwCI068&9REunTs<8)hu7b6tNav zFa|w=9v_Y|eeg0c^eS@23h(~|-pFk$l%VDVD;n&M^?F(tjs}XA6BFQknunky=7K9p1i_l4aWegFVX!PlcV0(-WhK7=@kz;#IE_AE| za#5+_01-CnhrtTNw+@I6ui7}7(D9H>nW)gXa&+JawYjV;<%Y;0v4W>rh7C2B2@9%> zeesI$a#Tw={Yoa&m)0%Qbldn=2<24mbH6d_!g@a*6G3v4cHy8Xei><}A4920?UdNZ zGZX{2{=3a7+;Ls>-E?f(l!D**( z2hKQqM)d4Q)oe`%X1-?(Tm~`*yPxE@UH}YaA~jy|k37?ShI~xTxuj*$RL4?>r*`l( zW>Gowdf1TV2=iO!%D%|N2^na56c)ZA}SN6d9>)|4pBDMHRZD+&JjVF~U(qI$PqqMNLY?YE&pEca#CA4c_9 zeigsneqaB{P~+QY-eM@?`C%}?w{GiUZs~{|3~*0rhV{{TopK2GqX+^>0A^+h3!9yG>nh z(%GL`2e*asuQ~4j0sR~6eM9p%VDGkC`*kaKU4Z{#Rrr?zd#pEWyjk~8Te&ZAfxsRR z*aHH4Kwu9D>;Zwj-v#zqe@Fku_DA(^8WZ+Ytf(ICYSUu5D9z*XypB0`gVLOKY`(;J^;(yBM|Q$q~l zUcEr>>$8CO#df_I_I)tw9K?#`UM>9U3tmN5F22`r+hUD7XNQgHL812sre4Xk5?P(g zC&Jg6qkhK^qd4m~;3(Sj6+*uJ4f6(VaLS7Mivsfm)BAU7ajXN>E}!xuqiXbKXD+1r5w#}w z^j~ABeaa3^vt{Y>neS>wV>}U(uYII8X1l+DrR^~*s7ab{8}3%x_C^^m5+zuZvZrlT zVxSdMwut3~+gtp>3SJ~aJ)&-Y8?vLoI;l;zG>sFbT@IScG)us{=M1w7?K1&v8(3iu z%gdqtVcG8_wZ#QKngnHUFIO1_NRpu>Y~n{6Dw}2ENb$TV=K!aYon=cHw0d3BK2=GZv=gSII<8jW z4MUW7S2$^7Otv6a!{_LEpP^z??0%WC=qEm$*^W{^R#Ko~B-VBbn|L&J)tpak4xVfU z*7e2-5NZ35t}}(Q*x4NP&R)?fZW{~XBbhx(f-@_*9t%)f!Z!A%k8>)y`F7ajs&9X$CC)Fd3E(52Qd6Ad??>TI`_Z46&=A@R*MtKK`;P8kw=u=#V zVAP)L$b4y*z;@NnTIaN&YZJ{KDc_}q%6Mf2ikRkdcV zG_-=P=-w9JN(01++7wpshH!kz%UDU2sT0j+)i=P!%u47Odc>e6P$4M6yRiyF8N*@) z9vLLG+N-J$@V|YHi4qvME<^4j2ju{=BF#DGU#PPY(}>=Yt2~KfuPgtBMd{K~sBafJ z#HJaA%4(su0u_Wc>U$wvqx}Fju`;pOjE`-AuCgL?_m0uP3-%YpMT81hb~sH~?biKY z)4TVe(O6Zi`=j4De9KVVP{jOD^yH(2ziCia{~!SubQpYOP^?*daO3JoHy$0#nPI^T z+T3rQ<{RSVfcKBSMh`w53Ai3dxf*tLzzUk6xE40itU4jzKP7r~G}uNGlmZiPa2&mq z9s}Tv{T^6qYwAph@EN|b_q-JBbk)P1n(JHt#}>(F3{B6faaBXkYz^dw{ag=F4heaT zW=#%|jk~&tl*<%&bwa=3l4&H&EO*y0i8-Fu3QpOMLm`ewGk~F62Yfa z=n&CGmH*sc<_?7$mm%Ft zlaB4<`>3p4u1DB!riX>~R|WA4z)Xp7lMT{BAX)ax53x~cc4PS(8(RlwPgf+pyAP}l zJ*v0DS7~ra=Tk*Qz}3+{M*_N~`PpacrGl5~R?W~N!qUZQvRuS$KZ-rtC)qNQh9DsW zqk&>*Hy_g2UDJRz#@FoIqrt6O)-!d}i1^;ype1g`h<-fj7tCKF5nj4s8?|7o*JZA- zECkzFMO}#*ojVD(z-(YDD}v?0?zhE&8;?m{+GwdA%i_-6xdG>2n`-@EYth967pyjm*AoG~sVGgc9ekyDP;J3F${;0Y(r-cNN!`^7(JRsoqlJ@B z?5{k6!H-LzLtisnFuS<)sO!rXbGq+gR+lmu%8;e`Y4l<4Z1#pK(b)8!@MXWZ8~#UR z{q`<)TNbghvETd3vfjfqe;8V4{Z%k~d&m4E(E9B&@9W7w6Aw@;wyIBEw$`v-#sw0NW4LdR25%Mrc&e}Ai($0 zImchXdVMmDgz%zhrnhQ@fzSk~tL|dZ%&!y#2u(b&X-H!9{;<`b^H9(Esr@-@{I}ty z_(?$h`#58#22Bhmb=f`iZXV;o=a8_Vcpu27=>vziQf9sFlc`!?``N?Od!;yly|>Wb zSx4*a5017++Fpw+d@AB4f}_UFND-}^AuG14Yny5w?tV2P1EG8}OIWv6W~pYk{HcCF z&oLP@_VYDPU*tTeGjk~!8R*2#OLH&;RTV=^;f`%A0G0m44`vo7SWVyY5r$X2_dq-T zAeDr_L(ePPtBgK=Sqk%P2Clvkjc`D+rbUd60Ezco*kvIaKQ$^w0r(~gH)`Xi7^y{R z>bF%P!j)i{J9$gixk<2vZ5-zIqU#-wvA%wc0#$+1r>j+{$&BQW2h1NBGONh8>}sRZ zckqhqm*V83G|)Sct)Q;fL?Jn*Fm23dmvq`2_xVjA!%LM;lbDt^DOfQ_q=7)7UPCkbPOtv&~TEHjY|XnT3~s&Fj4 zgm;XHrc}#Wi&6O<0_w69N~2;qtq(c?RC{y2(t>7P9_({k{W|c`)AHFK$Tj8<{CJe9 zC=odNVi|_1R^U%t>?pgO@^m5nEG)sLoiL-7tMJ>NoIQ)Ow0^=ejS*}4l1L~7tC_-O z{4)X)Rs@T;1b%{NrvNJ|ND)eW4hPh8LbSGt4rWBuuQAF}QOheNkZxf`{YgeHZp+}! zyV&i+=^gqq=sIFS@R6`fB}hln8#=NrC8?UsJUnt(uOdSebs0T66Tn4fA9W)zE}Z!G zCXk95$1zF3;>n_SZd>b?E8B>QNlS6}!;P3kUvSDNX{Zf1=k`}y`RG`!)=XYBSAIba z!Zw>uOC&HYtEN#!qnjAEz!k>H!#GhAsPl6R6YP5C*`TY^4WY{7UdYGXUW4VR8HR$r z#(Qa_6b;6Oy*uW_gUN>~mUaJpg8 zzKmR`a)7@>T3BeL9ViiqkJBd&I$=NMa~k&a#RW&Cfv;17vV5SQ#|1gH3atSr>CGVW z0XtLn#1FY}N$nT0Ix>YbaET|x+;)Ai}`@P zO6!(0k}MC~xnVx3>T7-^bx>naM?o%6(UOR%Ac?0ji>jVmhgW&1rW3}RuD_NX6T_7q15TD>?rqCXE}nz+ev!BFg2XvYx_cu&<;w=&iGuT`Xdd6iYEb=Z2X1`u2TirKO@vJ&tl; z(zoO9Nos#QKIV?F^KQ-)Qq5^^p1yR25zHIbEVQKKRzdcv^5_7z zw39*~n##0!5SvptTx}=!_wU%I>O5oRY~no*mI|IuGgMa3@Y(3W_>toF2&j+hqU}*7 zkg9R?DQ#)#y(Wd-7=hOIx{N`%3@pD4GDvj z_@G7NbfntAwRJ;Z>yzWqK5sBm;0wi&0RYah-m*mZ!CTrJ~tut6QX^4X#5gp9CxjX z|6!Q@r7-aA8gJJ98=}o|PYn5~Sz;m3ujFLl=w@q7cs<5S-}L$)H8Uf} zr-c8U1M=5y`?$MdOsY(aOk_vGKL?!=mVvosZGfu6T1_G(N!Ki7y}yRxDxX zu7s@1IDc>^a;07I z<*v_#<9emq2r4BmrjkDA+VJXlaeRz?^LaNa?;yjnPl8HfF%EP6KvZ3iH^J9Yg1(Q^ zcx5B|VtY+0Wrcuu(c{=NbNqRxPI>xg3yxYqqA#1^_EFmtGZE(!byMV%LTR@>?EQTO zQfLu9YQ}aU$}L*W=`@UE$yn(37mr5_EH$3LldB|n2%b+xK4jtPO8Mc#L*Y4MPpk6o zeNxrkR~oy@_3qSfJic?C?q57eDAbUaqzVb}BIBS~Zq)>*;E`4NFMBx3S8&sx3uk z<#Hi=Cd@exR@>uU#3jkSih@orS`%N>rxK9lP>h&}5Bq8c55v+`Hf>76NlEB7wWcq> z-4TN7pMgDJ%uQe}F`y-J>QLhHcD1dt zaKs?x*i4A;d5OT=yio2=GSMj_J{iUGLEA#oSR7$|LBE^_oo0ypQP2{3#AI-Syq^(= zqeNP1!s{TQaP*00K6o9)V;My1gG_0>2%O0#yqagnsfj^>=u|c?+lW+ii5Swlq_O_y z5V+!S64#+UPEqh?YjusF+a8)6hED54mA60hu4YDc7OuQUiU7|v;n+*Ws0Bi_D;$&x7>wi+JVsM~Q6~j)Z-I@8u#dHYXRqM) zjpGz`je3jYLa?Iq({~|0d=Th!WzAqxu#-On^G!qg))}zv?E(vWV1n0V2N`4OhdM(< zP7`4nm0_d)D3Ks$Mqy)&CL*SpY{5n|1R&DYsJY6$FA~g)4?BsPty2YJ5aN`AB-X5@ zC5E%K?oAJ?sLRahJ<*C5Rvl^qQOrC9Yr~OLw9~Ibsa%ayxYNJZ81+tQwy0HPcv0|s zUg~(v6Q1n6rjE3D@8zC~Sgf~HT@WPNgLbskCmd&4+Ndwze8#$}+GG%un10jT7MKlqxaxu|K_>ak1 zuI9PP=`Gfga!OuMditedolYI`5|W>E@d}-Cgx;Bof0~bX7koKRXhSA0?CaCxq~kSe zB5E2J^Q{`aWX!bf0fq+K`o-lI&R#f1{Q7`q+KaqxOC&1=OPkQAc58ugmBP%yW7s*6 zNMVh|+<1?%6(-+=m()lgxv&jTYED{r7Y-X!GUP5G4$DPC?U|QK*Pk~Eb{iJZd8`MU zFmVVL$WAAHGW~9ZI7}cdkuP-$c~Avy@eSnh8Og;7h|08~Dt|g0W9FnR*yh2SUgwCkVQT81T|brzw)HUpj<;2Re`u3-VU$o5H3CnX<1v}}P(U1f&#gKIPy zk{{Kd;sk$#DI^<0R9)D4;w0KnhAOjN9kZ$%3RSMVuFti|^6CXrV{Rk zw%0gAeYhZAD{*4dT;!@WHaTF5?X7u9%F2W-d4A#u^I9fAOMF--M>*FF1 z!37@mc7fsy-pnT(OVuq;(h9d$UD@QUkdm^+P%Q&(QoS#{$I|?QnNAxm7d`lWpDe-5 zQj+jCnhPI-5gm2Mva&2D!EWQMS+uaV#JlZ33Uc-=P2}9H6aHE>ftc%%B^slfJ1~m3 zX;07{0=Zq1S;vqBp(M?sdF5w=8u;`z+Bh*+&@t(rsy^3)a%|?uEYQ`m>)QA7Wjo@TBvLNBxMfKblMK7*=4tV3=2;aDYot@RH`$8Hh8i- zpo%oV1?(7VThp$ChtQ-+oAGmkVW7RhLAe2&|8p7ArdFFK%%s39rR*Hm2bmG>WYB#f z0af!F8%TKR4Srl0&6>(dvOZk#=OdZc2ogcU zf>X|R5wY&fd)(lc5x9^kAEHT!EBxIh` zU^MlofI~S1b*N$o&s|;V2M0qkNCnCpk4@k`s(usBD*s+iIy$|moWhZkmX-QT$m*yn zORGQ08T7{oR%0%F@=AO1@L^{!lGoE2t<~=?s|!#GG4lJw zAd50LOjt$`HjrOcE#=lsNHK$n)LTK*Hi6CQQ%>baXBJ+zzpy+;t26<-OSC}KTy3o4UBmzBmCUV0cQrXdfqgToiG zB#5VY>N~M-TBlS{xHQi42rP6*rqH>bhfKwD9>#PsZ)@Za4#Lf;gB*)TG1mQ^Aq&l4 zeBbvtbIBQ1!c<1h=%T$#qJu4ZD(XB$p=%v)1&TF+=eSUvug=mT?ToTeor({-Z)8*{ z1Y>Myy;QAZsa!eHFu9PJWK_|l2C?P@rwalW5akbD#tSU9}+9K&n zG`Pkt6^84R4E#~l*RjC&P_l2+;n8xYtQe~fV1}%E171sfh@=|g`LZ7iC&x+QfHNdh zh8h}Nf-*mo0-j>o%Wa3MAGirWVZ-=(VSwLYlaNtMrTH`4f;*L^3x-`&MUbHLd42zv ziS3HW8B9%VpX^wAqsl40JPI5Mq8goXM4CNm(wdooDx#tm;))}VWxHjv97%c)n zT4dB$?aqji2oJ4q7ZdOeU{oYs;h6S^?pzThaA9BkBf0EHsdm%HWMXD!ycei&{A>^Q zqYEp4+ozP*w>Q4_83Ek;izpg9*f`l68aogI814|Izwyg%D?>#XdKqIQGkrlDS3<3u zE7-0fDpmla&QEffA5XpS0so~0Gsf$s|6pbPy=MyZjZMn+7?K~RDc24v*KOUq2TV8r z#c&6Fi2mlMa=n3H{ZtqM*H_-b8P|+64j2H#-K$7gG2Xn&9Y7{(b#vhlYTDoVtNi%k z{X20-M+02jwA`-ipS8n9ZS1XX3}Ec7Zm$3k(hFX{-7vRrH-O`Mm|2sWc%fg#(o^_JH;Of0nj02oK1HF1z!PD4K1d*<^dh5ML0YS^WRcPTH5@0a zW+m-m@?cdw88sGZVPt}8xf_dwXL*1U34sSb;7#{>Kb%1D9SNK(9(?;^tBHK{WLgQ@q8TL()WJ z+4sc=e`V~C?y+-xU4A00sRD5PyN|bw{T}d3p)OpzM{yiMOK9j+q3V6JPGp6dg4TSl zKh)FeFU=GSld#9p>xBYw@s6&T;QSmiFN3yV*(1S5DwH7#jPSB30r2ZVDiJM?*B9!KlghXhzzO`VEVMREaMbEyD*R}G0V z1-nMlicbidtHNk{PbA(q(S?g?D?73?<;{+=7-Vi<25u^xz&!b0_mHxmVxZ^&C`2rHiN4d_%bDtvUE-d! zX^)1@zxj=Kl`g-1iUc;1eKL{TC}XGSGO8r}n)G#%Pdk3l2&r;d8@z?YNVeUF$z;5I zcF87Foj_IDH+V8G@@2XjprGq z0)$rD&)bkvj~R%Yj!7tpPw>%=j`CceuF-jdOVo7*R6T9$*YCoFP6Lz5u~mKGnHJT7bz0Hw|j(mj7UpRl3*#)&*W4WGe!7b<$OEa#*J=o z>qh%F;GuijIc1vEC-}s=yuj==1C|B3ZMg|w-W$KJ&b&9O5FCE56yDIP^!bS?JyY#q zQKj+?lJIhUFCs~697QfgGW4nxF=!nL#I}b^_Gld-xYg-3mFJDgY%%QV3oSjlmgB&0 z`HjN0?ZJGTAg&m-*fMc7;9(SR#_S_ouRweT5o5>P)qtiZGk6{Tw~k>}<5plVLb~ae zA6EogB2}t8TG>HLf)u9*aSrDb`)focBs3R}U~-eA;1{M^ax;wQ@qfjv-K}dqoaPNt zo*C7};Q|O|d_URs6`z_n{v?#;0*T5MSa;$N*NBtgN9oFo5~T!>%9^!})xIiREt1Hz zD%G{9`w2|Q|LdOpOdG?OBs+{GncF5m9J$Ww@3zNM5ON8$YrvM>b!UeTI?p* z%G9Qgb0KMqh|h04jM+<GD@gRzI=ZIp?uCzAY-Ss0(1JHwf`@QZMGOAaT@QXz7l<~;a(Bd z=p*tn!s>E!>5$|7ONo+;&wH;?c?n9I+6uT^(oH=*A%eg?H)%%?;-RNMPCb%58#?ShQ+S^||)EX{7e+PM* zfK&E6$^@(Y2m!W3`LH!aCs2R;8m4ORy1Hyt;MvAH}%LaKnrG%aZjcd z6_q^lF+K&Q2Kg#{iKP*n;y96cO|s_5-dK&T;Ri2oxy}eMhx=FfLP=kdeUGbLCOs{>uqesKd~1f@5|dNN zcP?a?(lb(pW|d7wUoYrJoHY_fYIc=I-mRAZo^wRqGGD~rewTcYM=yRlo-)*oZLlyY ze|eMUOw@fsHW7c~UGIC=F?*{N-Gph_cfACODhuLj7ik5}-&wdC_`XB-7K1$f9ZZbz z=38--Rk1O!{sxKNr_?v8mXMI3zJsyR^$?;Tgc_Z{UB>u3c7_1PJD}=!zDs{cL+RC& ziNN`YRCl1ZO957+jUMub!!ok>9SE3c=?ln?R*bOWqfj+svv2y%r-ziz1xctAv=MD~ zwM?vSqugjADy{8mBhQwvITg6Hmq^j|p-Zw7*5%7J0pF9}pUQd7f$4qaD4#nQ0mm6j zw|aC{B2?yrQo#_&ulKC@!70jlwjmAI{bS6A(dQ11R=UWEhtCV zL(XicQb(;9-0A{ezA|yFEP-)K=;cyz@MsiINefjTbPnn~1jTY8w=xNe@V*{F#&}?+ z=SyfUXMmn70;k9bWmWib{S}NNICMNH{L`>V6DZOoT8q$8)%AH9M#n+{Q4S<#!P0VU z5Di)%mw260N68nG%o>wn-k?zV+N(q26nIwfwLQ*k(WvzKuAkqU@qlJ5JuN!!91L7) zWM4o#k*ZNb768xP$_`X2N$*D-7Ll4yNqhAYgO*at4}!HIr=cQk&YCU~x`0C08P)5B z^a)ggc&DaV)^ZnS7bNXKG&HQy{y}^lhXPJbz+_w90=Z4#$weMpORvkp))l1ZbMD>d znTt>Hy%iet#}`#Ig&VN}JA69`z0LD1=c9hfwW~#AaiAKmJae?$+X%gjwplD|Ur4`~ zPh6Hv_QcbVqZppANSEcdRdkoLGQ^r4ZPAx7nh?*{K4TLOvT-?1nz>xK;yY;OF+TPD zJeCBe*AkC@FoNLTciih-pG1)O1&s5fe=cPC45+!D^@6jf`gF=>6kiWtrS2T7`wVlp z$tjJRKNHnc@5t{C4Nt~WnCJEoF8ia+1vEIS`Z&kD-1qYvaK)X&=)ava>B;K551lPW zrP#JT)emfYwN`eHlEr3>3xg%yL5P6mH-I4Zw$VG|5;oFG-~S!TLfB^vO*BMuJPEvN z_3;O0l7RvXf!z!m3#5L^9|>^v%i0%@b<@)>vENAJNXThCN}=rZ^n4vsF4oj68(afJRosFDPscS&|=Eo~sCmo0u~s%4jKYLV>?|xcY_^`~@nR^LFU~9ua5s0@2jB z93NpkU(N$(wJfCdo=4x}H=&sakp$w=nlr?S&CIFAzxX|>#}pA0hU7`zU=3>m-eD=%RH>ps#JtVNG2S1#Qz@nbj6XAyX{$oHO*&KZWNAWrBZv}nw< zV#}OTD$>D;TD>dE#Qp^X`W`}-xxyOP+fvLJA`JpY>Pq7aU$BJ_orN(;s>rozBknqn zpbbEgbW*+fB%#C+*IIVb2UIC!;N0{OEJGR4(EMz(N^&`39hqh@pLpOW9^g{E)#f~Q zBkOL;41a-5&iw2QmSTnWH2Ppz$LwL0HFAoBiPAEEIVnoNS@I{j{Cu+k%m ze4`<|fnmDDdHu6lrGQCU1Kl^s#qS8)gjZRXmZt>+<^AI|UNm^@ttn8qta)L7h(5Ph zr2d{aEEz~^z3L`Xu8Pg6)n?$ct5`%qUl@|VgM^TcRNZXU51%_`r`g_!35r8V>cGK? zL};Zf!jqL{5fQwZn=S5B4A2uSB=|D(kXqn5(nb?mNA)oE3pxPG%NJl-85W$iB=2J0 z5wjr{4M!&r=yTE$<|~i~bQjiA2cfTHH>-+-X6Gp(38O(so2&>u1UPo6$Xiav=ZW+y zFah|jEod_y#&XU205Tn>o8gl@$INh_@ zMLlCcIDd)=pNDP`ifq|?kkX=sj!thqiu(PKh0C&wVli@x%@Y8ddEI9%&XKKVZ8jPKOo`G!m}q__FV^{I1h zGMGoDnLmO`{0xHDz8OqW{T!}KNC02Y*uinRFLUdObv>7!%tJXaw6~x~e9;saQ9ODX zA7%_&FQ`Jd(M;jKt^4SJigKV)DZtyO9 zq8_0h(Sb3D2T!hMN2Gfgp5^-T$%v}K4q3j1r01^WEc?E1^-GX}Xs&KV-r0k`g3dbd z&HmU!#9)=`i!vKdt=?LGp1AM!XGjFWm@fxqAyQ@WgCESoPho9bit`TOZBJ1dEUALd z%)jmv8>uUQEM<{`d?DpV?2}zgnPjQVQxA$pzza(6!lWJ8b;2I$0A}EJxL_3jdZ}wQ zV5JA7T6!$Dr!n>WMfMZ;eoF(yZj06Ri+2%qF^?(M0*Pb;H^+~|WDqDq9(MuK79Wv= z7bseTwdrF>tj>zEWM?NvLWt`fLFp!M0S>F)BCcJfZ0ex5!ffR<+3#f4wq32a-Nfk`1^&osyUFos&4z<=?DENQ zp{m!y=fO3-bJq#Pno!qo)#rqw5anc^=F%43vb$I;LhlWqB+W3jo{zEAAo3l>)Oc<> zyRAGs50u(OJ=eGhZT!MUe_azMf@p+eiEx z(;IM`*Zm=?_w94<8qpGjgEN05uzye6x_!d^7VhCJraz~*diTyM$>=*+ zT>ttzj0}h|?2+x%LK3)xzj24qb0>8_;OX&h^zuA8{l3tF@zRUwlsKqC79YhX#HB51 z>C!GlENILv=Rb-u+{VLAko=4>+y>XLk;C}sU<|)R&fUZRPUHZ`1pS{H69l*opqr@r z83?^Sxqb~brn`pLAHv-K6}Ob>{*(kd8v~tHy1D%ck z8fRm`ZSs1P(f%E`^tMF)hdlS+2&Vs65S^Irv9O)_hb1-lGWc6L$s!%ac*5i zdzPxZdC}7UOJwTZ=#TC~DiT+)+^r#< zIp9$(2X^LmVt3*ukM8C0q9GI~8P#{dz*QZ=3$LPCO>f7nY8HX{YEnJA)IWO zh*wHvBduCO{o;6n$4IWdHcIaP0b!ML=GMZA-kO)Ox;X9_^d3{gb7;dJsNe=JatH}d zSbF`&%IKvAczT!)@I#?I--yS?D%YHL3U2EQ@W=qUBF zQl|*l3TcosgeW~}c}moaezh8+UmoD$?qxhm@g-^WV&Uj8skdgqXlOv_tI&j>$~ab1 z;gC$ywwQ%|mXi7~(TfSc22Gwq)}%udhx6{Uk*2fbLyG4JUp~8`=BJY#Xjos#C&(!x z?UT1Qj~s4qdsgb$Ae;|6AMsW=m>Ts96Mb(tXZxz=yfgx+97%g<$pjU(NTTars@`h} zQfu6OoJk99TD~BO14hM_{@$6C1hMi(N8ck|JeWYz-a1v)Fhq2sb7TV=w#TK*wO#Up z+Vi85v9(ZI8`#q?mj-EYaTlQI)#E$h?lY!7b>9tr) z6;1nv_*lONmAZocG3Mg?91N(WAd%XoI-!5skfJF;HSL95FgHS1 zk|#}MQ@Aii>crr1my_yEW%<5Zn=&}Lz;B*M}vw7UnGD> zB9mKbdk(%_e2~>5!IfW%S686gC_zo&SQ8qG=>N)D5^^+KIX`&;G)4oTzp}PeDr<6L zzl$m#eIl25qz~iy5xB-M61ruaIh=)O)y(Xyz&0!*f=k5I)R&P3=SrR>z>zkHoxl)& zNEG-ZC-4^IQJqZz)k-NiEl;htzQc4W{ZE)xp`hfE0#lK*NU%dnjeNT5Ifh1J;zp65 z4t#`FRP;khd(6B=C(zYKX#Rw{N8Ld#l5q`pQ;~t<5?Ybv2(*Xt({N!8vCTZwmO%rv z0IQW7zZjH-oug$wII7I*Op>Gk;_IQ6)psFaP-LaCn>*yLdHnhIhEl2|Acs~(pQrU$ zFeun?)6>2PNqZzHX;TuPr}K+Hw)R*ag;qQ^M&F|^GU;_lJ!iy? z6}Y$FZHakC5RK0%4-xy)cq0Bqi^8eU)(p4+Eh}U9_iFkf#-lyf?u?qZ*@6WT8H{S7uMGM$ahCDHTs8SL@xor4qFB*Tz*)$aHOyS<7gE0u z7+F2sUO3uar8~xc9tYtSw;d+n@3~)=Ajx8RDy5=e%HROOKPa>fy!(OToGD;xk64D|S z&pt9{pzxt8TPYzKSI`gP)@DVU&;lt{vtNI%_R&>pMSbq0W`@c01h;LcqGD*|mNy3t z0i%1FuIri>P^4VzmO?AaM-)wmSW<-#D*2;FxlH`Q$4&uy%%nzgaRB2HkR22rnKt+J z^Qe+d+#(I_2=|(2)4000&Pj*O=FjWurIflpK_v>Z=oT_sIoCQ_+-{4kYh9C&Hw zMIj@*{PLC|sB-ulrQ_ZeP{Vb9@TS3fmLwBxEI3_B&zx++6Q8=x#3*G`uULK4<;-kIokM==KNYW9(E9P-uS9zOE=h2cMrts9^xI%%tSTBo7{$tA5 z6NUvjiX{Qn_`dQ3h{3!)_*3PgJ!Bn5W-OgtVG%>t1pgm=iPU!ZdIz1bK#Ju@9pQI zyT70ABNRl6({p17)Q?9G!dDpi?(1N1%b;(e3TsVoDF08Sd4|;75v6#Tk?bUC8VMS)_koImrO5s zusoN0V+}0fy9bi&&S^2!$yskWK#w6LOuE|HXwqHZmX!K3Gx z7~{6y2dFR+yTUI~MahlSi<2DubuCdCtST#5d=kbWZ%KI@#rwIbK^NM(e|`wD}p` zBQGe~Pv5A2ugAa*f0&*b^|akyQQmIIaa4ssAC4ZnjO|6wNfMeH5lUocF+2x2e()l6 zW&Vn(xdruV=lN0JyaR$6JMr5sMdgC|7XDF*Y{IRyX6Cav%1YeU6stF_ z)JL7@Fzp}mBvBYWF)0}2?YLypQY17)@kRpzL)zm<0FK7Pns4TsFbepIZNK!u<|t#D z=|S_H)i&o_v$#hRP%L;ym?_Mom!N4#q(z2}R>y{DFXRyG49b0ULzI?kt$><(;9D0a zmk}G{Ax0pkCNi_K7Z2qI=z`5*#RNmdtFbD64H77q)kdrsD!g5ILeh<8_8k_g=S%G8 z@|S$xji6SkVsLd+Zng9A=@bWR1k-QbY;*&J8MGFWO6kAj*&6nPM;fho(W>oiZ_AB> zZC($Ity43DTfhp?u%)k6#E}(u(7B>D9hN9&j}k8PB3((p3=@9+B#9fIi10QCcTR|^?jS}K zT(Yjw6Y;fBW8+LikY942=Yrc@19pzVXu#n5KxV^>Nt8eo{9xa;GAyiLnM^o))52GeG$%F zKe%TQpfV*hx2w6q$a^7r5zMUmX>2iYE{qMeOUFrQY6V7k9IUd&ceI=!rpd*VOE9&h zNMU!R;t^l765?|OCR`Y+u<`*W(nFsI+yv@_`1N@cf^7sa4@c9fO2cR^c{=>4J8`>0 zm{ohleGDtq`2lew09!{)s*}}0`tcR6E=o(?3RS-o?|8)VhP?0X%m)_jQXij+rgowU z_27Ol=6V%mr}ec@G#}nO>T_p02davZ#Hygq@ou_Lio%CJtJV`9h32)4=fl?CY0T69 zaO4i#4{+S}lZeJs$SC0-rc*-hw9LH?Jy!BVn=FrC;2Cx|#GeOHvY1kctcf>V!X1yd z+>%;%lNfbOwQs6vw6}TD&A;gBSQ!3Ba?$^ZnVo<;YUx*!>oyVlLnPPj-uqhRf1l)H z!lMP;7D{hPE{5yXucJ4wCtw18DGC3U#rKXbsN0iM6|zwByL0DpW@uVVgMK5-(Gzf`E8!{ldIizBmAM1>K_v0M~!DIRzzE;FbX9ps!ch5>BvI8`wL1lJo4@7Lmdrxp(+#TT|--5Tu zWpP?UCZ|cfIKiPiIgxI`%Xcl?A^SEjVQV<-`*wAxaSMW4<9$mME3;}9oel344{10A zY=0LbSuVq?#z};{b30t0LL37WfhM2ua7Z89U5lax&>qXUohf=yEqch$l}~$T$Ngg( z;`+bQlg+( zn;ITs_V=`&8T5>N^3dnKtdN9c4nrLg*nN-W1i7IUP09Z0tQSp47$jM0jK*%Dw>Y^? zfFK~GZY>wr2Yty4-9K{liK=vAbcb!m% zw@sq)X@VEv71tzCeh1d(bFlSUM<$;HOvQEh5(ge<1fBl)$*SDT^M~bwC z!x2Fei@afc&mL`!yEE~fPi{6U5l$Bg>jsV6QaYZxWP~xC+GLaygTROnYwuo6URikX z>7z0bp&;wj8_d6Gr>|^H?HbhzH%ZF=3c8EowTG~;lvRP05v5=Q9b|30@)5HT*Du3H z2Sjige-58|u-i%@Q}HUOn4QaA;q9mRS_?Im7_{ic6cHQA4{0h-*I!7-F-E|xW7h*1 zcnl)MBc0wd;!-9X`VvrYKoY+jm-l!mBMdkU+KIx)6=vXmB~bDzoJT&MMLDzh*%e`oAcSC)S7DQtbcRX_o=$r<#f(Y3 zc4zGSYKfbKG%MeyX39msZerDjQcy=(o*Wt0n>`F8LTyOhqn++-T%MO%sDL+xElQ}u zRJwW^wn<6lkJ*&a@L`$Mr?DZ^z%rj1Do{N?#i7PGbx8D)PT_a|SKVM!tsZeC$uP(J zj78?}yIr7G`qk`l8b1aaf-xz$$@M{+kz2}Z$3CHU46{xNhJ_u+EvOS&8YAgk$C%~t zgxDMYoq-d#H~mc@d3^-k-&9J5`=s&LQLg{zya|T8#P3&?^7bL~hg8bjz4vkWe_y3! z#-nAp)faD7%IkxH814!tf+p7!185n4Z{Ec1hI z(2ZC9SiQOR#=mzp#{W##`rGOa z|Ah$+jK4FX;Wpv_$(sL#=^2doW#%6=*V`=N#u}hX2~;V8DkV^*1gexkmGbvhO2*%t zH^KBr=S?VzTHYK)vLH80B9~XR`o$JDyCX_Edkm#DlpIa1a%gOsink+9((q_!Fd82W z&sCBuZ$YK~*~Glo!d!Cyh3g*LrTC>Mx$s+$H0p&)?)HGl^S-^edpK8@;%vLty&C7+ zqX@=dJ<17BmOONyqG@L1J#t=SnV;M)+}`%~9*%sB8i3J;bU2cK_X?9*B$|do z)9x{ne_@9w@@h5cLl`|{3DSWLOpi#bClS03YVP5@$wUb>o9ik8{e&hRVJv;Im^@Y< z3?u0R0qqI~o?!#&0tJ|OJ0JnsQfZ22=FM2{z07%r!I>fhd|t=~`mVLe)2^Z+xP}tw z-X*~VIAribeFTB+i2}&sfS2jHVj*V;hf%Rmj1QXimq685uw0oKUE^%ToOrba47W01 z9vpz4IBPdiX&!vtiY}5IVH#I9+up9gxiYt2Ezi+7*fITnGS>oSldT%^o*o_Ws_kl` zU>qq93-Zk1*&46#K(9Ury)M#1R8)bkG=~iYn!}ZUr(j)(pWLPoy;p}9zd%>P2!GqP zx-6UY4HI$E5>(?*lR=6_Vm!K)Ra|l&mDpns;*HWPYz7?v?}6RH-iTaVy<}@vzQvSy zszM)8isX6PcUL`sfJKg&_k z^%bhyI+pI^Ek6>xkVTLPL0dVB2S?y|_Bt7z&KRDLz^!Z)Sdx4xKkzIY7FVN{0|oKOb2&IFe6kzCSeBageGW=YVpAa#`UJ4q6h$^0*7 zpV+HVz4}@(p_Q@yolfXgu_S7Vww)YjErM#QAk^;i=tgt6O+&KSSM`IS@20KaFCL$M zpV@1ucXno}%8-c)!Ah4Z-KET)fNFJlC)4t|C{hN7(d^h;_x-fB+T*?ug9oLwzwlwA6| z!FNI|fjBN)(#g8QxI0fsYr=S+t*SqLxep;VvOgyK=>hTkkBZwwkeQl;?D(pQgwcfM zbk)I6?9~)l*UhcYyND0-_suvZ+EWP6pzWnU(2HlXE+i%NL0`Y`&&FF2J}YKK>_>^2 z@#$FQ1X8qXPr}nxtBebC4xAapqaJq6i^8wBO}Mqo6|JU&N9M}0r>b;1yyJ|*a~>CN z=Yuq?>MWM7S(jmsw*=%J5$u52N82zY~=q)cVSn+pRT}ejD6`lB= zFl4YXkvb7L5%jJ<3lp1o*W)4*4z^4q%{d4 z{!5TFP~0vLbr7%??Jz|EqMaIkS zZ;J{GVR=M3`NY~3al|HpYt1qIZt_fdvfY3_~f=jIEt&)#75s2LX0y$rt{mi={Zl)TO3UMt2W#B+CxVl53M3Oq?oQ z-GMKhmrC^$!Ha+r<)`7r&)S-yN}`*e_hlj?%sVUK5ek8i z|8bZBfR>Hi<@3GR61{_Wso1K%z?lt&a;UNvFw&>+1+*8{vdy8xF1#`h-$D!2+raGj z$dg>>!@hyJ&izG4U--DMZKZEgaHPxG%cX=PA&34*hEFGB+j~}c;uVJx-U|ni7UQS5~ zNC`3(T|c1c(Q4Mi!Oc}tmh~S`KgJ)#I7vxDs|uZyY8wJZg?pF&r%@SOB0oKsyx&0F+p?p_Y%cNgz>zE!APsW|O^ z8!WJa$W^fhb9y^gP*Xqi^z8H_>;4&B!1Vgl-ytt<1DV^>1uYBR-_Q%jdx-a6Krfhn zY7oDToc<7cal7}vxbR;`FRlmT(=y%akvHhY^)OLdrn@@F_3HW<5T;*hIKOQWzuj_Fx~MSe?|`nq8I;L=*6uA-FVfH=*6u!{^V+Rl*E6uafbQsp8hkg25g-9 zuQtvw-T1?ell+KY+&;N}@|^$F6bt4%h66ao0*GD!(F-7Y0Yoo==mikH0HPN_^a6-p z{8i`$(@pSt6Vd(#y|_)0e~NSO`X~O)4C$|Jsb;!Yn|^>5ZnLnzw}$ynf%^ZoHMbXe zbLBr;a}Ub^(F-7Y0Yoo==mikH0HPPak6tj}lY2ilh%^7e2Jx0iVY9(k$ezasyAgCC%PYc_qcc>X?HE3^FZ;S9YNQ@Qj@18Luww2z4KEC=0nD`IaRC(eOZ z?o*4La~t;gyCOe<1e?KkFYycIQht<|sDs@s#bo%}PaKOOW@m36Rp|;oZy}vrvm&2S z5|Vd5O5c!nZUhq#ezQWK8} zR@V4-VDY5n-m7NX<2caMGIff`q3`2$-q0U+Yo!(IHj1ZslOL~O+NAFts#HC6!zdUx zIWYK+YEL+DGFI5VK`PN>Bza=?9+c11GyAz+YvC1ghGn!9+q<=1mGqlp(T$48yC4XuWZ?FI`=U-Uq^B-{Pn43WPAgmFg_KbsB&O+vyz3g@- zkE7XIs*#rsX>1IHVWI^6p~v;lg&kqQO0HrSO*JlhkGj3&wgk4E?%tvum5a(>&b$&! z7Ia{INhhPYCrM@p=qcA(oymkN1%m*rs&>vVpRJPy?8?P4#FQO|u|jE8jUgYYyLF-p zE{pYrw2mdR9b^Cs?$GuQu-1F&*HP`0sB%Sc*SZapc}9HQT)60#=mzpmcOF!n&s{n?VoWqp!oM+75{Gi;l@dR6#s6YTt9ivoo4rk z$_W3g@0#WAX$KVlfZ`ue`~!-AK=BVK{sF~5p!f$A|A6A(UnTyr+)GKn5&v#el>k*A{hzTNoTPdoyfrIF>t30<(B!QUKKBLb ztvsBT6l*f?irIDMObeVj^dbWjA?-175L5 ziPD=>d|Nnpz?Za?8*{Dti9uWsM*5&YCx%3HU=2d1H3S`VJhpVTUv$L^ic;7(_^inj zR&^uAv6u&DOr%bb?-ONxMuupj&oaHotzL@5PT9XGIiQSf6Cz{jT#hQ(XxZA=EK+n% z&sjR#Sq?R2zZh2D++H;-schyzds$tlHaN9ko}3uF1yv08{o*`wvnc^~6NXRh%cW+? zB}sZ!{S1{&XLpPjhivy8a?WHOM@!`tq;*#D)Z!$VgJ~fKqrmz3_8ehRv(dAk@ES!J{Y&yfc8an;&%J1VGzkl*;yALTI`Viie_Zq+$<6;V&6 zaYpQoDq_ZmjPD=Uxo7 zqs(6qd+uJ^OJSJfhMiqt7CE(AW(iQvC1w)?U)J7Opgi-yt&ipZ*yNKhRZ??WpE|j~ zS^*tC)IRq7cw-}@Cz=)igN}c@2d#OIE~N;4$0s&We+eqdY2!7A64Sts8DuPO*!i8Q z*a(Y^mS3Z0x($$`q6xn!zX(gvK}=(Hcn7;B5=7;pK;9m1i%;g*CLb;6ir(bE%n9Qt z5c2SW60BLJc(4hqWF=e&2{)(!)$|t)Z-~#nfDYo`2cPFmUtl0;GY+Z`Jf?Er92sF1 zLNwq^izG5MmIjT++)h%ocxwMVsNQHk4zqWyeYI@FpC(9)Ov16VS4Me3874GC*{Tt{P>a#sK=esXWN@oX2^q0nJq0ddrs!o z;R39C>KQNb625$3xb(67AP~sfSta5Ki#TuWC3GR5@pyE>e+a%P22^L0hEEj~YwH6| zwC{^281WZYw4WK8aDrCITrLGbOE7c+$m6(0orD%7>5e=WcniKNe zF6rhr^#@tOV_=-a>JL`4F%4tgj-GvcCALvr^(x650yf2v3SQBp21lg~?VEgzK?1RT z;^Q=_E3WB@o5S8Xq*y}v*!h1`373~200q5$G8gs7@H$$Z*H9!xDs|2dSwjz(Ag{ZEnd zqc5npTq`M^aD)lpJG{h$d@q#@7?=pdEuxBx7yeoqGQ0!%gs+^|W~_MtcS3&Iyy|Ee zQv#ZeUBNk?znnG;c8ms%QFObfduSa1XF~3dbO!jsOUnnZontbk35&h(=t;IB&cz2( z17~NoT38VQ( z+?bYqNV?h?%-WRmbZ;w|+_3G6HsgvH$9d-CmsmKJqr*ATY)tCR;t*92&Z$qU{&bI? zn6#~#{(g`TK0IN&jtJLMckTsFd7>}~};`tl~(98-l&L6liUBuNtS1&ygaF>99d zoVN7?WH;(Gqt5rZ{o2R2cyWf;|0<%~2SobHegN%uF9m+9!uOP52Tc#_xa6ZnkVnr~{?HtbwIQPs=i6@TgNrz>@kY=YvrK=F3R)ZdN-(i_T3I+s>~+AyKQaB986K2Qrx|w$6Qo zsJu-n)syZlMjpw1vQsdY0ib~#Fy5@Db!b}`bRQHKKG`}X9VJnz`#@G~kgC(T?;y|| zoW5g?d77~{8>yKxGWTxvplR3j@DyJhJqT1J;b~jgM>Pti6C%wvr&B1|4S2c~s;-eq zJ6IY>9}0KoXCJOoAeqavzREEu3Lq%zgdLXcf*2GbFs7)M%%&)3351SL zFO?O3R)v_XZ+2hOB5_AyLggp{M?{#DZx@Wm|0cyhyDCwX!Cd|Ab)NJS@0K(kv-dP6 z+h|*l4`b)vf$#L>@u{uhT1|X|^Fkk}{~2xhB{sYX80i@3Y5&Hyu-pUH|Dctfj^+;U zkkYX88VWoq2V+y||JsutH zFS`E?#lmN1YIXYsKH3|+in(4fU$5@UWY;T}>(wu1 zCU$nn>pyo#%Kx(A-oQK7g^uP9OZh`G@;@#}-Tm*@D` z4s_#HKd>&pc;ip5c88_>XI<^?F8DL924r3So2&~R&5b|YILQyJ%P&u^pFHPZ0rLI{ z>q19+|CBVf(s^TUW_bhOO0b?~mAr zndgZscq+gWCyX?dP3=#*`O1{Y)5ldCrr0m$DGyIF$yaw8*?eCI>B_w*lf&AeU9IQm zWpfDQ)3$lM;QwgCbZ;#FQT;-0SUcH8b|n9*f+Drz*SXPJGEXGgr6yuqll`$ExB0vW z1PXS6L)}l+Ogo~D!(DK_CrXQ3zajGN>eW52u5&73bKGnHw(s2|)&2m*8xa$HT1 zaB0}ojlW0lD%zwJs^+-diXyb1sU*Zgmm@BtpY6LLWAXHsREvPfr12tA<&rgCMlTwl zw@2BEmID*kX(_pgwn#;Zq=ZWlX!%n*6)OKvHRyBeVi|uwb+*U3}iG zHds1%8L`HPr=4J%j1gmBrijm`$|-GPDJB6ILp_ZY6B0JDpQpZg12FfJ`dMvuO8U{C zMx~xk4j-d2HO$o89bYWHrEU=K-QCEk*x{H~Ri1Goa0yiq=7xuhWdPf#jA1|zI9bv& zp^Yg}Q<+hnR#mNY&;Gu@UbEHI>KBC8Fz=yYeeOkUOp6&!6#dbR$~2#yt8h#;UQDh) zZ3*K1h`3we7%Qf&t)k$I zs+eB#v~=ZTtDykT!wt0DeGt{ccDyog@cvoKXSjHq3>!&*%;-cE)0L&|6tQv^#s*B7 z+{5q5-0%x!rlrDTG z^MYH(FDInQz6R^$sbZ}b>U$x_XUBMh$@z-Lgx*Z%G;fU4&dxb`Svg(2mQbelaV5(y zcNA5g&256@yrd|YMGdY>Tbk;jERZq>xG%l#Oh*|1tY2R{Sz0T^5)nC?prV@Y*4;_o zV~I^nS-??K3zA<$$mzo+7AgjjP(xpW z=z)wWe)b@H71!TWuSP+6F%?Nk>v5`2DD*Uk@q1pSdA5N;NQVcRwdmhu-a;5mYoyT; zRcLT+5H!|;p~r7X*d>(amWB63CQtA5h?B4ei)DsF?S968E?y!rvQ4AEN%`74l#+W; zpw)2|-yUhw`G6-aes|fn#Bs_Q(-rJ9tfJjBG5Y?m@c3gd%TMK!WQ+>!$5J@IBIV2$ zG>&b(ASUVGP_YM%2X})n@beohgsaLkjH-I-LTX~v2g3>2s!pVzwAX81#fBEuqHB~` z9%05Bdli>jgm6KO4A6YwyMUVUSOWcncV>>{>erZud}RqjetYapBvG=AYAl?*V2VZ# zF>9*jC?v-{vj7@YJ=w43yJk5G6OrHFZybK|58fz!5HGg!Jf8!!ygzpkl+j{fZ7h|> zN1-3R!zw0OBohYP^#FC#iu@=NS9&FEhc(Z)zRtVw~D#5uVi5-Y5 zz(Yv1nm~9S&1{s~xrrSQWN5RbkvAR*aqm&HIOpGlQ_y% zcsH^FiFct2vqehg^5yk<>`{sp!uZ3b?Sk=x;Y%l? zs9KR2&S4-QI?CF$@%w&;%HMtQ+K10`r;l}Dk3B*_dv2Xg1G0AtE8ycaoj`6~%(8)@ zPw)}%90+IO3Yg~(TYGgzJSGY*{(t~X)k@N?us{H0!5jj4t7(cEJZWvYM)<)qs)R0e~^H&KtnYaZJ0tTU+c@KwD z>!Wrau1=zSszGt)etF8s9vHBI!T5wrxnEA^Fg2(e4wN2#UZtP&>&E%aIzag-OU!+O z#4bKVS|nFLj#I(vm5jR8taXeSWwzL0vO(HK-KW*QOBa9GFh_UEycj&99(x7^7#IvR zKUf&e{)hN1BL;R>SvoMdIPjrblDZJtMPf~<+zZ!VN~S^8iG=3`^B{SF7lpL}V11#^ z?F)-E+KYzsM#rrkHD{3Ky=5b$%TrJYXl`wAZuMPm zT{GLNRxKzaGpjpo#rh29A!GEVK5UOqkj<^PH)upkUJk*TT*Tx|h4opYB5uM4utfzK z<=cpp^(qMDu_*H5R0%9@u>meG%TD$$cVBH4PcsD^qoVY14X7Bh`eeW;4J+D~Lo*;S zBqSHci7squ7*VQ{2gO7=kgFNm=wq(g!Lb1Xc32I{PTK3X*^7nH!oW|nvr}pc8#CU3Uc-?)iYZ@KgsG?0 zoGOk`#+%GmLem%%#q`wW1IF2ESuoiS~XzA>hq%6N-ty^C`lPu#r^fK(UhIVdlvz>y% z`_u!w7Q`*|1YFe<@+XkgwXR}wo(&Xu_{-(cItB3P9jf>ec5~EVB(+vI?@X^MzE#5R z?m*S(RO+SW-`eg5kJxO!B#=C<_xVNt6a*C4O~jJLgg74(gMzp0gC!hn+s=puS7vzrvV?6c0>-fwXh#V;cy-Sicto~g z_zc28(Pht2qmzwV`SM4;Q4ppRbVU{;1lk0~9CnI)s8~iI9rub(QTEma%Ulc!I4AtS=}G&Er;R^+3sozBm!? zJPi*uX3ZBqx%d`@3@}Y^uLiZTd!{gFfT=!Z5VOj%eJysH9GgrLp-v+FEEGAMxiM%Y zy8`=p^%KG%t6IHmo*lseBph%hEx`V+K3e*A-*{1xd+yiHa_9&OF}#j?5iTopfK2y7 zyQg=syi8ao1a>;IJH13?(fpQV2Sc#jZtlBdzBLd%`PA@2nsDd3Yxn%tDA~an%t_Jz zvR>O^Xon;Yf%m+dtapLOK3NiWY|Wyg(dN17)>>-98x^`>hi^95$L(tjn-uuGoUkaVk;@wVMmAWom{xjz6ZobkrH}<#r zN_Wf|fEJIA?v73qGy%|DukMD|T(9V^SHF~duQ&cs8ok|cZ{Iz0Mt8^T{F`O&-!f-( zcXZJ|205kl_h@*@az>s&v1&K+3zpY@!(`}fay4v<#- z-=Y=iZXD>wtA3;vZ=YO0x!T?1?Elbn6LvG+3r- zx8WCU)n!GRmtXnH1NmHf?8N!BE(1gIyj+4uo3R}eVs{qMIsA&(@cJS^&xDg`5}LT9 z16ut{44W05oxISb^Q>vQTTgXp{8_2ozsGRNr)5Ty&wc27Gs)e$=Zq20w=k2UUW6S- z!*53IjNMFI!X7JD~wXrnk^^m#Y@raim*_ngsNo@u7;Auu} zYjq9!lLo-W^F4B>Z)DMX(I7_&`8sAJ4EFo_s-`=(OZgrdPrk~+O(N--?SF81vEA#e zm9@9FzBAMDy~b>#yG7lhyfk4>cdABXY7xks4LX$+ygCvFGG{>M49J`TnKK}B24v2F z%-LVXoYCC`uQw6xZ&6#1t(_kUm_5gpyVZ2kkKMR(8D{V1i=-AU(dWt@T9Iw+y=(i zt&P7ab^oSkv0JG<6#IrDBVQNb6@U*Oqh^;cCvYm#@k6Lz9f&jVC4{SK-%iHfAN{Ul zE%(qfy#+x>cp_^_RFVxaF_}j#3@h=N-*}Jh&(s&FkIT?d4XDe3G_2=uknKcJ# zD>J>e&^B{!-{?>LpcHFy+vo&|&voVA&uog@ezz5WY7;cL_K*Y7DzqaF`8h)oGY0Dw zE5yQbqKHeeq_9y0-Qd*ZT4zITneN#j!i?iLG~OLQKEwIMQR%&wSCiBe=e%a}goH4M z{*O3bwh+a8)dE;^pUg zXqe35U#5Uf?DDQDBd{qP(U0*g z`uV4??Un1o?Ynp~qj(&BaI3>Zd^4Z>IBD%`T$Q4F_wd(LZEY!8hB; z-6IMsamY215kv&%=z;G?LgWq?;E)zDAc%;QQEfHm(e7q^8Aga!9Xzs^0|BEGBFl?@ zh$?`S^??wT=k*k?k17|aVK?OXFoZ@Q*2}(mi4J5o|E#uTE9zk42^3$~pyZRjAz|_X zE0&VBI_-xLm`+Pt7Af9de4+jpT9Gj?^e`<(^t|g&Q&sjQl+FR*j}<)zV5A|TJhUFgqiKka_9xNYw&iwMe9Mt0xBf^N#hRW&Ro=4ve8TBeqD<|AxJ|Fo z`nOOZu;(arY#G)tI2VLYC7f1k&|d3yFRt}LeuF8|u998!lTIXq>snm%Cu80Hh%atM zOnS!k!TUu?G;5Qx7$0t52bs*X*o#OsxiWAKZuJr)!+C8q5heGU)#hb zA6j*)jbN+a2%p!N{wlA$o}Z{v;%s+PQRvmIAzJoTGRwI;(|~I$-D0aEBq&Fh&}HNj z^9D=^78+hYg%rpHj}8bYL>P(8i^&EEk|Ck@jn%<#jPau3RmdJ6ON=K*kB3qE&Dkb8 z6OH`YSZ!npCKUCG!(YG?qA{X%gAh2p^a7ukHH2N^ z6;dHbL}QFKwph)^MUWh)*~|D`eYNfHqi+*oDjHQI0R<+tyMWY9Pw+)^Qto)bQ`0}F z_7jG^Wa=w|>a4zUd{i84@x2u0Hvs}6-X~n(ias$3;P{?=1d~@PL5;PvE$?DdnxS=5 z-ls2pR5Z!uSBi%uEx;m8@P@!K8=EoA5}u2s8gX;x^0{~ty=8_pl)lf?t=XAOqkbq@ zr>zVDd5|!tsuOH5i#i`HWr6v!UFpy*L&WvVU~K^>1J!&w>4=8viV?k->xbseFZ`lL zEqO+1G6MFwIPeJ7UohEVN>usj^huo8bI7TPY%ny;&9xV zYIwM>GB0M8SssvT_fm0%Ya8!INncVwqg$-k&>u3#Y=Wd_gqIm|Pikf3;+06Ca9pf%15j~%RzIJX5Z)3`LkZQ%Fy5_i)%F2mLSi%l$e!=+<2QGb-}6@y!_3O6W|91OV~xL;XnHl z;7>cQSw~*_BqjCr7eH;aD#eHu{YKqk+xmenj=MJF7e_vy?vbzWC`9>6cL04Ne6iI} z5sbVWO*-843wj>$ndKuvrA%oNK1F`^T(Pz=FMMu`1fk=P0iU&V& zX-En21m3_=u}HzvF>sLCDy|$<7H-;#aJLxW$9KnGnF;&=^d%o#fRw4Kx}_zR7oFWp z9PSQ>TEmx6)3#&Snn8762%?!`i>itwieR-Rk5B|Q^j+6%jcxAx4 z;ujDBX6YJ8w9wMqXg-slLHYyNS0VEtG#JK)j7XHF05a~CIs6Bqj|F5wV_(9e_~l;I zuOZR6%kvz_^0n9OQi`l^(TJ?5KF$wl^5A;fxYUHvZ`qmta2AbQ2=3rL^g4Uicpm6v z1sjiB(lG|a{*D8mne9tWAQGl7wCPnGyW?SVa!4>{>ps4K!&UzmTF9db-Q z0-JLw@|`_9x3zal-$!jlg~Cp4Xh)OVykS;>q5j_OEZpRQTG(-+Iy*9npR)pmv~582;Gs z5@+Yz%E8_f9JoOj+hg64bF^&c%38$4eSh~v1f7T$vr}KK9HBj@y5l!{kft+h`EY1x z&Cbr`W%WwR@S@%^c2iJqsa!30EcgH&ejv0AW~lwm=+O8%{xx$M8*cDhP?RnoG#+0y zV9H^12cV2K64h^vt>Sl#grFgv+r8lgz%hM-rOh_J(luZBt^mb5(1#n7Ee67N*iqZS zRRdrgtF3>-u7gqF5JVYTe*K};PpLi=RQ+IZg3`6p=l=N{iH_fAq!O~8vkY4hozqk6 z-W1KccW!2KJd;YG{!20*7M94uPDrz5=pM9J)R+$?KQ^5d9&ClFIa9x=c+=%Yv&o!T zda!EgWD)(;$j{!>CeGL2$Sjj4VJt~{6mNb&IYk0q2SW|eojwmXTeebuET+FMB9hY{ zbNY;^{sD>DWb;^U2_0GN=GXk(zLNC$(k)NKJwoyQ$wA+4XGA@2)c*PyaMpNal-1W$ zX(Y^nj{*Y3AOjDoeHOoGYz+#{6WK6~Wq_Pgr+j|->31Nl+pOlMDn?I7$MQEwi~e53 z{}&)F`a9<6S4itNjrv27*6rT=y6Jxu()!11Hiu&yz&+aLO8Xc{1g^5Vl&4hzU(0XZxn zhXv%YfE?EEb69|TDET*)(Yspw|IJ}_zQL(Lm|7q&Oq0?<*RMrWV3v|v;#IaGl9NKw zYm_L>^?>`3CLHVJB&LP?scRP2o*JVyTxb!b7vQ=*NUeTYaxQjBVe&~WeQzn%KP}x> zaayILp#$r5X~U6_dOMx;?KU;~=7K9M$a#w^DhF<`PD#hfo04WT>K!U74z}|*F3)z@ z=R@?12N+j~%Cs%WKwT0%j+WZ7(}ek0GRq>+M)x}l3RHs4OlfEO>3ygDWijSg0*rP2 zOXFxqFx;0=6m*Juh<0;D6zm_{pUx6vw7lih4iqLGq!8TPG%||dB+lJ08S*t&aKz2 zj40Bk)qHSJJ1PAJlSG{8vHkpuOlJ!v6``?RQ~(o?xFv`qL}6D$8ey8zr4r65B;r)e z@WA=UL-M59^YD2f@)4yymFp16eV`zPv&o+-3~w+KZL!(Od;d=kl2v>miGN1O?a{_Deu?%l>9 zUMPrY60H~vf(piRUuDCzb9EDCqr|psXsEnp#W5O8Ud~C#)58Ax_hkBsF;%K;Di_ie z@LCjo{4I}0N}mpyIzg!HE22LgT>ZxC$}9m^EG%uMpJ2o%tc)&4sY>Ko)&+000@oKS zuG{U$ME;T|Z0w*c@spk{xwk*;_>3Vxy{1WLw4fyP!Os6<@2sQh%#yvG;E)6j?(XjH z8a%kWyF0<%Ex5b8LvRo7f#4E?dm!)yI+@N)_nq4#edn9CPX2for`Fnsw?duw)UMxC zwTttEPHyxfzsQC=3wSGxs-MUfA>|t+j?`nN#b*-_yJTO~7n_fnR&9&?nna<61OYreSs%J~oXOV5}jjx-) zMpWUsjT{2D$0#GOG|Eca;`!fTp>W-Dj4P?t?f`Fi$hs4qk!o93F`^zKe@1e5KzJi= zX)@O;#G>QU=f9-m$72oU((LnrfTK)Dh(gu&^)STY+ZFqGdrAD4(@^JbsheNDTi0?w zX@ql;w<=sDL9D9Zd3?S56kT|;b#Xdk=~dG`jZ)7aViJb2osuWL{#09f{XOt`qrutk z86q)w5NPh1G(nJX7QIXbuqOGP|^wXz7}-RTZOiG!$mW zZ^lzfJCeqGxvD{|lcu2+7S^2g=W?{Cf^=kzA}(%C^dT*l-0;>Hzc_+wgJyu8uF-(B zs*kZYb(QeYmsVZI8ziNwm*933yvb##y<)2b@2IWzuw;rrC4bJrU+6vVJ5nlCo;1#IL_zr8x!TwHY7V{8i5Z0EHORR3Wen7;y*+kVQHL%24V){*3FTsY*C$QXdW-uOe^LPHWo=mXa z6q`0|7%}2DNoeM=0i$IK zwvJ*%Dkj36IXAN_V)J-G{p@C|e*p;#6Z~L%y*y*_d&( zv?=seO9i%#*(KgCh3aWM_jB3Y!LAN=mX4U5MoQ@{%5Z75_{84hy0<2YSZA<%e8tFlnz{3vHYMSL1dsvO$>&}pv$mIm1c+IOy|jNf7Puy z74O1i%(%wE)_bj^blW6i+S|m=vJBRT4dLkUj!7hT<_0gTU)%UOy8x+pKC}Y1*5(-2 z6$m}Cze1I|E`wQ6(D=NkAv{d?%RaJA)V=`JO2au-1h)aR*Ku>cgrk`TA|w(;Hmr6N z;y$T(wJ5D)>{A3$maYpp2kwgEJ$0FCDJ#RHtTw5x(2D9$-Tx23A$ zaW**}!xLWU9P3nGVGyAWXZv21E0c)9wr%YD>&viu<$pbL+Iv!aW`v1zvYtN_3Fmc-VKz+rBNZx7PhKjIRArKZ# zipjoaR9rrzWI~E?_iB#&aLztb_GB9-i?!K06?IWIjcuTz!#;1xb!?OSl?Uc*I%YIW zXa-=-_L9Gvh2usW3hmZZZ~B(KH$^VGz@CXLffILUV3+0L0bSZCx*MrA5bD1qy22dE zY!n_@QV}UD$9U)LR|5}C@5QjDw3hv4Bz)@?IA$Y~No}(RRi?IL-G`jZGd!qn>%H`^ z3u97TJJd459L%4bPF`yxS4EAyv$C+uIAUD!cj(%TFQde6zv_%0#$bjmVu_WTdaIgu zY;(v-5Wi}i*X6|Z2EI~~9ynbY533xn%A;wKgbaTFoi?I#&f;oqxq{#hSnMjeFe0SI zb2UZ5NvG_r-QA)rwlJrXel302OZ~_M*lF-H7Jj%4D)Eg zVmL*9qr{86!KU4QGGo2Z+OZEiTyQu>QWdq-ShI^ePqe$FB#+W*l zYPF-Th@Q_GGDA{TPdkM@ucBFh@d{jCtmy5^EW)SPFmckp@Pp^dGdIv=DqJQKd4p_+ znPW+BKv@q_rHIV0btJZxXY^qN=LH3e#oXx!K9vq-I1AI9R2Q65kz_TcZK_@3fW#bW*OoXS5I2gA zlB_`}u4c!k$$MzN8VKI(im)lADg9#E+Ny1WXrC=QAF~O&8&f`BjZAla>uX7>jPCM! zjfup8!^2vCG#!7r|gNYTZ$OcqKl zk%*A<^m!HNc@iMy7=-QP-LeW7M)zi6&e*P1uvw8Q{L49S{V1-mn|KhIXEX-+qQeIi zByaPH$?=C+ikI3-#Di{(9#+L~J8lddF2I>1xeU$C9k<~>OO5A`s7c2YF(ko z_N>@Mnc=Ca@-5a?-LUfDAkt?Os0fWj{!Q+>ZX<`*C^x>5jZkI5@_hSBYDb5yJ{2^H z$l2Tk0cG}=vm90h_dKAT5^RE-U2|?3wd8)4GujTLw!4skn#7XK|L<`;m{8XiSauy^lzn*82^Q7P=Ffy ze^-tDF@PST>gO8!V>JFI)V_!IzcDaR39z1qv=iiGsZ3_+W-@g?%Og73s zzBSxA_M?$_k?rr6_KK*{y>Zm|P*F`BBW8Y`cAjE{g`V-#ENe~SAX=Ekb!?#JiL<7> z?aY(tVXEcs^EHN2Lh`6wqBr696H~eVoYlyEDWhM};x{GI+65=CP|uA%On#y@nH!Kh z6Jy!mbKT-~cPVsU09*Vx~;+SGzYRV+p^Wms9jtetMiSFBr_-2`)99-*}`=YWv= z=qL^z%5KichJ4G|__=gL*S*_XjeF4T{l4OfdPmgxZEdBB+Ct6d%dZ`#`b`|$Z3PYK zq1z3BX;3vKWwJ+!1_0m<0K5T!HvsSk0Nwz=+n)uzG5+9O{t9?w{Jr@}jNj$Ue{qNO z=gv=hyvc_Q{U>hcal`+cto^Y~3WxgtZ*P9c$Uk}WxJ!8O20$SJC?o)d1fY-r6cT_! z`h5zC>G!5VG5z6bP($$;jPOf)P1BMDxA@KOQ2D`> zojY^k=3%obP_vc5%{K@Mjxr5qhR#^>YG@0weQ`GTCrpbBbFjvdj?IbRm4Am27+tYIHv^yinsT7)L z{uFf8Ua2xGqmr~ElG?2d9|$sc4iV`5_R01XV_B-HJ;?ePt;sBjSxu|w(!$%5?_X=- zI;#lt>pt>EqJw%a^)H|6>Gl| z`;d{j#@SjOu$UHFpR_{LHqH@ua)!I|ZXPg{cHLleH92ePR)IHLbF{5>xJF^sgqIJ; zyZ~`DuPZdvm73Mj%JU{w9#7|!z-sv#71uf)*Sgo+W}D-rJBs@l6urdp+49#$_X0D4 z!pf(WX$s1^Zl6_7>z6znLs*XS9F%JS-Angf;$*J7-MzykZM4N`Y)z)ZU> zN0s}METKmo94F5=J(?CIm~VE^pMGrf^t$Kz>^PY`w0M(zlicOu;!^qX>+^T(g&1h} zt8!Gm==mz^o(oIMQPx+f`RQLh0!m8mfiZ3RlFFfP@_Vnau`Q?*y1FYh+Lo7mS|ivb za|lvPWDD zvOQ6fRYK7|mx{9|tI;%Xye;9yQI6w{!}gvl!@{6jzgfhpdTOYnEHVI$Pq6bUr?o#) zkrG6VNC-GH4)>C>8(jo-`wR#UBvD1=Y|gd-rOC-Euc(SaXJ|_RFov}ip*d)$zpNy$szK@0lx01(dtTO9D zx!J!ODsAsQNU;s=@Oz#bdmno*CqnI@<8>oKdGD_|WPvF4ynIFAs;oogV7PIp*~Qtl zncPYner&$dPq-OWgDKEjO{QJlC{V@0V$m0Cxu^$(xI;uSE2*umfiY`c%w`v$8rz~rpoIbcdXA{dx_PTo(zlm(K^> z7|Fyss8e(5BVs&*QY88;F9pHZi}(t)Q&u9V%n4;Nq}G~A2=TDNAW&p|VWmEP#+MbO zy|UNL-6|Uh7tE}vP1K|p5$|9h1pP5N7@~yt z%aXo>w>IA_Vh-})pT;7I@JrtZx+mW~&&6z4&oo(Td2Jg=s^{b6;)^tE^mK?>$wh!& zkWaq`h|M20xOkzDK{EYB$$>g?i_hk4Ibc;XX3|zpg!9fCCQh?mUTc zlUZQ47LfJ=avPQN0skA2)YdRWN`@w5Xd)q67DOCbfrH|Ulcw1&mvlRWlEp4D0>5Ll zS1LeeLjiL+g#BGc6Or~1xDuGo%IoivUyB^9)b&-FOJ+8#>Y#SGzK(<*P*XEoD=o}U z6tj*nT~6fd6H-cM11-_Qdq2f8ZjFjxo%}S@DZ)ndk z61~#bFalkEarO7e0^Xs5Xby=q3Z9wx1<$0`l|*)OF$i7}eJ11=5aet?TkrzHG(adW zXf=VDq(kZU#_G$-Ln7=Qj8IL4U<@Zv#8y+)U@UyG!(k5w7u6Dl(QQR7LP>4fnY7(g~zcB$; zO3?dP6;%X;c2ZWf^bTD^3@-)6dqQsxHo8n|H?!YQ#X7A_>AzU+E?{tlI4!J?Ba|n{ zC==}|XO|F{`ofZ^^!f@)_z0}mW6zs-ZH9%TA;iCAbY}{M%#N%f zjqTcwTjrf4i@RR))1dMR(Ah!cZ_q!W3GWw#8e7qR>%qY0afT=B$m|*mgylWmR2g6l ziaj+DL7(gImb^OTSHVer21{9Z5)Mp#7VD{}{TY>iY=^ALdPZ~5iJ|Dox@8SEeW%IA zg`DfI3C(@8&L#NceqB-`o%*f2ld?Ndb@Uo+5LcoS?C63dtETmHSdtBRo!QkfMG*20 zh#oB?w`RPHR#hWA6x{OhX5SgKxGP^+ANHNdMD0qEeI^2CH%q}5-Rl1HU|l_-36abh zl<8dEL_x5eF%jEoI7~6JrodXiv+Y)6eZKG^U-b+Bs7OWquz+P68)v-=_>16=))|{( zMM^Foo0Em$Dc#(b4O~s;Db*>$P+p5rj3E@VjHOB7%M84(>IvsBFJzW~V)Lrdt750W zXAHWj@nR;f^@tr>R2O!WUbk7J^b(p-*QpLEwIb)~p+S9CV=U7}Xhh}=|C?8+O=%P} z^WD9PE4Yc`U`a7D4TOT#(L z!Xp8Hsu4A5iSzaGxh0KnGl6`Sv~^Gh>o9QR!4etM16l4|nP2HLmRNc35W4p_ZD8fXb!Pi>QDwzZ5a zIt2q1xQV^upcEM&h7HjbHJ`RqMb?-wjB~B0>t^H4Rl!~x9(c;vE)I=i3DyBGPngYj zki#ct&c`%76h5aYk(2am9&@whftIf26D4(GC4pa$dggIr8f*@k-hpcsA1}N?CrU0-(S(Tn%t}H^8dVG*q`JodZaVX8cuVM0gyrW#E=t3q@AA=q43_2E z4bP!;jCSMm`<>7R13vIw zx#B_Si@G$dPaqJ2m3VV+x&3yo-dO7~tu)BHr18~%mTaI(W;rL8AvulcLM)`>E(s5$|SKBKz^NXvEWx+Ve zX3VyI3=h9Nv?1Mn#Eva2hG{F7x2qP2o!BF^Iz@)NyNF0F7;tHDH_LKe@1{bXmXl3b z%%OB|K@s6yb1tj0wWMdp&dul&X{oq@5WyY&?VCD|gbFG1vl2~q*f#Q(Roym*$Id&~ zKXi?OEW|Nhy}BidC_N-0Nw|b&lMhvQ+ziOZUgN}_;}jM7M1rB%n^$(5(VU+dA?SoF zXSN_TC6r0fv>NTw(re?lTGY^L2-UN$rf2_!oogn;sdCdylU^XhNZRCWFAf$7nt0_p zB|i^G1`L_Z^%x>dQ823ksX8RvS;68hF4M#lI%Ss;F@DlLBkNMKIDZLzWMkMCa^gNP z8nF4N5|TlxT+y)Up9(u{UVROW@`W_MosqiDlX}6H7n+Wi@{U4n*B_`ADBMm^?ZN{B ze-QCqvfn19_c+%E;atRLLZ5JgPvY3*k@@7$r^*mJRGbFUn6h~E`!Dxj0S9sH4OlC5 zJGP3Mhe@jPCxK5BHA_ z2DU-fi!Z$$bN`g$wt9xHfEzR^jd@2j;qf%Yx$W8S0DzAh=!XI%n7>3x2rp1Nme6PUroLb@}g1&T9#6TT>i5=6_-E7y$YE??V0_1Lz^Den$Qt zqwzPP_GiqvWB&e`{%0mQ0Fb}`DDubjL-qU_`FnhF{cYqh|GQ?~F@Jwf0cP9*X50a0 z+yQ3X0gyic@&`cv0LUKz`2!$-e-`rhn7lq@w10*CJ#LYIljr_73?5_tK{@;c$vy7E ze&fw|^5I`BE&RCvBlE*eKHT}w-u!?x0mvT!`2!$-0OSvV`~i@^-$(wKe-Pt84<2Lw zql3rfBqAnhUbfsQw&=RfnPIS74|@SO;~+vpN)uAGvXqf~M>o{QAb!2%AU3PVCdI>% zi58N{K6a%)?OpC5o_jiUgxuql3nT!~Kd5U3*2V*T36ti1!E>{?_e8Si&3l)lr8h*$ z=^r2~eZKC=+zxY z9T`=A+z8hz!4ENlpLxyli6nY5{By2uFAzQw?M5Pk+Ox(`+2HdH`KYIe2k9cDlEoa3 zs~gBoRQYsM-G!fV!r^CZ6S`)*G`;=SGQ*#nFH?BY&G>YpV}n6%!pDoOs>81uDp_b< zct8(X=1XIR1m=ZubQwB;#B9rufpSl!ASPtU;ozs8p}^C$^|h!=j!E)Y+U{@2v4S%^-6aU0tDwNvKb?14)K21&kDD%{G(Uy9o!PPJQOeWa zD`8qz-R5O9Es!u@@{r8?;w=C4+ML@Jloa|(+{<1osjk~UOdb86qPrxsHY4No8x+C2 zJOj2+#Z<35TF7D8&RABnw;P4>Vy8yr>}hUvIGEiBoD<}yob-XAs0^K3yo}N)B*`-@ zxr-+Q?@SEZ(3kw+5?;v4Osl`$Gl6E=;;a3#w=aYd5<*#*=zLyWrpK?>|@B zTTFI-OL%sFY~?$wgDKf>m7#kZ%t?Wjx%;WJ0l&}ViSb+3+24`T9)t2B(P5%t_{$g# z=6_<02J`na{;w+9l6sc4UDf8>e(aTV=bdpRA;W0Lx)qJ2BChvhGWGrkQipkw)^ z?EKd%+T(&BF8ol@SiaYl|4^#?_j=MR>`h+(Y8@gRH0zxAA4Pares5~mQ_}frp{YPlA|I~puk2m>n=RfIAj}OAX^@io&Lrwm< zD%#^s{;fAZYD)kW4WOa{R5XB!22jxeD%$U>XskbwlAl#H);~BnqbG6E0)zRv|Ka(| zCOas(C=!`~#ikcyK<1MRJmuB)=9n!K!fIvn)(cW z2Y&yqHrJDH0-5cA$A%%=vt`xu*zxxII(2QI2z?n^;tgG!F8oZ_AU673`_Zjc9fUA8F-%B^!)|FA7khm8WXC5b-~xr zs-xXy6}YTOdGcLh=2h!l0grGc!<^?0f8i5Z<=~s4AFaB zAF4sU;mb4-^tkYtGBO4QGb|ddZdVjoerAkgtTc5bqiaOFyPH;=9U|j92vL|~k#?Xc zu;VAw#@d9&sNlmxyk}xI5=D6A^SaKt2~`jp@mR0Ix#?9_I#q;7$?E;)Mw+JhKr2f+ zVFIB}v)Gkhiwgave3qVevzsU*2ZUc6T_u9_ zo45Qu&!8x>kG9_cajI@Ye#qjwVaVdCdBS-u+BqXl)5$(Pqb8a~q!N2Bal%As?av1r zF1CV8?Uj~V{q61ZzPxJ#f^zc$LYF>*KIJ-eequg(5PGPtOqR|&uOE|ou<|7Qm^*-JwXm;<28kNU*U+_LVa(Y9XA%$NJH^>S z3_n>vEms@TOp%)8w6IVzQL24gz_F9|^mB2_`ps~4ro8i+Y2v;4TmRV6)S~GZbtwtr z7IK2eCU5OxhqF)UPD>gqA;$N z|DFXHjpl3SGc?J^c$ld3i6jrA2_AFQ&6v+60fm2~Ox zq{%PN`MjcgZT3SymS7vT9C2ag89*MmV92hIb+~-^EVW~-pfHg%EuU3k=MYoYC4HfzYMus@SHy3)f-ei?^BEYh4Q7!9d{3uiC^7fxMflrs_2w2XiLrJmY<`?<(5E;1Mm2PoQTw|NOYx zk06$)uN76VeZ5^L(tuH9SMT`*<}e`$tNUEmhbdT6*&`2B(r=%>7@9Th>T^}$BJv#d zoE^9QePg{PXyzA$c25chf(hLNt{1&C!tMz^EY$MgN)R($`OxCY%dLy$iGK)* zl?8!CLzqy{0cnIl;g&7ly;oD1#|PO{xXQ&B7u(VHSbqb{9VJJqdYnCgQo?B3p|TH> znwYJMzN6*_(is6ukt&k^>6v=|u@Ge`IvhH^xq#62fHD4ovs*wK{!D?YGnq=61guf> zS<f2h{+vw`s;?Vs#8RAzF{_#8X4~g)PYkzDr|MMa|<2P>}Q)%iqoW-| zua3SXZS7Nz+}vPuaow$*o@%zW-JPx;{&$s_9s}qhs(vmpJx1eiLhavEl=)7L{L(c| zPxC$D{bxcA(8~HBt%I}vUMuV4lk0CHho0siDNg?aKZF#}(>&bd!=3-^4M2pa{}#5|+7DL)1A2P8Zwl1Im67q``e3Jfv@<-~ z86NEqVl_QI!=s()(a!W}XL__VJ=$3w?GK_ZJw3~#o#oNaYVh#>tOgHuR)dH4VKsR8 zy$|B&!}YBT#Klt@BT#14MX$2oDh90V4dvGvt?lTu|yiWC(hiA2qC>M0k4I z@8v2XV>3H_8yspOGi^J40exLdJ$)Q5E+|_&8+~naD5r&(j0LP61cKO)3a|DoGcP)ule0mzxN26maJnuoH{nf`@Wu3qm?=Va)e|Ak)j9hc zhp!@Iu%`P)ds|&74X~1WhbiP>SeJ~UaI4kA$Bd!n+Gm>}z4eQ-qnD%!-X$B^S;cT^ zIkM!Q=C%yG!ESjZr=0n?3c#FbcD;Oh8t7lf5k+xH*2T;yraAF)3r4%ba3`lhqF)!z zEuf>0G~;cyh&EQrv5w~-aQkEHBq=}d#6Vpde?^odOVvrF`2W;=nEyLw!f)pp}Vas>% z;oT%9&&AS{h8J3d`xZFf4gFPkj`c)RYXy==r1ZxWgE3@2#Zj5eFN>OU!VUZQFB_Ky z+h3g+TPxx^dk_j(O~#^J?Pb|TIbJugv0^w?*j<7<8S@X_J zcUbH-;*0PTD4Kz40>`H7ac~W_{xmw$^|w3?X9b0&h&a2_LL4sgQDsf<9`H2B_mU@2-QWVc~;6=80!t zWAuH^YYk@#1&V;V4~xF%2yxM(%4Z682-IyOzO-_F>Kr2>ehvLToZgoJ<_nLdqJ$Ka z7)KC2>Q0=SoOtxE_E$lT%}{S)W@-YT!es^jr&!~;?f!X&&HWqlpH^|{c9YATO7?jV z(96;?yoAtV>jSjtxf#ZMrZy@HgY%<0((oupG&4511%4|M{_>G~NaI-On120m{@iE& zOP8s%wxK=_wY0X4zJ(pm?`VYdG~emyzi5QNe8m5VM)=FxA6fAKg+@qAMTQ%6+^loHLRZ%L%Q$fs{d6nR8zIZ zWVZ3>D}O7@Dvt#mcB4C!oD*G?6J1q&(L)VI=)6fts2Xoleb1!{>@)O)K7fNjLewD$ z{5J0?1DbpK>Ea3ZkY$L&m1W$O?$4?CWRt{DlnlC5n|PmJssbK}>drfwnb%Il``uFMm5Pm_&> zn$T*Q#h3!b*G1=Aq36#xr zhq^|LwaE)Ka81(IMBbU5xE4m_Sv_YqMEmTsug`57swBUJPdue=eNkLfqsA5+38AdW zvj*|9!%9E9shcQTt3hGO47&{uUr4#pW$%oT3XWIO%2U^~MSNG&!!10Spef>10?HZl zidc&gYe;lfWZE=#6t7EQ#U}xlp445?l6ah?a7E!2(uoSLBd{;U%Q)QNEItoR92IZ! zjsS}+YW!~BY2Kt$0Z}rp2-tE3Y>JnvxhD>9P!JVzt!2>lL~jpqgtRHq&>H#fOfz%{ z8Crm|4ch{NXg&NcDwhN-g~-Nvj!LTfhBkq%Se`t)+XEX|SYfkE$tFyOFB-J0){>Fc)%(~raoR-(gkwCikm`& zV8mzh?fxwoDA@oo)ShsHag*9T=-o-HaDq&95|&w&Vc%?z5C*_wjF=1gUp_htn)KSbA_nykl^5P>Gi?KC)d}PJ!`R)-MA1V zT>4s4{fis$9q2dlm``pCVu&v-Xoo&pi{9x%4tZ{gw%uz_E^@oIHwPLQe>||%u~o4~ zTs;MWHRK+qbbRJ(eWQ-vYMzb97BT8Xa(^_t8IZ4nWF1!Yggiroc#>|3oS(&6xGYO^ zDZCy*qtCz{YGcT*+^v!e^u#!tmc`p@!rteD#0)qxUS~c$;>i}A%7v1*05LDox6_89 z5Ga)%KugM+@v#=q&lm6I# zs-$JAFKwtJuP-!2p^%kfSV>nIDDUN#xX%Yi&eNT#6h);YUm)%QBQ6JD4CZ`FqIoDl z8`P>~Oo>gbAX<@zqfiwrkAO2S2{!CL}mPe@dmMc!SMg{!b8Ub5p+ zNfs%U-D;{Mco~8yU)i*+EG~*%$AQ^9WCM>HY9#1e@oD_mDKgvhk10n5mF(O=($mIDr;s$v)UZ{;zqpns%TA8g* ze-3X9Q3b~SWMNjrh)S#@Pn7j5C!UuRbn0j68oASFA_+itlu&NZ6kH+rfGTDcgBKy~ zV1)x=Tcz5hnQ#t?A?hS>3xqZ;yaj5(bncM)_v|7uyI(8upRIPPa9C7?eigW%!^z@< zg-3aBDc3LcQEmHa5PoVWDX#e>Xi*X&D2bcFP>=zfqG|j93*3;NJT?$8^g`(@v2lhX z+HTZMZ9ld_V8)esD}F)^1RQZK7$u#6MmK3GP9blbxCX5pNR3EJZJ<$yGQ90%aTM)Y zr*>1pbS0W7R?}*zX7GC<#)%Vt*=n@oZ4+M#KC=S2D@0+FjffW(3-X=vcF0qKJ5f{> zXuB3ueXAPq11}R9f>ZP0(7P+3XI>mT<9S1{IW58-5`)CnJd;eJ20`{b4`;)}CW1JS z95Z_!%;n0->#dso3E7pMFI29Wc$PPwH(k4n&eNI2t_f(6J$(=Bg_O5X z!H{8!H}Y9wyQs`dn&pHb&F8^)oN|DzXsglum#lJE!rf0hKV^_V9kCZmujp8x&>}jP zV^U8|p`&}*MYURLW{vY!aGn;Xp`=Hh+aTWmq)#^PBa=hlW@(&ad6Ec;8lF!WU*HIl zah#@%zO_#hy)py4hrJG{$142?nHX+E$sofuxu%2!);K=?kH-bR3}O;Mgclrm{hfSR zlFc8EAr|!e@TE|)BtD-YfewYf0@Ztwzy)sz?7;EKH+slx^UI*bU6S~>H+kt~PrFL` z%Aa2OrkhN2t;Gta*vh=2lWfW1y;D*#WCr3_A{-1!69YsL!=ZHrg?WNd7ldlg^ib}# z80*4|g9|b-jsj8MgVs&EBEr|v#dlUQ)}Of8tE8U2b96&mv4u{14d$;7A^EA`cHR6- zRBXakWk;P?f5$RcaQ4F$245X9X2}o3 zR5o!dYzDIj6rnrmiei6hoHi*XZ=Cm%(Mk$kwuGQ6)4{%)sle$61D1 zt`K6NsIAGw6XK4yOcCVJA=g1|p_Sx(Wl165O^yEoh7wgt_ht9aF526O9g(ELO6z*j z@g1$sRW|s}%HT+Uvc6trid$fi%gX4hGoAn`j@^mRdLr*8-od8`#JC6Zmcqgs&Ai|+ zWM5hJw(Je@e#_}uHxi%B#?<{$SfGmMd=?ulU$blbaw4&5EohelOQ2&e_==<9c6Up~ zc!6S_j*(;Xo$(|PiWBa0Pz#WtFl5i<_gGK_@QVq$Xaiqg1VY(u&dge0mQwaSK{T@- z5=fv9yTihsAvEMOj$!){jp?V`;SkFt9D-0`Rc>VlTQ@Dcowp~_!(mbc!UEYXSs^nG z+hr>ekZe8?;#%H4t9Ib4Mf5%@wX<++j`(=|k1p#0I6J)7bnm0t2JWL_nHXEvzn z#k@z4*?VgqsXUvcFssxmZC)XcH|qJ&;AKn+c_uwX6rO5TAI&vDZnPEX@|hKiIjk06 zL=HN$EIYbOo@G<3O_^C*M4rUJ8lEyjgd!O{(0e(EC5|94QGN*Nn*q$dkYVnzD+KLjcwE_mQdB_5S>e{6~ zB6MsK*DOmGxQ!`G@>O+636Pt{qG`(II_O&7(Nv}qEVq;eJqHbcl}QI_KJ?z+s)P%? zp-D(XK&Ol3X^Q@ob%%lz)q&jR%A3_)(F0;`8CC)~=3JtF`Z#_l>zD|(w4xLOppI9z zMK&U!3TF!(<%6QUz;PZ$B+X_6oLIxtklG7wpX4T1%^=s_Q`pUKjt?t4irqZX^YXQmZ+C#`lyx3#7-mn-7pTiaNt1bf&!k#*^HE}MOPY@!S+ z^&*N@W>A8taAZv<4Rm<2@$I%0JmrQ>o}U2kt*!vgB2Y?~EgDvJ0m?JJ;U2ET29G?n zuzCcbq@n7}bN4DCj?qO>m=VpWNi6N*)&X!U37ZRE7RMAsJa9u|CDp(Yw2Adz!O~%W zmbFCM;>ra%wAWD2FW}aoG~b=`x|iR3^T{0+;9|{U(tawNa-aW#w}U&l7Zna~tSR>z zB~B3~b~b*~JVH(U#$ge0bc4h^6&Pu21J_y8)J#E{(2)HcM@ea6gCsGvX?HqpMj1De zK6gv2eT76&2KF^Nuy>XGwFTzu(Sq$Z7wH999gToX5B+q# zUXfm@29yO_6?){w^ec~#LXEL?l#rrS#}US=-M-^Q+&nkxkmsQ63@^h?pWT%X?tYHV zrE*7GNoek;#+-Ym|0JQq$OMb0LH0(4#c>2EPYkl{=$U`l_U1Xo;sPgIJgVf@r?ZPl zCRN0{9%Z4zIrO+<35ez1K}tvq z+k4Gm=zf+%rnz-d_Lzk#`7n*75vls2xq($8@7x?jmwaeSFrM{*_7$d7u#S1kTCZkX zBxN)89LF)b^8)lORB8BxO5Ss31~W=X%ps@UFESMD#jtOpKhwKN6~c04Ao1U*rP+8C zz{Yy1Q)X~pHb8kf6;&r`!d8;X5FfZl5hS@Q9G;)KL=P}}Pll%G6wc|N6Zz)ugDylz z-P|(L*_er9$3|ttUZ6J8zUQ~nvmN5ZJhROU#kd5wBJRS)n_RhL;P*)1UO0cf5-&El zG>P|y4%#eaCe`rVEEuSOXoE}YNoQ)<7ES%zr)q?e4oO)Kd#YuDI7FOMTx?9QX9BAA zlAYvQ$E@YWWLyOUr^8^@I#}zAi~Wz(#pVW$cO-!E<>c3Q%(({>D8`%jNn^(oJOxSg zlU@$EYQlAfWtKK_XT!K0aNhXf;&*G$q*t5zUk$y4iqdQkcO4bPX}V8EZ^+J7_VAI~ z$6U!!<&*(Wba(6X5N6&jOCSVSwAqX2CiF&uOQUSJd5!Zr=N+|>b#qGt4`HmsHPE$l z@VkPVAz(a}!6UzqMpp5zPloM8be|#PkqE4QkZJeYMq$@yL2!Jwv2?`+++Nx}BJhH) z`hBiNR$WoC-Rvo2CZBbKgtd}o@@ar)R%1Tov~{zr$+BGK`6x@w8VO?a7HmT_D#Y=} zH}!bU9+kIZs>;T85|;|hv(&NIT4&D^Ka78|X=UgpfBzg`B2F7Fo`THtebEQ(ZbIvX zwgs~DcW>d9juy$|RObY>Vq(w+qnXuIjGZjfZ}u8r5kZ%jym$}xfqG=jfpaShIamg~6#x)kPDhl{)OBBA2cuTYWi>SI8rbnrtA{mXIeptI5^1 zXp%|?S@Z8yYb)>5uy5g=Q4(Wd^KH0wabO9%ps)=O##>Zfyjva z9iRUMVRfeF*PL4PMG|@A*kj_nSNvc3_>C0dEc=+mX4(ik7QB_(`1B=buN{{s?!!jn z$&Q%Aua%H*ECjSlxm?nf@WROqz}oDNZUveAdh^Ry$P;&Eg<}`Gks4HwFLyha0 z2A2S1+|PxOG7@4MzEie#OpOw=*)G^w#MA9BXWoHs*gZK=oLa!6e{mOIn-sH0gkS9$ z@kync7;CgNPvyEaT9529TSh|<_0raSB&R~cPrsui7(q)x+H5A|R7REFxW|J1z>|=C zmJF3jXQpn+L+tt-6`B5{7L{XmqUAQ_pgD3O=Z6hF9bL8iHpz9#F3HfzTaz!{4SEqo zy^NpZSee=uO>SgyUbi{<$mb zsD|ARE@GJJ9%$DDM1;>CwsgxeP7@FwAGzhijX3x_{$#g$@=>GWhB6_;-#O$wR@?$CS50S}_Yk#P1 z|5h?t(8*5twcWS=2Al_1gl%bYemU6a;b#UMdiw8>v9Rs8gMz;IMSNq7sf8>p?4TZ2 z2+>l};QT;}zrFb1f#%0w^bK03|Mu>Wdf~$eB&Kic=>9SSiHYvptKS)c^vi-D{|`Ta zX8L~wX#RVwApLh-6~GDtSU~_Q2w(*PtRR3D1h9etRuI4n0$9O6ixqrKULP{rzhVU+ zQ{lhObLsw!`HS@5cP0N!Hx;09@4u^Y?=gTLqUz_yy~lml--a6fKQgfKkM@Ytf8XEz zGoc1(-20CW9q|CK=b2+@HgK4BW;NP^XK4C z_T~p}{7mxu#-XA5MyY=rW}$DP_xN{xtbIKE1R$UR1T=tv1`yBy0vbR- z|2_fD@Q@t-?KdUE_aglNMnI3KO2nYo!?ms}4qLm^JZETg7m?Q?F3ee*6WtgTL=Mi% zwU2LxAFvm@=PD0Kc?$7ds5w4nPBIR&u|9tsyIhmG;xM57#Uc3mF?Zon!ZUsxMwVj# zE{m&eD{i;rX&IQs^^Csu2vsD9Rf>J#)zQ(3wSaJ{7`;wShncITgNmhAc20`}|1L@o zf*pc5QBr6VEqgkrJ7@UbFz&=#t?c+2GJXGjkE=B)SIdBM?4wpgPZaTo8E{?1?p!4gSwOucrIQF5_gVK&i9ddWj+IPf?UysJE zwMU@Vk|UQ~A6PYi#Nc|q81S_@;AZLT?vC8OL|K|d`HBc4pUzt_#fdQRnq}E0gn?@*)r71q|M+unJ5qcG_w(sQ`Tz z{HWxRiXs@D@IJpYe!*VFH8OmMk9#bMK~%S9;Aw-UfSQ2riQp3p^r$xw1o9v&av>9M)DlO~=7D~zKNgx_F)0Cm~?l8fFK~<-5?Fp2uOo;cQ;B&mq-gpgEUBY_#w((t~mRwb8l6PLsuOHIGY)h|T>-J(&1lfrkdYMwO%{+@!awB$?Cf!O*14R%Y7u z;21P+dr3Xnl0Y9=(~=h>DC39Ep9BWgqgcv2hoy2ro*Rbtg;;4tJ!E#yy3~P0>UJNQ z#PyyQ16$_G(V3_wom(t^Hn(~OvgspT>{D1N4gP3A6oyN5_#+o!r3$WfNvl>Qq6Y^0$oNZNjNPcso` zbBq%D(VT;pWqQHhQ(f3-hOXp%2e0-c!B$G1$xBRj>ugb5ZQz!pTu#dnvrUm99>5KbLt}Eyp;ZLcJBkZ=TfI`t zZ$|GTuMwUYEwR(2H2fIPoTfRTwLfS-dg_pR0EvSfyG= zrBeq{4}EF^FBp~q%>pSams9a`j?nz|Yhq5#o|1LOSEFQc2{v$nn8eY^_I1M4K@EOz z9=qm4h6zKbBJ)&i8O*IJm%3euP#oDNm8a8G$VW_%qE#&Rq380p7@y9GZ<5eCW~`JB zKRn_qgE2$0Wi`qDe9@B*+J;*~gZ%v2;S0ovCQ-FC=cv8j%a{I&?}^vNp{w%O*Mww3 z1+B=2bR;AwWv9LhOUu5?_E8Harh=t|e=AiN6!%<2+h}Yn?um}cuvvz{suP$H?JNiX zv787O7pE2xZEgrhG&JJw!bLL~b0TN{Mt6eq8j3H{Y%yupkbVzZ+|^{z1GNvR4t8FL zc*~LU!|0E$3s+G6;PXqDu8OAM^#!iREdr&V(GPqbJa*z>{~B_newZerH9oyKb43x! z#mlp*mUpISk8bMJ@|pCa8MI4|nDw!r_fWgBf1FWPx}c>CKDKCw-rAt0$B1H8ME0=C z6Iz6(qKWqO!-dV2j4c&t=UA1g$FDC9tMJ7fxiDnr9nTQd!8@0`Ne`x-HXblazC9aq zvfWs4b{xYHl-^sP%H(jU5#@XK z{NO|@+&QmLyIJSM_fr?L!>^*;c%VC z4lli7H^=dSv#q{4O(Zc{n$1VIzC6kS>S_Qf*a}gS=mX#65_ghQ(gT^?Dmgxr@ z5||Aq!b-i&Jn+~JPx8_6(6IelPqnbdaV`8z0A?zLPHz~!yG$_ZESy0Dri%2i)^ndPRLhpbb((K_;Gbqq=$9FR~KK3iI3{Oxj=tRAdpV=WkY_HEDw>|1g!hpV(vw`IfN{C@O^;I# zk^a$kd7#mochgmv_6zVZ4Ue*+&$r5Ac2rEQXvCi51xN-=LwA))F13#g1i^3xt{gfY zr)RfvjL25(Yjs>AHsI^$Qqz(5sfn}b={rZfXth6>wAv3yV&H4gW_k@0xy4!AAnMb` zKB~$6I*lV@sS_6YP|pWvnsoR`b?e0-Tak&xP={aW+uG=43qr&MR9#i*+9 z$UZ0ts5U5bl$TCd8No~wLC6TwP7$elSex(s#V*DuyoT%SA~~(+DB{IgujJ7qr?GT? zEz^jXn(z3uO`K!#YRmAtP)YZ;UX#UtfHj!8)J{-9LF|9JrHS{RKl6i8qbUQ?gA1#! zJoMHc5-YhkT$Kd+=t~%`IJQn0EHEEZUaE~PLTq%I_5?`Q!a))sX_I1EHuQ8JdcDcv2ec1#Z5dQVmQG2$a$Hl+}JKyo~m!kTNLTX%hb`IBt%_EqOt zq%$Jf3H{;2OZqzGH?|Wc3?zcth#SAW+=YLP)}Dm%hamYC;K4@RmbD zqnfC2vXfD0{D3TWEAIFV|KTI?kbsvPoE>L?^rsWc=0W?00)x68ti1@JB4uX5=E#1u zj_nVhYk!Q4Zci-3#OKnhOMZtVAeaAO+vD))!I8hkBHa15Ip}_jc8zn}E`&4j{?UB( z*(6@T*?E^u)=J3wrqIgt^StT6%YoTFv#RTf<%UJCllshR*+a4mpFH}O9S5@BZU5f> z64u1h%1N`uH_yt|Ns{#KMx^_4AzFPd3qHEt6v^$vWuQO_m#lJSy1pF`u0SYGj z+)WbTK&@4Z{SJkQR*F7{vqda<071h>fHqgaPL?@C&}wha*vo^Z+i zw+beA@o@LsWBbL=_Aa=77dd}LF!^WnBI~_7tktb)wT<;R&uT&kJI7nQ-2Xa$p#Mv6 z>mBuJvn>hqn%47Z9!f<1_bz+qVSsAT0`Du7!-aqz7W&ZbW*5Te67J3Ke+PMkm{=Yq?!Nn^TwJn-Rf|h zi-Qc`akq}Ar`P_Avw6=eR+tq@xo(ZqxqvNE#&=w$@244`J~51S!H72lKnD2g+90>k zx4^VYyNLNUyCN)aP%&n$m@?*TVS%zP4|pd6&qiZ8+_h`1HU`p*Kzb2KF9PXBAiW5r z7lHI5kY4<|=taOiNb@Ut@vdz8U7q`Qc)_#&P#yp44EI;3w?O}VdJB+V{Li8n0r$pR zKhukM0r1;UWBsvd?f#pGc-D>_dEau|%gd#3 z<_;UFm}~=uXs@2o#wHDBW_4tA&v+8+VwviXt!KpQ?V8~Xi`0Sq%x+g%TA`cWxoq1huaA7_ftF`l_J1F=&Gg^V<1P15+18tdc;? zl2Oi#ixQatj)y;yBuYwO{Hy8fPgnzit;g10*Dj*;Yop!Ah2$-R*5(IRs`6`92-b7& z3hJ5oXG$e>`K?5=HK=4V0ZfWF0L2Yjt3ZJ#Rf5}@4bCUe0q!|!6Lbj2)f zW{!z^V-4AdH+-eZa6=Nkf8D;hRB%F&CoRpO(k+frj{M|Uw}u4U8C>OAg0H6PPSC3B z^%;kDaolHJ4TgY_;dW;~?tK%!lv3lfdh9{tNVmMh686pIbM#E3SC-u@BMJnnYuh)WyghQHkOj z?z+}xEJ}my8)`Y$3mzjZ)?3>S1 zOQQ!Xd+i0UyoDF}8OnH%rs6a8+m^;xLGO+YG4euW(?31Li_{Z(w7^&rMdJgfUNrO| zLwAHN-G}6DbfvU~GvUOguD5Zid73;D_+RE+By`p5`OT^u-= zpke#q`ab@KR$w)J71yEs~gdn~&m zMlnJ2^20(z78ZM10^H*22>~})9AVhea7h8tSfIw{GBO}s82()X2>KfBuMK8&Ve^8S zh|OUw)JVI6@WU1X%(=&rl%TynqJ8xiwikjJuaK}@Q4JR?BByd;7x1Hx?XykB-0`>7bjQr# zsWi+P*}9MP7eb>}k1U~9JfoRLVo?)O;expfV3KLr*JcpWdKbpFm*qYbmdTy=!7YE< zUV&$9h3|nwiP~9vWnk;;b2y$G&i&XX(7w5VEzcH0P6bDg7-3I(3EndQVKBEt2)AXt z{+q+fmGW8nlo%GA1f}9rx=rt}_pQrzY1{PyoSE@l^vn>h3Bow5xDE0tYOwapA%pPt z%{olm*pCFe%urspS8bjJNKWY#P)L1wDBEsc1fO#w+O9jEA?b*{T)H`w&DEQk#YI~n zSGk@KZ~lY=%b~tKdXqE+5;S$R(%S%U{cV5VLlf6iF^?2Q% zm(R6qzp6m=YtMA?>SyN{A5Xobo~)O`rlnEH*YpoFSx>M%#aqPoSg?9|EF21sXM%-G zSg$UoWW^JgEA(K9)XAS^aibKJ0}>>D>`$UbN%O;WdC%A`DqW@d&&T3{wlO@z+R){C`8diT-NW)EKrvalTc zRM20Xs_6xCYO;xa@{C`hn@hfp=KvV;!}WLbvtSRVInQ&!bbQ9ORTpH?CZIZDA6_6f z)GJpT8EAXaK?g6>2p7GxYvEuD-{=zCUWpsBeZd*qDYgy$-5|MS4f%|42}_M%83ly zt0l%?zEDDL2GPzMEgD(QYXzIDx^ zG;un>xk|%5VSz{$+tJS7~ue-oZf7F@rwIj5% zlEN2l_+vP|Nc2w^UY3&Rj`i%cef9>_XoZmac8XAs#G%hyk)=3wUXDD*Du2Ro7SMbE zC2jmQoZopcP={YgeY4Jm00lzsqy~HK)@3n$5jMhwqZ-|B3PpG&A|Pvbncjqu;C1pUq6} z%BJ5&4(ks9`%hI!|F!+cZzAV^VS@u?7XGuCg}VUy7F9np3vBn@kZ;X`e-z_?1q1)D zL+$TX`ER=oKl(V#|LEe}-3WjC!@1o`@#k9$|F+e9o8-5d|HLfZwKBfF24oh1%mR>E z05S_eW&y}7{4uk@eviEU{1|8dlQuY=YO>bfn1#cqd+QJO1KO>%T=PfK=^m$BhMq)) z(3asns$AKYlDpjHu9|Pq*lc&g<@QEhG(9s~wLPo9Y5V$FyT0;_0p&~|_qn1?)*}YH z8-$j%U3#g7{wU$&XY^1O8ez3)XN_W2Ng}jpmEQbsL(astXb%H-tSVMJp<9*+4TSs` z-YlTf+s8FCBruP&`>uQv&aFXw$*_CYpuL;Cu*+UQ*Gp6R22B|}su{t(JTrP3Ekk>l zS}&W~pNF@7*N%W06qA88niTb#t!JT2;gd4yboA4iST1s>6&Q?!CupaSy*^#X>k=w- zLsh>IkH?KE6gV=2wSnT=lQ!6^dcUXS>C!&f$9{Ei2x*$r`>sbvHH80JHz5rRB%1@% zpc7J;X{;KYx(cCKIx+a8Xsiw2O_EvB^aorhT4vMY>Rp7p6_{cPd?RcRUp!{ciUVM> zMdLu?FmJUHzS)948eK_Et)Msx9Xttj6d@c2;M;@0$1jfOU3>Im5|XsST&nGX1A(~W zB%5(qiUI$tYz0!}4nkypjZCqR+vj9v!Hh#H_yy*S5)v>I@eY%2AAOShj?%YT-h!Ju ztomX>T4rw*DlYg9B+t{B@2QIB6w5({HI3Q4qqG>b@g|(95Q4#uj`v+G4`x)9NRq?> zf8-h@NT{(Y06JZzNd}(@D{#8~L4}1dxmKrfx?hqjQY~YQZ)f@J-AoOPNA`h<8p4Oi z3TYYb0p;zL=#CT{%9-`=^gb!`r*Cy5jLY!^4=4@30>Lr7rcF9De9N)zVum-Oi^4^& zkR0+h4KzEJz6xIhrrR`)0s7|g=kTI|($6bS6$A4Jftt2S@$MB`hl5Ep28}bQ6J#w@ zsPkkkg)`tQ9KB^4yDuA7oIE_Ziqs@iy9%SSk&RTM%IpEqtzxW+y7o6WJ=c9&K61}+ zjgULf%~hhn*Ywx-j2qmV->yx|b5hZ_(6KdKZq>Ory%Cip9xv-OYZyQ(U$mYqsG>~3 z;r2u?U`*4PBA;*+H4Cd1fZa2m-WsrSd&}zVqm##507jGS=A%QQY%us#f=<<-J=e#B z=i1wJqdaevX>_SP@xwfePbUhdW#jIiv5RdDm3=BkXYRst7d3ht_h!*JgmXP<;??t( zX}x{TF)2rQw#1ZhIO7@Rx}wYJ(E>p-$?TIa@gp`fi4LQ}?V9ru2?`Mj0#66*^((Z_ zbR8L*78AWX%Wk@Ozc#@;?Pv5Jwu=_$9qwn$Xty#c8E!Vx*i)V1y)rQ0Jl$ILc#J)d z;5`npjq-JG2hX?61GSm5F+g?rwIuhHGq23DvJ9j#n)y458KRSDUW;0A+ST4TIJJ-O zU?XFlX{=fYRx%I_c!+Jb&*3X@NM7e)s^YFAc9I6zI1 zQRGpm+{Ut4C+f;)9@z8bHzk4GCK(E2&p~@IK2xUNq0fpP2>FsI2cM9fiL~?aLt?Nk zL{wo;e!<2rES`meF$%bl-c??@(`LtpSN@!%1*VI5eoJZ&}EXu{ImMk^7skFqF zg<0t6A-D*~C`(hy6Pb}Xf#C)N`lwnz*fvs#rYEQ*&g;~*!HAf`!*N*h8z4S@g#rns zdJ4P}d1f}m9`1*DD^pdgo+KE{PdYBkJtxy0n72IGV-`ZFul>}{d6_g+Yul`t9FE4pTs*bPGzRWD&h zEioJv3rjR1XK>45;*vm}1exsL(fjQ$Bvrt?Et+i9TvyW&RY_-s8AbX)T%}|5{vknv ze@usKl@5G@KYSzr<~=R|hTJe!y=o}V+yMOsVm@Y~;14AFy9d`@F~r6O_@%h}AD9KO z|IRGn?n(KlB>KCt_r>JjD$(EW{O9-%*54mz^Ieu_yFJc^h5bk0=bN#>ZFTs)mi;Rt z{q6rI%l$bzl9ud@&@Ajf#P-{(+oNvSzqf>bEz;i&xL^EzUx59u^acKzNY4S>9u5@g zfg(Lnq^~Y6RoqK30*drNksc`014VkENDmb0|1OdKE_wZy(f&%Lze|OGm*@T++rv44 z+rzQe)-*J1TzbcqZ9E1B;OgpHXEklS2HS=A&Mw7S^Mrr_`B8o75@LkqTN~h@IfJHI z=(}dLjUP+L0-=ILMQ;`cZ$BmTmxQWr?hl5Lo=sPV^BhedZjV%-(OIS+R=Ls(2_7hN zWDX>Dlm@WAw$axkT=KL6y z3y*brm(mFj?KG5Q^_6kxjCv4U+}JpaIQxde%^YFaTv_D~@v!yDc$$>bsI1{5FcvL) z_JQdW20MQVrS3Df-7W#nGQk^3s*o2<5opjLrA&|=)cR7o zs>lG8kew0lIp>N;MCtVYhcCIT>&s^&!aOV17hV%az^itS%8B9%eMmsl3kDH=vW8o-SB8E7WXK@iKWEybdWf=Bm>t3jb50Vs&7Hu-u!x1<8d>>Lg$BoNNvp(%? z`vm!MVVG^+bFwVPHWQ(qV331s#>-ALB;4*6vdJVlWVF&jW{XsPKwJG=T&7%R0bgVzn{O;oVTVBM*&h!t- zkK;ZY{;ziBa{efv6bou!2N>mWjxNmV-Er+kR<>AroC|&K;NS3 z=k~^3H2yBs{xxOYuiG1(KOTX=_Qro)dxP`7g8sR^ad+qXUF7_g_QpS94FHTl)&R&F z09gYdYXD>o-gq*?v(~EuSpy(z0Avk-tO1ZU_`6sG&Tq-*^i_I)XG_(0?RToyNAL-g68ipT?r!DClMwXP)am=iSe=pnm(a#Js~u`CU}FBo)t48uC)z$D#jE=(jM`=1 z(rPdIo-Xdk(;(11*-J@3qc5(tal8aq@q&#&u7O#rCxpA9h7ssvHp^iwBy0KvL8!@u zMc@0dhgmx1sLMe{0kW-aPs?PMDF>tnOEOlZ`IRY(ccUVzwcO>a0!V>m<=8BTZZNd< z>G6)@$ghm%jLEFbiL4*06OwD^vvm$%_HhvpWT;ni< zLlu+mUZisvv=yXlye;*!y#OUAgB_Qv7bPF)Ya4IE?iD64dBiHzmlO3FJh19x5PXcE z47m9Slm%y&5Vkk1ncX$zZ0zfd9ToM>1YiG)HTWVGvtg1?Y=k2(9!HK>=26P9pXSWZ zZ8l4Tpg6JjC2MUy@UfQ-b1)l`9PuufR~>Y7A`m7gLX%o*2Hg=N*X2a7bdqKdOk3XO zBJa}rs6Z^QNvYQKSZgv$Ev5AUZ5j(b2+c9dIVrnLt91NmOk$aQyfH+PL!_nqkqC#$ z5z!~IVPWKUwtgZhWL4u!j~J_$g(t=h!=mU>Iaa9Z`7w!A5m#T$waTQe@RP&keN#<}PDK02Fi#fRs|6jQa(ieYY@xKLKj z>A14_F0;6@km~P|mbP$Hpe@qMkV!*|S;U&O$J)w0&2tprJcTH z<{3ra66RVw#Z^KrpYzpMJ10IAJ*%NIx-U+09D4W|d0<8GCDK(#7rPvTgg55TJ7x#T zJ!@W-thCKVHrlkOA|4(hv|Js*TYcGuo)q`$is&L(d~GNRV*A9sjo%jQ3Xx)JQTv#f zrxUV_BNfus3*FpKEmXsU@f}7dpw@b-0czyloQ+a*_0$SI8h_aMW-N97^rOYVu9*r;KctOLFOUCDe_}I>9R~(UQxLP4Sa5 zFnoRRv4U3McB}dG6#XqGAzPVJg<8jLR6^J)+2d-Oc((W=Qe@Nv9 z;ZQ92g>*V&YP<03u7%KE*{6>CTdnrqes?Rt<^=!V>V`|9|Mf3 zFI=t88tWKF&vP5Q-!@=^wE(Uu_G#Qts9*2Desr8#YH0nD)#boM%WC)eN~vEi*o+Fo zG>W11L4qsSmq8Ex{QZs1-TA)D2J5YXP94|U>eNM}*#_O&&p^2aD7OIR7NFb`N74Eq zf3^}Rw*ci9pxgqKTmB}w<$Ln_Eu;NeZuy=H|2EHM{DCR{FXfhB0cilHAC%kw1V{tA z=>A7-?F8Hf(6^}iiGBQDXZ-)8>vYVJEtKus8^ z2?I4@pe78|gn^pyA8W!)-x}?|eef~==*<7On(#ACYuq|CkF_$Lc>}^+m-B%KbPHT^ zNa?01BBI)`sOF|*)`UBK4Kx%tr@YBi35yXdIAz6BHTpe~gIZd1gZ7e}BwrJ}K7U%| zC))3K{Sy26qeQdjf!86c*RhfKm0owjc~gUg&epSP^LGr-01b(eIaxtxhOWWIC*V2SZSN4O}t=+wWbFf*QAk`qT7 zaLITyN^FvHP8 zb6j@y3n^5Hp~ARq9-;_Kj#|zu?naz!YRjoy)fb!S5USiOFna#KA1b!DIVyz`?$-nx$$!N$l`4dm07zh57m_B%s6 zsDmIPkEXbulRfOh(2B&_ZYd)a6GUSnpfi~vb?AwmMO}p$l(j9`aTkaba*!T7cI__? zBz%k3$RRM7604_!gb4QX@PxuLg8`ROK!mIlN0*r(t^zJA9g1davJqClI*2dk(ghki z&OFl4R!c(wYMfw#>xA+GprQ-mk(n~KW@yS+1gL+YfY;=~qZ*j-Va>3x4;g0^7o#e) ziMG8}ml<%QYD$PZ2eJOOf_T9+p~p6LJc`d^JGM=7l!QfS zsU<|vDo|IsK`5CLlb*OX3;D()Z|g0&2aEX!vfr98E$clZJ?1xY5P>E~L29Kp+p5IZ zdl+!Wqx3O0#$-rzw%8U+iU)Vce#u4+dKmsnE8#p@Ie;`s_{f6IIJQDgr+zRyhO>wk zo9O}vZndS9kdSH5ezoH{1AdG+3+|~jONgw!hH0+!&Zv<~zpc5ZRy-Knay=av41$X7 z4CrU2UOARmZr-T-t;tnwI1^xpAd0K0!n=&athUbHjb$8GsI7z_RS~FQULmBr>4>-A zh{rT$q^8^D`xMR|k-~w4q7)Q>A+T)KT6-Q*k1_euCQmFPUPVT|`Aj^9pe}nVAgc9_;s< z=n6_rlB_QWEbvRgI6fg>6+EmC9Lo7>fZ|y>VO!tX`CDk>K!Za?xRbJVhYrj@F@=?7l+g*E zc=^0hS@H_;;WdHOY`f8mMh?2NDGdB)2mCy>2KgcTe)|0+5SB8YDQp83hDC7wHJsYB z^bLoS&F|jEhYU8v%da-ehz3BfoyBzWS$wH$u(p1>b$M-fx?|;1p{D&sj)0J0RY?U; zR9YV4kjl;Pirb{!HBHVW8c$T)!pa(>9DROve%7+q?Z)(tN6Qr5`M~OhYfbZNOUVfV zz5_jP2@f|FVb-zuC&tTp?JJ`TOi87S>H@}xW-_+vMlbOeAdqiR#n(u9eNvdxJ<$Wz z-&>$u?0xVqhVZG^tA)(8mpWkx>TipRKVS87ldE;H9JF7Ye6UbA+N{=99Ayz1vB zyJNyPCnh0G3R}w*lPr%w$rTM3ks@VQ&#qhfmG=#Z5=_G5)$Yy<7VT30lG>!>9lNm9 zy2(=XUF$e*&kEJU)BY#M^yi-K@eRDqEuVO`AspUj7D4u|^v}*7=pDvibmP+-A?3-?TS&?S#YC8uKZbS1Vjm{=H;%Jh7t= z8zCoF4J2If*6NnrQCr_iimJKQnCk8`(kc?bJR*_UoEpnc&tW9zV3R6BY6AmFdu_YK zdp^4!F@eCrn0<6fLPSFQzDf3Cq_^9ey(O$#2}ixSuD(I}d}R$}p8C0e_8( z-;bvZkqdG+@Pm@JvQ)ekq8me16~ee|4s6gwal#V}H-pjZ4EnyU=%G@L5W!AYveuYOjgXH~kVYc6dWz*Oszsz=KcllX zP*Md(wsGd&o{nLz=%W+smpB|;q~25|hly6ch^`O~Ql^8XZ&;=%OUVdOi1~0D{g!Yncl?p-!z z1)#{}YicpOsz;u2ae2^+R#&OeJBFSG-Kyt?+)}gCnNtqlg$U`VFdKTWkD$#j-4MxV zKRpi`JeI{1VvJa`UnN`t2z`8PU9L?7HkmC?#cJ#@0{trF(+Rj6|M^Q9@kI95M1ftV z$Eu^lmvng3Yt(p|b|DoTHDGUSV^-0tkarRq6YB!~50za%aL2>IjY@Qc%9e~AK(^5? z8oWLY5k3}&$e7b>^fWP4gs3<~KZFjpw7|@hwyHSFAInWTm}<&q&p`?`VqW>wmE@U8 z(j>iuc#IbZO2rK5=w?TI7;KrPP$elzRn^qHDZMhCKiYuD*`aE9e3UpQ$$oZ{`DMBw z%ZRlQ*L0{(38K&GSq%b~B19&m8lUPYg7T)o+=nlsIZ3zolKnT3is@7jl{~iToUUb} z?Jv|)GbNh}@b&eBAR~re4Bn{KrhC$VLFA8%woh~&<+TexD{v)*Q^6g5wg|s}8hkpu zj&GnE=*-Q1>=a}-6ci-@|4?I;Se1;#5z`l)X?vxi@I+s=0;#4&_(_gTCaqg^@1)Ez z0#+MgmTRK8pJ$;kZW(hb0)p;GqPa0pJ;cu}Ax)+8#O(aX%|DthCz)jJUm36O`!mYIWd*pWN|V3wcr$3a`&2^)H+pKB zX^M7$gN1c-g0s4y4?E22JSNEcz(rfx{^NtF_w;ie$4h_`GMdO7a_?7PN5*mjc&jkF zlLxP{<5px-TSQ0Cu#Qb;MmL$vCVQV8Npb9KISXF$E^gJDaJaD2XzlFStmq(OJuSjC z2P}NTs~NA)ds;g?u>$TgH^5|N$piUh{<#c9D7Pgm7seIqo9&X%`W_v&8vK3kA9kJ| zXtqWkU)5BoYkaC+LA`D@H+;*p)|_9T7P?js#PWbx9uUg|VtFBt^j6CGX@FQB5X%E% zd4Cs{$9zwS{0hsvtFwNW=l*LLkzbcoEI;%&AS?Bs<`V~CzQ=KXW~J`F&)-H4%U{{J z^lx&U0NhRT+suEWi|z{k->!!FKfpf&a5u@{uI3(Y1F}*;Rtm^U0a+;^D+Oew{+N|w z`6K@fmLI9xf6Gd#OFze{Lz`QEs#8E4`T%2Bv>|`Adc!oj_9N$%fv`f%0Df?_WM9Eo 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 Fy$dCf7 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�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

    mJ!UxQm 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 B1a1HT diff --git a/executable_names/doc/html/lll.gif b/executable_names/doc/html/lll.gif deleted file mode 100644 index d1227248e0ac713e2206273b4009d96d3f5184b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1794 zcmeH`{ZA7I7=W*(A1BswM@xHr-#JjL3^*rBg=kx73-tpiY-*9MrMfYXIq=kU7FY{c zK+|mCPKQae;pRDYbP;9~W2{-RR5KZYhy)jPR+&~~25!zS*-Y2_C-&3cJbCi`_9k!g z>MM1{N(&00KokICu~;Y+^M|5-f6VWX`dH?DzL?K9@AbyK-l*3*?`5Kl_c6o77-pVf z9(z3V9#7o&JoIClo~K#gqv;vieb3D@<91KDse5i}hGLnZsE|F5ea3E|u-oI|x04g3 z-A~3%hDb6VK9UHLgr6Wn1Zy8bcnPcD%Hp$Hy;dt@HTg^|UXzJ28GRCq@@jnb`DdX!39$p)pwX(jH)aT;e$ z;kX@FxD^Uo!J1Mi>2uVS>61|1@zTJ^*p1Y6t-R!MNhAcgM42zcU+ejzwDoO3 z<>=hulswCiLmyckDqv+h?>16xwa6E*;_?qD%X-A9{&+<=(z+#+%jGsL%Aq5J8_YR5 zOV*s>xl@aF<)7V=yJ>45zfJbcL|1K>?|gNtn0UBUvaI%Qhx;Z898=|1i4%E(vxBOS z2OiDh-!GFDd{`z!k-DA-8yfP@L(}?#v4LX=pQ#_7p5XF?7ZwyJ`ugrJ!s(~@;y=FX zUv3;S=O^q_ckxF4epU_4RSo7Njn^$VAMv&6DhlD;!N=43ptQo+Y}$(6PIMyBZ05YT zB~4z~@&X(=cw}L9(`@kU8EI^%W0#2Bu zTN%-gJWH@vyOlF0PaJvPoyj?ljtcgmIzFf#hjr2wcO2Se-Of4Y;7Y^T1O3Xrmd?}; z@b~h>N*WVL@Y%^Atcp~ZEx|8b;)-$yVp{GZ?c7vn;_K(9o_wS2ea=5yB!Ve%@$}?q zVy*)i6{On+)xz}yc<+ItQ&>fo@$zKX;i`zE0U8^*GegLphrmX?xOmPnc4_y5s!L)lbe@CN8Lj1#>NPk&rD6}~ z8u}?8EKgGA^y{-f$f?^UFc6xdovGHu|}a`<)t>&dK_)=)<( zi+|;gpiSmLf;h+Ql&JY!FuP6KUk-1i`@1uD=Q+!DoBukWAbNOoAs|TI4yjW*MUC&G zZNO1VS|trra$@lDFkfb?!nKmkFVd+aD#+q8I)>`jWg9nR{9ru|cgyQ5KADr7+*7*r zJ=a_HcQ`Ktj~;F}*SJ!)nWtRxhPvV46oGTbqzCt6!mI;3+y87nVEyfotiBo6A=`^< z%9GYk7j`9P)-42*52Aw7yH`FByX1}ZtP5!XzM!D>r5iOuMO~l=y|VE;+W7wcZI;w; zhljgg)=E!41r;k`X|}!Tms=58@4Cx@s^*riFDK2alJT&Z94N~=w;bFsZCT41s(-@8 jgvwyR(Q&9O - -

    Mailing Lists

    -

    We maintain two SLURM mailing lists: -

      -
    • slurm-announce is designated for communications about SLURM releases -[low traffic].
    • -
    • slurm-dev is designated for communications to SLURM developers -[high traffic at times].
    • -
    -To subscribe to either list, send a message to -
    majordomo@lists.llnl.gov with the body of the -message containing the word "subscribe" followed by the list name and your e-mail address -(if not the sender). For example:
    -subscribe slurm-announce bob@yahoo.com

    - -

    Last modified 13 May 2005

    - - diff --git a/executable_names/doc/html/maui.shtml b/executable_names/doc/html/maui.shtml deleted file mode 100644 index bf00627b86..0000000000 --- a/executable_names/doc/html/maui.shtml +++ /dev/null @@ -1,92 +0,0 @@ - - -

    Maui Scheduler Integration Guide

    -

    Overview

    -

    Maui configuration is quite complicated and is really beyond the scope -of any documents we could supply with SLURM. -The best resource for Maui configuration information is the -online documents at Cluster Resources Inc.: - -http://www.clusterresources.com/products/maui/docs/mauiadmin.shtml. - -

    Configuration

    -

    First, download the Maui scheduler kit from their web site - -http://www.clusterresources.com/pages/products/maui-cluster-scheduler.php. -Note: maui-3.2.6p9 has been validated with SLURM, other versions -should also work properly.

    - -

    Make sure that SLURM is installed and running before building Maui. -Then build Maui from its source distribution. This is a two step process: -

      -
    1. ./configure --with-key=42 --with-wiki -
    2. gmake -
    -The key of 42 is arbitrary. You can use any value, but will need to -specify the same value as a SLURM configuration parameter.

    - -

    Update the Maui configuration file maui.conf (Copy the file -maui-3.2.6p9/maui.cfg.dist to maui.conf). Add the following configuration -paramters to maui.conf: -

    -RMCFG[host]       TYPE=WIKI
    -RMPORT            7321            # or whatever you choose as a port
    -RMHOST            host
    -RMAUTHTYPE[host]  NONE
    -
    -host is the hostname where the SLURM controller is running. -This must match the value of ControlMachine configured in -slurm.conf. Note that localhost doesn't work. If you run Maui -and SLURM on the same machine, you must specify the actual host name. -The above example uses a TCP port number of 7321 for -communications between SLURM and Maui, but you can pick any port that -is available and accessible. You can also set a polling interval with -
    -RMPOLLINTERVAL  00:00:20
    -
    -I like Maui to poll SLURM quite often -- in this case every 20 seconds. -Note that a job submitted to an idle cluster will not be initiated until -the Maui daemon polls SLURM and decides to make it run, so the value of -RMPOLLINTERVAL should be set to a value appropriate for your site -considering both the desired system responsiveness and the overhead of -executing Maui daemons too frequently.

    - -

    In order for Maui to be able to access your SLURM partition, you will -need to define in maui.conf a partition with the same name as the SLURM -partition(s). For example if nodes "linux[0-3]" are in SLURM partition -"PartA", slurm.conf includes a line of this sort: -

    -PartitionName=PartA Default=yes Nodes=linux[0-3]
    -
    -The add the corresponding lines to maui.cfg: -
    -PARTITIONMODE ON
    -NODECFG[linux0]   PARTITION=PartA
    -NODECFG[linux1]   PARTITION=PartA
    -NODECFG[linux2]   PARTITION=PartA
    -NODECFG[linux3]   PARTITION=PartA
    -
    - -

    -Set the slurm.conf scheduler parameters as follows: -

    -SchedulerType=sched/wiki
    -SchedulerPort=7321
    -SchedulerAuth=42
    -
    -In this case, "SchedulerAuth" has been set to 42, which was the key -specified when Maui was configured above. Just make sure the numbers match. -The Maui folks have assured me that the key won't always be a compiled-in -feature.

    - -

    Set the following environment variables and path: -

    -set path=(/root/MAUI/maui-3.2.6p9/bin $path)
    -setenv MAUIHOMEDIR /root/MAUI/maui-3.2.6p9
    -
    - - - -

    Last modified 24 August 2006

    - - diff --git a/executable_names/doc/html/mc_support.gif b/executable_names/doc/html/mc_support.gif deleted file mode 100644 index cc2180292c6a9bdfd494aab235e5aec6bc40536d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20840 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 NNw;)OS2Y3x06TAa0Qdj^ diff --git a/executable_names/doc/html/mc_support.shtml b/executable_names/doc/html/mc_support.shtml deleted file mode 100644 index 0a18e61a60..0000000000 --- a/executable_names/doc/html/mc_support.shtml +++ /dev/null @@ -1,1050 +0,0 @@ - - -

    Support for Multi-core/Multi-thread Architectures

    - -Note: This document describes features added to SLURM version 1.2. - -

    Contents

    - - - - -

    Definitions

    - -

    Socket/Core/Thread - Figure 1 illustrates the notion of -Socket, Core and Thread as it is defined in SLURM's multi-core/multi-thread -support documentation.

    - -
    - -
    -Figure 1: Socket vs. Core vs. Multi-threading -
    - -
    -
    Affinity -
    The state of being bound to a specific logical processor. -
    Affinity Mask -
    A bitmask where indices correspond to logical processors. -The least significant bit corresponds to the first -logical processor number on the system, while the most -significant bit corresponds to the last logical processor -number on the system. -A '1' in a given position indicates a process can run -on the associated logical processor. -
    Fat Masks -
    Affinity masks with more than 1 bit set -allowing a process to run on more than one logical processor. -
    - - - -

    Overview of new srun flags

    - -

    Several new flags have been defined to allow users to -better take advantage of the new architecture by -explicitly specifying the number of sockets, cores, and threads required -by their application. Table 1 summarizes the new multi-core flags. - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -Low-level (explicit binding) -
    --cpu_bind=... Explicit process affinity binding and control options -
    -High-level (automatic mask generation) -
    --sockets-per-node=SNumber of sockets in a node to dedicate to a job (minimum or range) -
    --cores-per-cpu=C Number of cores in a CPU to dedicate to a job (minimum or range) -
    --threads-per-core=T Number of threads in a core -to dedicate to a job (minimum or range) -
    -B S[:C[:T]] Combined shorcut option for --sockets-per-node, --cores-per_cpu, --threads-per_core -
    -New Distributions -
    -m / --distribution Distributions of: block | cyclic | hostfile - | plane=x - | [block|cyclic]:[block|cyclic] -
    -New Constraints -
    --minsockets=MinS Nodes must meet this minimum number of sockets -
    --mincores=MinC Nodes must meet this minimum number of cores per socket -
    --minthreads=MinT Nodes must meet this minimum number of threads per core -
    -Memory as a consumable resource -
    --job-mem=mem maximum amount of real memory per node required by the job. -
    -Task invocation control -
    --ntasks-per-node=ntasks number of tasks to invoke on each node -
    --ntasks-per-socket=ntasks number of tasks to invoke on each socket -
    --ntasks-per-core=ntasks number of tasks to invoke on each core -
    -Application hints -
    --hint=compute_bound use all cores in each physical CPU -
    --hint=memory_bound use only one core in each physical CPU -
    --hint=[no]multithread [don't] use extra threads with in-core multi-threading -
    - -

    -

    -Table 1: New srun flags to support the multi-core/multi-threaded environment -
    - -

    It is important to note that many of these -flags are only meaningful if the processes' affinity is set. In order for -the affinity to be set, the task/affinity plugin must be first enabled in -slurm.conf: - -

    -        TaskPlugin=task/affinity          # enable task affinity   
    -
    - -

    See the "Task Launch" section if generating slurm.conf via -configurator.html. - - -

    Low-level --cpu_bind=... - Explicit binding interface

    - -

    The following srun flag provides a low-level core binding interface:

    - - -
    -    --cpu_bind=        Bind tasks to CPUs
    -        q[uiet]         quietly bind before task runs (default)
    -        v[erbose]       verbosely report binding before task runs
    -        no[ne]          don't bind tasks to CPUs (default)
    -        rank            bind by task rank
    -        map_cpu:<list>  specify a CPU ID binding for each task
    -                        where <list> is <cpuid1>,<cpuid2>,...<cpuidN>
    -        mask_cpu:<list> specify a CPU ID binding mask for each task
    -                        where <list> is <mask1>,<mask2>,...<maskN>
    -        sockets         auto-generated masks bind to sockets
    -        cores           auto-generated masks bind to cores
    -        threads         auto-generated masks bind to threads
    -        help            show this help message
    -
    - -

    The affinity can be either set to either a specific logical processor -(socket, core, threads) or at a coarser granularity than the lowest level -of logical processor (core or thread). -In the later case the processes are allowed to roam within a specific -socket or core. - -

    Examples:

    - -
      -
        -
      • srun -n 8 -N 4 --cpu_bind=mask_cpu:0x1,0x4 a.out -
      • srun -n 8 -N 4 --cpu_bind=mask_cpu:0x3,0xD a.out -
      -
    - -

    See also 'srun --cpu_bind=help' and 'man srun'

    - - -

    High-level -B S[:C[:T]] - Automatic mask generation interface

    - -

    We have updated the node -selection infrastructure with a mechanism that allows selection of logical -processors at a finer granularity. Users are able to request a specific number -of nodes, sockets,  cores, and threads:

    - -
    -    -B --extra-node-info=S[:C[:T]]            Expands to:
    -        --sockets-per-node=S      number of sockets per node to allocate
    -        --cores-per-socket=C      number of cores per socket to allocate
    -        --threads-per-core=T      number of threads per core to allocate
    -                               each field can be 'min[-max]' or wildcard '*'
    -
    -     Total cpus requested = (Nodes) x (S x C x T)
    -
    - -

    Examples: - -

      -
        -
      • srun -n 8 -N 4 -B 2:1 a.out -
      • srun -n 8 -N 4 -B 2 a.out -
        -note: compare the above with the previous corresponding --cpu_bind=... examples - -
      • srun -n 16 -N 4 a.out -
      • srun -n 16 -N 4 -B 2:2:1 a.out -
      • srun -n 16 -N 4 -B 2-2:2-2:1-1 a.out -
              or -
      • srun -n 16 -N 4 --sockets-per-node 2-2 --cores-per-socket 2-2 --threads-per-core 1-1 a.out -
      • srun -n 16 -N 2-4 -B '1-2:*:1' a.out -
      • srun -n 16 -N 4:2 -B '2:*:1-1' a.out -
      • srun -n 16 -N 4:4 -B '1-1:1-1' a.out -
      -
    - -

    Notes:

    -
      -
    • Adding --cpu_bind=no to the command line will cause the processes - to not be bound the logical processors. -
    • Adding --cpu_bind=verbose to the command line (or setting the - CPU_BIND environment variable to "verbose") will cause each task - to report the affinity mask in use -
    • Binding is on by default when -B is used. The default binding on - multi-core/multi-threaded systems is equivalent to the level of - resource enumerated in the -B option. -
    - -

    See also 'srun --help' and 'man srun'

    - - -

    New distributions: Extensions to -m / --distribution

    - -

    The -m / --distribution option for distributing processes across nodes -has been extended to also describe the distribution within the lowest level -of logical processors. -Available distributions include: -
    -block | cyclic | hostfile | plane=x | [block|cyclic]:[block|cyclic]) -

    - -

    The new plane distribution (plane=x) -results in a block cyclic distribution of blocksize equal to x. -In the following we use "lowest level of logical processors" -to describe sockets, cores or threads depending of the architecture. -The new distribution divides -the cluster into planes (including a number of the lowest level of logical -processors on each node) and then schedule first within each plane and then -across planes.

    - -

    For the two dimensional distributions ([block|cyclic]:[block|cyclic]), -the second distribution (after ":") allows users to specify a distribution -method for processes within a node and applies to the lowest level of logical -processors (sockets, core or thread depending on the architecture).

    - -

    The binding is enabled automatically when high level flags are used as long as the task/affinity plug-in -is enabled. To disable binding at the job level use --cpu_bind=no.

    - -

    The distribution flags can be combined with the other switches: - -

      -
        -
      • srun -n 16 -N 4 -B '2:*:1' -m block:cyclic --cpu_bind=socket a.out -
      • srun -n 16 -N 4 -B '2:*:1' -m plane=2 --cpu_bind=core a.out -
      • srun -n 16 -N 4 -B '2:*:1' -m plane=2 a.out -
      -
    - -

    The default distribution on multi-core/multi-threaded systems is equivalent -to -m block:cyclic with --cpu_bind=thread.

    - -

    See also 'srun --help'

    - - -

    New Constraints

    - -To compliment the existing SLURM job minimum constraints -(CPUs, memory, temp disk), -constraint flags have also been added to allow a user to -specify a minimum number of sockets, cores, or threads: - -
    -      --mincpus=n             minimum number of logical cpus per node
    -      --minsockets=n          minimum number of sockets per node
    -      --mincores=n            minimum number of cores per cpu
    -      --minthreads=n          minimum number of threads per core
    -      --mem=MB                minimum amount of real memory
    -      --tmp=MB                minimum amount of temporary disk
    -
    - -These constraints are separate from the -N or -B allocation minimums. -Using these constraints allows the user to exclude smaller nodes from -the allocation request. - -

    See also 'srun --help' and 'man srun'

    - - -

    Memory as a Consumable Resource

    - -The --job-mem flag specifies the maximum amount of memory in MB -needed by the job per node. This flag is used to support the memory -as a consumable resource allocation strategy. - -
    -      --job-mem=MB            maximum amount of real memory per node
    -                              required by the job.
    -                              --mem >= --job-mem if --mem is specified.
    -
    - -This flag allows the scheduler to co-allocate jobs on specific nodes -given that their added memory requirement do not exceed the amount -of memory on the nodes. - - -

    In order to use memory as a consumable resource, the select/cons_res -plugin must be first enabled in slurm.conf: -

    -        SelectType=select/cons_res        # enable consumable resources
    -        SelectTypeParameters=CR_Memory    # memory as a consumable resource
    -
    - -

    Using memory as a consumable resource can also be combined with -the CPU, Socket, or Core consumable resources via: -

    -        CR_CPU_Memory, CR_Socket_Memory, CR_Core_Memory
    -
    - -

    See the "Resource Selection" section if generating slurm.conf -via configurator.html. - -

    See also 'srun --help' and 'man srun'

    - - -

    Task invocation as a function of logical processors

    - -The --ntasks-per-{node,socket,core}=ntasks flags -allow the user to request that no more than ntasks -be invoked on each node, socket, or core. -This is similiar to using --cpus-per-task=ncpus -but does not require knowledge of the actual number of cpus on -each node. In some cases, it is more convenient to be able to -request that no more than a specific number of ntasks be invoked -on each node, socket, or core. Examples of this include submitting -a hybrid MPI/OpenMP app where only one MPI "task/rank" should be -assigned to each node while allowing the OpenMP portion to utilize -all of the parallelism present in the node, or submitting a single -setup/cleanup/monitoring job to each node of a pre-existing -allocation as one step in a larger job script. -This can now be specified via the following flags: - -
    -      --ntasks-per-node=n     number of tasks to invoke on each node
    -      --ntasks-per-socket=n   number of tasks to invoke on each socket
    -      --ntasks-per-core=n     number of tasks to invoke on each core
    -
    - -For example, given a cluster with nodes containing two sockets, -each containing two cores, the following commands illustrate the -behavior of these flags: -
    -        % srun -n 4 hostname
    -        hydra12
    -        hydra12
    -        hydra12
    -        hydra12
    -        % srun -n 4 --ntasks-per-node=1 hostname
    -        hydra12
    -        hydra14
    -        hydra15
    -        hydra13
    -        % srun -n 4 --ntasks-per-node=2 hostname
    -        hydra12
    -        hydra13
    -        hydra13
    -        hydra12
    -        % srun -n 4 --ntasks-per-socket=1 hostname
    -        hydra12
    -        hydra13
    -        hydra13
    -        hydra12
    -        % srun -n 4 --ntasks-per-core=1 hostname
    -        hydra12
    -        hydra12
    -        hydra12
    -        hydra12
    -
    - -

    See also 'srun --help' and 'man srun'

    - - -

    Application hints

    - -Different applications will have various levels of resource -requirements. Some applications tend to be computationally intensive -but require little to no inter-process communication. Some applications -will be memory bound, saturating the memory bandwidth of a processor -before exhausting the computational capabilities. Other applications -will be highly communication intensive causing processes to block -awaiting messages from other processes. Applications with these -different properties tend to run well on a multi-core system given -the right mappings. - -For computationally intensive applications, all cores in a multi-core -system would normally be used. For memory bound applications, only -using a single core on each CPU will result in the highest per -core memory bandwidth. For communication intensive applications, -using in-core multi-threading (e.g. hyperthreading, SMT, or TMT) -may also improve performance. -The following command line flags can be used to communicate these -types of application hints to the SLURM multi-core support: - -
    -    --hint=             Bind tasks according to application hints
    -        compute_bound   use all cores in each physical CPU
    -        memory_bound    use only one core in each physical CPU
    -        [no]multithread [don't] use extra threads with in-core multi-threading
    -        help            show this help message
    -
    - -For example, given a cluster with nodes containing two sockets, -each containing two cores, the following commands illustrate the -behavior of these flags: -
    -        % srun -n 4 --hint=compute_bound --cpu_bind=verbose sleep 1
    -        setting affinity of task 0 pid 15425 on host hydra12 to mask 0x1
    -        setting affinity of task 2 pid 15427 on host hydra12 to mask 0x2
    -        setting affinity of task 1 pid 15426 on host hydra12 to mask 0x4
    -        setting affinity of task 3 pid 15428 on host hydra12 to mask 0x8
    -
    -        % srun -n 4 --hint=memory_bound --cpu_bind=verbose sleep 1
    -        setting affinity of task 1 pid 15551 on host hydra12 to mask 0x4
    -        setting affinity of task 0 pid 15550 on host hydra12 to mask 0x1
    -        setting affinity of task 2 pid 14974 on host hydra13 to mask 0x1
    -        setting affinity of task 3 pid 14975 on host hydra13 to mask 0x4
    -
    - -

    See also 'srun --hint=help' and 'man srun'

    - - -

    Motivation behind high-level srun flags

    - -

    The motivation behind allowing users to use higher level srun -flags instead of --cpu_bind is that the later can be difficult to use. The -proposed high-level flags are easier to use than --cpu_bind because:

    - -
      -
    • Affinity mask generation happens automatically when using the high-level flags.
    • -
    • The length and complexity of the --cpu_bind flag vs. the length -of the combination of -B and --distribution flags make the high-level -flags much easier to use.
    • -
    - -

    Also as illustrated in the example below it is much simpler to specify -a different layout using the high-level flags since users do not have to -recalculate mask or CPU IDs. The new approach is very effortless compared to -rearranging the mask or map.

    - -

    Given a 32-process MPI job and a four dual-CPU dual-core node -cluster, we want to use a block distribution across the four nodes and then a -cyclic distribution within the node across the physical processors. We have had -several requests from users that they would like this distribution to be the -default distribution on multi-core clusters. Below we show how to obtain the -wanted layout using 1) the new high-level flags and 2) --cpubind

    - -

    High-Level flags

    - -

    Using SLURM's new high-level flag, users can obtain the above layout with:

    - -
    -
    -

    % mpirun -srun -n 32 -N 4 -B 4:2 --distribution=block:cyclic a.out

    -      or -

    % mpirun -srun -n 32 -N 4 -B 4:2 a.out

    -
    -
    - -

    (since --distribution=block:cyclic is the default distribution)

    - -

    The cores are shown as c0 and c1 and the processors are shown -as p0 through p3. The resulting task IDs are:

    - - - - - - - -
    - - - - - -
    c0c1
    p0 0 4
    p2 2 6
    -
    - - - - - - -
    c0c1
    p1 1 5
    p3 3 7
    -
    - -

    The computation and assignment of the task IDs is transparent -to the user. Users don't have to worry about the core numbering (Section -Pinning processes to cores) or any setting any CPU affinities. By default CPU affinity -will be set when using multi-core supporting flags.

    - -

    Low-level flag --cpu_bind

    - -

    Using SLURM's --cpu_bind flag, users must compute the CPU IDs or -masks as well as make sure they understand the core numbering on their -system. Another problem arises when core numbering is not the same on all -nodes. The --cpu_bind option only allows users to specify a single -mask for all the nodes. Using SLURM high-level flags remove this limitation -since SLURM will correctly generate the appropriate masks for each requested nodes.

    - -

    On a four dual-CPU dual-core node cluster with core block numbering

    - -

    The cores are shown as c0 and c1 and the processors are shown -as p0 through p3. The CPU IDs within a node in the block numbering are: -(this information is available from the /proc/cpuinfo file on the system)

    - - - - - - - -
    - - - - - -
    c0c1
    p0 0 1
    p2 4 5
    -
    - - - - - - -
    c0c1
    p1 2 3
    p3 6 7
    -
    - -

     resulting in the following mapping for processor/cores -and task IDs which users need to calculate:

    - -
    -mapping for processors/cores -
    - - - - - - -
    - - - - - -
    c0c1
    p0 0x01 0x02
    p2 0x10 0x20
    -
    - - - - - - -
    c0c1
    p1 0x04 0x08
    p3 0x40 0x80
    -
    - -

    -

    -task IDs -
    - - - - - - -
    - - - - - -
    c0c1
    p0 0 4
    p2 2 6
    -
    - - - - - - -
    c0c1
    p1 1 5
    p3 3 7
    -
    - -

    The above maps and task IDs can be translated into the -following mpirun command:

    - -
    -
    -

    % mpirun -srun -n 32 -N 4 --cpu_bind=mask_cpu:1,4,10,40,2,8,20,80 a.out

    -      or -

    % mpirun -srun -n 32 -N 4 --cpu_bind=map_cpu:0,2,4,6,1,3,5,7 a.out

    -
    -
    - -

    Same cluster but with its core numbered cyclic instead of block

    - -

    On a system with cyclically numbered cores, the correct mask -argument to the mpirun/srun command looks like: (this will -achieve the same layout as the command above on a system with core block -numbering.)

    - -
    -
    -

    % mpirun -srun -n 32 -N 4 --cpu_bind=map_cpu:0,1,2,3,4,5,6,7 a.out

    -
    -
    - -

    Block map_cpu on a system with cyclic core numbering

    - -

    If users do not check their system’s core numbering before specifying -the map_cpu list and thereby do not realize that the new system has cyclic core -numbering instead of block numbering then they will not get the expected -layout.. For example, if they decide to re-use their mpirun command from above:

    - -
    -
    -

    % mpirun -srun -n 32 -N 4 --cpu_bind=map_cpu:0,2,4,6,1,3,5,7 a.out

    -
    -
    - -

    they get the following unintentional task ID layout:

    - - - - - - - -
    - - - - - -
    c0c1
    p0 0 2
    p2 1 3
    -
    - - - - - - -
    c0c1
    p1 4 6
    p3 5 7
    -
    - -

    since the processor IDs within a node in the cyclic numbering are:

    - - - - - - - -
    - - - - - -
    c0c1
    p0 0 4
    p2 2 6
    -
    - - - - - - -
    c0c1
    p1 1 5
    p3 3 7
    -
    - -

    The important conclusion is that using the --cpu_bind flag is not -trivial and that it assumes that users are experts.

    - - - -

    Extensions to sinfo/squeue/scontrol

    - -Several extensions have also been made to the other SLURM utilities to -make working with multi-core/multi-threaded systems easier. - - -

    sinfo

    - -

    The long version (-l) of the sinfo node listing (-N) has been -extended to display the sockets, cores, and threads present for each -node. For example: - -

    -% sinfo -N
    -NODELIST     NODES PARTITION STATE 
    -hydra[12-15]     4    parts* idle  
    -
    -% sinfo -lN
    -Thu Sep 14 17:47:13 2006
    -NODELIST     NODES PARTITION       STATE CPUS    S:C:T MEMORY TMP_DISK WEIGHT FEATURES REASON
    -hydra[12-15]     4    parts*        idle   8+ 2+:4+:1+   2007    41447      1   (null) none
    -
    -% sinfo -lNe
    -Thu Sep 14 17:47:18 2006
    -NODELIST     NODES PARTITION       STATE CPUS    S:C:T MEMORY TMP_DISK WEIGHT FEATURES REASON
    -
    -hydra[12-14]     3    parts*        idle    8    2:4:1   2007    41447      1   (null) none
    -hydra15          1    parts*        idle   64    8:4:2   2007    41447      1   (null) none
    -
    - -For user specified output formats (-o/--format) and sorting (-S/--sort), -the following identifiers are available: - -
    -        %X  Number of sockets per node
    -        %Y  Number of cores per socket
    -        %Z  Number of threads per core
    -        %z  Extended processor information: number of
    -	    sockets, core, threads (S:C:T) per node
    -
    - -For example: - -
    -% sinfo -o '%9P %4c %8z %8X %8Y %8Z'
    -PARTITION CPUS S:C:T    SOCKETS  CORES    THREADS 
    -parts*    4    2:2:1    2        2        1       
    -
    - -

    See also 'sinfo --help' and 'man sinfo'

    - - -

    squeue

    - -For user specified output formats (-o/--format) and sorting (-S/--sort), -the following identifiers are available: - -
    -        %H  Minimum number of sockets per node requested by the job.
    -            This reports the value of the srun --minsockets option.
    -        %I  Minimum number of cores per socket requested by the job.
    -            This reports the value of the srun --mincores option.
    -        %J  Minimum number of threads per core requested by the job.
    -            This reports the value of the srun --minthreads option.
    -        %m  Minimum size of memory (in MB) requested by the job
    -        %X  Number of requested sockets per node
    -        %Y  Number of requested cores per socket
    -        %Z  Number of requested threads per core
    -        %z  Extended processor information: number of requested
    -	    sockets, cores, threads (S:C:T) per node
    -
    - -Below is an example squeue output after running 7 copies of: - -
      -
        -
        % srun -n 4 -B 2:2:1 - --minsockets=4 --mincores=2 --minthreads=1 --mem=1024 sleep 100 & -
      -
    - -
    -% squeue -o '%.5i %.2t %.4M %.5D %7X %7Y %7Z %7z %R'
    -JOBID ST TIME NODES SOCKETS CORES   THREADS S:C:T   NODELIST(REASON)
    -   17 PD 0:00     1 2       2       1       2:2:1   (Resources) 
    -   18 PD 0:00     1 2       2       1       2:2:1   (Resources) 
    -   19 PD 0:00     1 2       2       1       2:2:1   (Resources) 
    -   13  R 1:27     1 2       2       1       2:2:1   hydra12 
    -   14  R 1:26     1 2       2       1       2:2:1   hydra13 
    -   15  R 1:26     1 2       2       1       2:2:1   hydra14 
    -   16  R 1:26     1 2       2       1       2:2:1   hydra15 
    -
    -% squeue -o '%.5i %.2t %.4M %.5D %9c %11H %9I %11J'
    -JOBID ST TIME NODES MIN_PROCS MIN_SOCKETS MIN_CORES MIN_THREADS
    -   17 PD 0:00     1 1         4           2         1          
    -   18 PD 0:00     1 1         4           2         1          
    -   19 PD 0:00     1 1         4           2         1          
    -   13  R 1:29     1 0         0           0         0          
    -   14  R 1:28     1 0         0           0         0          
    -   15  R 1:28     1 0         0           0         0          
    -   16  R 1:28     1 0         0           0         0          
    -
    - -

    -The display of the minimum size of memory requested by the job has -been extended to also show the amount of memory requested by -the --job-mem flag. If --job-mem and --mem are set to the -same value, a single number is display for MIN_MEMORY. Otherwise -a range is reported: - -

    submit job 21: -

    -    % srun sleep 100 &
    -
    - -

    submit job 22: -

    -    % srun --job-mem=2048MB --mem=1024MB sleep 100 &
    -    srun: mem < job-mem - resizing mem to be equal to job-mem
    -
    - -

    submit job 23: -

    -    % srun --job-mem=2048MB --mem=10240MB sleep 100 &
    -
    - -
    -% squeue -o "%.5i %.2t %.4M %.5D %m"
    -JOBID ST TIME NODES MIN_MEMORY
    -   21 PD 0:00     1 0-1
    -   22 PD 0:00     1 2048
    -   23 PD 0:00     1 2048-10240
    -   17  R 1:12     1 0
    -   18  R 1:11     1 0
    -   19  R 1:11     1 0
    -   20  R 1:10     1 0
    -
    - -

    In the above examples, note that once a job starts running, the -MIN_* constraints are all reported as zero regardless of what -their initial values were (since they are meaningless once -the job starts running). - -

    See also 'squeue --help' and 'man squeue'

    - - -

    scontrol

    - -

    The following job settings can be adjusted using scontrol: - -

    -    Requested Allocation:
    -       ReqSockets=<count>   Set the job's count of required sockets
    -       ReqCores=<count>     Set the job's count of required cores
    -       ReqThreads=<count>   Set the job's count of required threads
    -
    -    Constraints:
    -       MinSockets=<count>   Set the job's minimum number of sockets per node
    -       MinCores=<count>     Set the job's minimum number of cores per socket
    -       MinThreads=<count>   Set the job's minimum number of threads per core
    -
    - -For example: - -
    -# scontrol update JobID=18 MinThreads=2
    -# scontrol update JobID=18 MinCores=4
    -# scontrol update JobID=18 MinSockets=8
    -
    -% squeue -o '%.5i %.2t %.4M %.5D %9c %11H %9I %11J'
    -JOBID ST TIME NODES MIN_PROCS MIN_SOCKETS MIN_CORES MIN_THREADS
    -   17 PD 0:00     1 1         4           2         1          
    -   18 PD 0:00     1 1         8           4         2          
    -   19 PD 0:00     1 1         4           2         1          
    -   13  R 1:35     1 0         0           0         0          
    -   14  R 1:34     1 0         0           0         0          
    -   15  R 1:34     1 0         0           0         0          
    -   16  R 1:34     1 0         0           0         0          
    -
    - -

    The 'scontrol show job' command can be used to display -the number of allocated CPUs per node as well as the socket, cores, -and threads specified in the request and contraints. - -

    -% srun -N 2 -B 2:1-1 sleep 100 &
    -% scontrol show job 20
    -JobId=20 UserId=(30352) GroupId=users(1051)
    -   Name=sleep
    -   Priority=4294901749 Partition=parts BatchFlag=0
    -   AllocNode:Sid=hydra16:3892 TimeLimit=UNLIMITED
    -   JobState=RUNNING StartTime=09/25-17:17:30 EndTime=NONE
    -   NodeList=hydra[12-14] NodeListIndices=0,2,-1
    -   AllocCPUs=1,2,1
    -   ReqProcs=4 ReqNodes=2 ReqS:C:T=2:1-1
    -   Shared=0 Contiguous=0 CPUs/task=0
    -   MinProcs=0 MinSockets=0 MinCores=0 MinThreads=0
    -   MinMemory=0 MinTmpDisk=0 Features=(null)
    -   Dependency=0 Account=(null) Reason=None Network=(null)
    -   ReqNodeList=(null) ReqNodeListIndices=-1
    -   ExcNodeList=(null) ExcNodeListIndices=-1
    -   SubmitTime=09/25-17:17:30 SuspendTime=None PreSusTime=0
    -
    - -

    See also 'scontrol --help' and 'man scontrol'

    - - - -

    Configuration settings in slurm.conf

    - -

    Several slurm.conf settings are available to control the multi-core -features described above. - -

    In addition to the description below, also see the "Task Launch" and -"Resource Selection" sections if generating slurm.conf -via configurator.html. - -

    As previously mentioned, in order for the affinity to be set, the -task/affinity plugin must be first enabled in slurm.conf: - -

    -        TaskPlugin=task/affinity          # enable task affinity   
    -
    - -This setting is part of the task launch specific parameters: - -
    -# o Define task launch specific parameters
    -#
    -#    "TaskProlog" : Define a program to be executed as the user before each 
    -#                   task begins execution.
    -#    "TaskEpilog" : Define a program to be executed as the user after each 
    -#                   task terminates.
    -#    "TaskPlugin" : Define a task launch plugin. This may be used to 
    -#                   provide resource management within a node (e.g. pinning
    -#                   tasks to specific processors). Permissible values are:
    -#      "task/none"     : no task launch actions, the default.
    -#      "task/affinity" : CPU affinity support
    -#
    -# Example:
    -#
    -# TaskProlog=/usr/local/slurm/etc/task_prolog # default is none
    -# TaskEpilog=/usr/local/slurm/etc/task_epilog # default is none
    -# TaskPlugin=task/affinity                    # default is task/none
    -
    - -

    SLURM will automatically detect the architecture of the nodes used -by examining /proc/cpuinfo. If, for some reason, the administrator -wishes to override the automatically selected architecture, the -NodeName parameter can be used in combination with FastSchedule: - -

    -        FastSchedule=1
    -        NodeName=dualcore[01-16] Procs=4 CoresPerSocket=2 ThreadsPerCore=1
    -
    - -

    Below is a more complete description of the configuration possible -using NodeName: - -

    -#
    -#  o Node configuration
    -#
    -#    The configuration information of nodes (or machines) to be managed 
    -#    by SLURM is described here. The only required value in this section
    -#    of the config file is the "NodeName" field, which specifies the 
    -#    hostnames of the node or nodes to manage. It is recommended, however,
    -#    that baseline values for the node configuration be established
    -#    using the following parameters (see slurm.config(5) for more info): 
    -#
    -#     "NodeName"   : The only required node configuration parameter, NodeName
    -#                    specifies a node or set of nodes to be managed by SLURM.
    -#                    The special NodeName of "DEFAULT" may be used to establish
    -#                    default node configuration parameters for subsequent node
    -#                    records. Typically this would be the string that 
    -#                    `/bin/hostname -s` would return on the node. However 
    -#                    NodeName may be an arbitrary string if NodeHostname is 
    -#                    used (see below).
    -#
    -#     "Feature"    : comma separated list of "features" for the given node(s) 
    -#
    -#     "NodeAddr"   : preferred address for contacting the node. This may be 
    -#                    either a name or IP address.
    -#
    -#     "NodeHostname"
    -#                  : the string that `/bin/hostname -s` would return on the
    -#                    node.  In other words, NodeName may be the name other than
    -#                    the real hostname.
    -#
    -#     "RealMemory" : Amount of real memory (in Megabytes)
    -#
    -#     "Procs"      : Number of logical processors on the node.
    -#                    If Procs is omitted, it will be inferred from:
    -#                           Sockets, CoresPerSocket, and ThreadsPerCore.
    -#
    -#     "Sockets"    : Number of physical processor sockets/chips on the node.
    -#                    If Sockets is omitted, it will be inferred from:
    -#                           Procs, CoresPerSocket, and ThreadsPerCore.
    -#
    -#     "CoresPerSocket"
    -#                  : Number of cores in a single physical processor socket
    -#                    The CoresPerSocket value describes physical cores, not
    -#                    the logical number of processors per socket.
    -#                    The default value is 1.
    -#
    -#     "ThreadsPerCore"
    -#                  : Number of logical threads in a single physical core.
    -#                    The default value is 1.
    -#
    -#     "State"      : Initial state (IDLE, DOWN, etc.)
    -#
    -#     "TmpDisk"    : Temporary disk space available on node
    -#
    -#     "Weight"     : Priority of node for scheduling purposes
    -#
    -#   If any of the above values are set for a node or group of nodes, and
    -#   that node checks in to the slurm controller with less than the 
    -#   configured resources, the node's state will be set to DOWN, in order
    -#   to avoid scheduling any jobs on a possibly misconfigured machine.
    -#
    -# Example Node configuration:
    -#
    -# NodeName=DEFAULT Procs=2 TmpDisk=64000 State=UNKNOWN
    -# NodeName=host[0-25] NodeAddr=ehost[0-25] Weight=16
    -# NodeName=host26     NodeAddr=ehost26     Weight=32 Feature=graphics_card
    -# NodeName=dualcore01  Procs=4 CoresPerSocket=2 ThreadsPerCore=1
    -# NodeName=dualcore02  Procs=4 Sockets=2 CoresPerSocket=2 ThreadsPerCore=1
    -# NodeName=multicore03 Procs=64 Sockets=8 CoresPerSocket=4 ThreadsPerCore=2
    -
    - - -

    Last modified 9 October 2006

    - - - diff --git a/executable_names/doc/html/moab.shtml b/executable_names/doc/html/moab.shtml deleted file mode 100644 index fd01b64d3c..0000000000 --- a/executable_names/doc/html/moab.shtml +++ /dev/null @@ -1,116 +0,0 @@ - - -

    Moab Cluster Suite Integration Guide

    -

    Overview

    -

    Moab Cluster Suite configuration is quite complicated and is -beyond the scope of any documents we could supply with SLURM. -The best resource for Moab configuration information is the -online documents at Cluster Resources Inc.: - -http://www.clusterresources.com/products/mwm/docs/slurmintegration.shtml. - -

    Configuration

    -

    First, download the Moab scheduler kit from their web site - -http://www.clusterresources.com/pages/products/moab-cluster-suite.php. -Note: Moab version 4.5.0 or higher and SLURM version 1.1.10 or higher.

    - -

    SLURM configuration

    -

    Set the slurm.conf scheduler parameters as follows: -

    -SchedulerType=sched/wiki2   (NOTE: "sched/wiki" in slurm version 1.2)
    -SchedulerPort=7321
    -
    -Running multiple jobs per mode can be accomplished using the -Shared=yes parameter on partitions. -The SelectType=select/cons_res parameter is not compatable -with the sched/wiki plugin (both would try to schedule the -individual processors within a node).

    - -

    SLURM's wiki configuration is stored in a file -specific to the wiki-plugin named wiki.conf. -This file should be protected from reading by users. -It only needs to be readable by SlurmUser (as configured -in slurm.conf) and only needs to exist on computers -where the slurmctld daemon executes. -More information about wiki.conf is available in -a man page distributed with SLURM.

    - -

    The currently supported wiki.conf keywords include:

    - -

    AuthKey is a DES based encryption key used to sign -communctions between SLURM and Maui or Moab. -This use of this key is essential to insure that a user -not build his own program to cancel other user's jobs in -SLURM. -This should be a numeric value and match the the -encryption key in Maui (--with-key on the -configure line) or Moab (KEY parameter in the -moab-private.cfg file). -Note that SLURM's wiki plugin does not include a mechanism -to submit new jobs, so even without this key nobody could -run jobs as another user.

    - -

    EPort is an event notification port in Moab. -When a job is submitted to or terminates in SLURM, -Moab is sent a message on this port to begin an attempt -to schedule the computer. -This numeric value should match EPORT configured -in the moab.cnf file.

    - -

    JobAggregationTime is used to avoid notifying Moab -of large numbers of events occuring about the same time. -If an event occurs within this number of seconds since Moab was -last notified of an event, another notification is not sent. -This should be an integer number of seconds. -The default value is 10 seconds. -The value should match JOBAGGREGATIONTIME configured -in the moab.cnf file.

    - -

    JobPriority controls the scheduling of newly arriving -jobs in SLURM. -SLURM can either place all newly arriving jobs in a HELD state -(priority = 0) and let Moab decide when and where to run the jobs -or SLURM can control when and where to run jobs. -In the later case, Moab can modify the priorities of pending jobs -to re-order the job queue or just monitor system state. -Possible values are "hold" and "run" with "hold" being the default.

    - -

    Here is a sample wiki.conf file -

    -# wiki.conf
    -# SLURM's wiki plugin configuration file
    -#
    -# Matches KEY in moab-private.cfg
    -AuthKey=1234
    -#
    -# Have Moab control job scheduling
    -JobPriority=hold
    -#
    -# Moab event notification port, matches EPORT in moab.cfg
    -EPort=15017
    -#
    -# Moab event notifcation throttle, matches JOBAGGREGATIONTIME
    -# in moab.cfg (integer value in seconds)
    -JobAggregationTime=15
    -
    -

    - -

    Moab Configuration

    - -

    Moab has support for SLURM's WIKI interface by default. -Specify this interface in the moab.cfg file as follows:

    -
    -RMCFG[slurm]         TYPE=wiki:slurm AUTHTYPE=CHECKSUM
    -
    -

    In moab-private.cfg specify the private key as follows:

    -
    -KEY=1234
    -
    -

    Insure that this file is protected from viewing by users.

    - - - -

    Last modified 29 September 2006

    - - diff --git a/executable_names/doc/html/mpiplugins.shtml b/executable_names/doc/html/mpiplugins.shtml deleted file mode 100644 index bffb028a7c..0000000000 --- a/executable_names/doc/html/mpiplugins.shtml +++ /dev/null @@ -1,109 +0,0 @@ - - -

    SLURM MPI Plugin API

    - -

    Overview

    -

    This document describes SLURM MPI selection plugins and the API that defines -them. It is intended as a resource to programmers wishing to write their own SLURM -node selection plugins. This is version 0 of the API.

    - -

    SLURM mpi selection plugins are SLURM plugins that implement the which version of -mpi is used during execution of the new SLURM job. API described herein. They are -intended to provide a mechanism for both selecting mpi versions for pending jobs and -performing any mpi-specific tasks for job launch or termination. The plugins must -conform to the SLURM Plugin API with the following specifications:

    -

    const char plugin_type[]
    -The major type must be "mpi." The minor type can be any recognizable -abbreviation for the type of node selection algorithm. We recommend, for example:

    -
      -
    • lam—For use with LAM MPI and Open MPI.
    • -
    • mpich-gm—For use with Myrinet.
    • -
    • mvapich—For use with Infiniband.
    • -
    • none—For use with most other versions of MPI.
    • -
    -

    The plugin_name and -plugin_version -symbols required by the SLURM Plugin API require no specialization for node selection support. -Note carefully, however, the versioning discussion below.

    - -

    A simplified flow of logic follows: -
    -srun is able to specify the correct mpi to use. with --mpi=MPITYPE -
    -srun calls -
    -mpi_p_thr_create((srun_job_t *)job); -
    -which will set up the correct enviornment for the specified mpi. -
    -slurmd daemon runs -
    -mpi_p_init((slurmd_job_t *)job, (int)rank); -
    -which will set configure the slurmd to use the correct mpi as well to interact with the srun. -
    - -

    - -

    Data Objects

    -

    These functions are expected to read and/or modify data structures directly in -the slurmd daemon's and srun memory. Slurmd is a multi-threaded program with independent -read and write locks on each data structure type. Thererfore the type of operations -permitted on various data structures is identified for each function.

    - - - -

    API Functions

    -

    The following functions must appear. Functions which are not implemented should -be stubbed.

    - -

    int mpi_p_init (slurmd_job_t *job, int rank);

    -

    Description: Used by slurmd to configure the slurmd's environment -to that of the correct mpi.

    -

    Arguments:
    job  -  (input) Pointer to the slurmd_job that is running. Cannot be NULL.
    - rank  -  (input) Primarially there for MVAPICH. Used to send the rank fo the mpirun job. -This can be 0 if no rank information is needed for the mpi type.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR.

    - -

    int mpi_p_thr_create (srun_job_t *job);

    -

    Description: Used by srun to spawn the thread for the mpi processes. -Most all the real proccessing happens here.

    -

    Arguments: job  -  (input) Pointer to the srun_job that is running. Cannot be NULL.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return -1.

    - -

    int mpi_p_single_task ();

    -

    Description: Tells the system whether or not multiple tasks -can run at the same time

    -

    Arguments: - none

    -

    Returns: false if multiple tasks can run and true if only -a single task can run at one time.

    - -

    int mpi_p_exit();

    -

    Description: Cleans up anything that needs cleaning up after -execution.

    -

    Arguments: - none

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR, causing slurmctld to exit.

    - - - -

    Versioning

    -

    This document describes version 0 of the SLURM node selection API. Future -releases of SLURM may revise this API. A node selection plugin conveys its ability -to implement a particular API version using the mechanism outlined for SLURM plugins. -In addition, the credential is transmitted along with the version number of the -plugin that transmitted it. It is at the discretion of the plugin author whether -to maintain data format compatibility across different versions of the plugin.

    - - - -

    Last modified 11 April 2006

    - - diff --git a/executable_names/doc/html/news.shtml b/executable_names/doc/html/news.shtml deleted file mode 100644 index 3535859815..0000000000 --- a/executable_names/doc/html/news.shtml +++ /dev/null @@ -1,105 +0,0 @@ - - -

    What's New

    - -

    Index

    - - -

    Major Updates in SLURM Version 0.6

    -

    SLURM Version 0.6 became available in September 2005. -Major enhancements include: -

      -
    • Support for Infiniband
    • -
    • Support for configurable resource limit propagation.
    • -
    • MPI support moved into plugin (substantive configuration changes required for MPICH-GM).
    • -
    • Srun options can be specified in job script (#SLURM ...)
    • -
    • Names (not just numbers) for job step identification.
    • -
    - -

    Major Updates in SLURM Version 1.0

    -

    SLURM Version 1.0 became available in January 2006. -Major enhancements include: -

      -
    • I/O streams for all tasks on a node are transmitted through a single -socket instead of distinct sockets for each task. This improves performance -and scalability.
    • -
    • Task affinity for binding tasks to CPUs.
    • -
    • Nodes can be in multiple partitions, providing more flexibility in -managing the SLURM partitions as queues.
    • -
    • Support for task communication/synchronization primitives (PMI) -as required by MPICH2.
    • -
    • E-mail notification option on job state changes.
    • -
    • Better control over task distribution (hostfile support).
    • -
    • User control of job prioritization via nice option.
    • -
    • Web-based configuration tool.
    • -
    • Support to preempt/resume jobs.
    • -
    • Support for deferred job initiation time specification.
    • -
    • Compute node job shepherd now exec'ed program, slurmstepd. -This eliminates use of SysV shared memory and some problems -in support of the Native Posix Thread Library.
    • -
    • Several bug fixes in interface with Maui Scheduler.
    • -
    • For Blue Gene systems: support for small bglblocks.
    • -
    - -

    Major Updates in SLURM Version 1.1

    -

    SLURM Version 1.1 became available in May 2006. -Major enhancements include: -

      -
    • Communications enhancements, validated up to 16,384 node clusters.
    • -
    • File broadcast support (new sbcast command).
    • -
    • Support for distinct executables and arguments by task ID -(see srun --multi-prog option).
    • -
    • Support for binding tasks to the memory on a processor.
    • -
    • The configuration parameter HeartbeatInterval is defunct. -Half the values of configuration parameters SlurmdTimeout and -SlurmctldTimeout are used as the commununication frequency for -the slurmctld and slurmd daemons respecitively.
    • -
    • Support for PAM to control resource limits by user on each -compute node used. See UsePAM configuration parameter.
    • -
    • Support added for xcpu job launch.
    • -
    • Add support for 1/16 midplane BlueGene blocks.
    • -
    • Add support for overlapping BlueGene blocks.
    • -
    • Add support for dynamic BlueGene block creation on demand.
    • -
    • BlueGene node count specifications are now c-node counts -rather than base partition counts.
    • -
    - -

    Major Updates in SLURM Version 1.2

    -

    We expect to make SLURM Version 1.2 available late in 2006. -Major enhancements include: -

      -
    • More complete support for resource management down to the core level -on a node.
    • -
    • Treat memory as a consumable resource on a compute node.
    • -
    • New graphical user interface provided, sview.
    • -
    • Added support for OS X.
    • -
    • Permit batch jobs to be requeued.
    • -
    • Expanded support of Moab and Maui schedulers.
    • -
    • Srun command augmented by new commands for each operation: -salloc, slaunch, sbatch, and sattach.
    • -
    • Sched/wiki plugin (for Moab and Maui Schedulers) rewritten to -provide vastly improved integration.
    • -
    - -

    Major Updates in SLURM Version 1.3 and beyond

    -

    Detailed plans for release dates and contents of future SLURM releases have -not been finalized. Anyone desiring to perform SLURM development should notify -slurm-dev@lists.llnl.gov -to coordinate activies. Future development plans includes: -

      -
    • Gang scheduling of jobs (without external scheduler).
    • -
    • Permit resource allocations (jobs) to change size.
    • -
    • Add Kerberos credential support including credential forwarding -and refresh.
    • -
    - - -

    Last modified 13 October 2006

    - - diff --git a/executable_names/doc/html/overview.shtml b/executable_names/doc/html/overview.shtml deleted file mode 100644 index 575d264e3e..0000000000 --- a/executable_names/doc/html/overview.shtml +++ /dev/null @@ -1,153 +0,0 @@ - - -

    Overview

    -

    The Simple Linux Utility for Resource Management (SLURM) is an open source, -fault-tolerant, and highly scalable cluster management and job scheduling system -for large and small Linux clusters. SLURM requires no kernel modifications for -its operation and is relatively self-contained. As a cluster resource manager, -SLURM has three key functions. First, it allocates exclusive and/or non-exclusive -access to resources (compute nodes) to users for some duration of time so they -can perform work. Second, it provides a framework for starting, executing, and -monitoring work (normally a parallel job) on the set of allocated nodes. Finally, -it arbitrates conflicting requests for resources by managing a queue of pending -work.

    - -

    SLURM has been developed through the collaborative efforts of -Lawrence Livermore National Laboratory (LLNL), -Hewlett-Packard, and -Linux NetworX. -HP distributes and supports SLURM as a component in their XC System Software.

    - -

    Architecture

    -

    SLURM has a centralized manager, slurmctld, to monitor resources and -work. There may also be a backup manager to assume those responsibilities in the -event of failure. Each compute server (node) has a slurmd daemon, which -can be compared to a remote shell: it waits for work, executes that work, returns -status, and waits for more work. -The slurmd daemons provide fault-tolerant hierarchical communciations. -User tools include srun to initiate jobs, -scancel to terminate queued or running jobs, sinfo to report system -status, and squeue to report the status of jobs. -The smap and sview commands graphically reports system and -job status including network topology. There is also an administrative -tool scontrol available to monitor and/or modify configuration and state -information. APIs are available for all functions.

    - -
    -
    - Figure 1. SLURM components -
    - -

    SLURM has a general-purpose plugin mechanism available to easily support various -infrastructures. This permits a wide variety of SLURM configurations using a -building block approach. These plugins presently include: -

    - -

    The entities managed by these SLURM daemons, shown in Figure 2, include nodes, -the compute resource in SLURM, partitions, which group nodes into logical -sets, jobs, or allocations of resources assigned to a user for -a specified amount of time, and job steps, which are sets of (possibly -parallel) tasks within a job. -The partitions can be considered job queues, each of which has an assortment of -constraints such as job size limit, job time limit, users permitted to use it, etc. -Priority-ordered jobs are allocated nodes within a partition until the resources -(nodes, processors, memory, etc.) within that partition are exhausted. Once -a job is assigned a set of nodes, the user is able to initiate parallel work in -the form of job steps in any configuration within the allocation. For instance, -a single job step may be started that utilizes all nodes allocated to the job, -or several job steps may independently use a portion of the allocation.

    - -
    -
    - Figure 2. SLURM entities -
    - - - -

    Configurability

    -

    Node state monitored include: count of processors, size of real memory, size -of temporary disk space, and state (UP, DOWN, etc.). Additional node information -includes weight (preference in being allocated work) and features (arbitrary information -such as processor speed or type). Nodes are grouped into disjoint partitions. -Partition information includes: name, list of associated nodes, state (UP or DOWN), -maximum job time limit, maximum node count per job, group access list, and shared -node access (YES, NO or FORCE). Bit maps are used to represent nodes and scheduling -decisions can be made by performing a small number of comparisons and a series -of fast bit map manipulations. A sample (partial) SLURM configuration file follows.

    -
    -# 
    -# Sample /etc/slurm.conf
    -#
    -ControlMachine=linux0001
    -BackupController=linux0002
    -#
    -AuthType=auth/munge
    -Epilog=/usr/local/slurm/sbin/epilog
    -PluginDir=/usr/local/slurm/lib
    -Prolog=/usr/local/slurm/sbin/prolog
    -SlurmctldPort=7002
    -SlurmctldTimeout=120
    -SlurmdPort=7003
    -SlurmdSpoolDir=/var/tmp/slurmd.spool
    -SlurmdTimeout=120
    -StateSaveLocation=/usr/local/slurm/slurm.state
    -SwitchType=switch/elan
    -TmpFS=/tmp
    -#
    -# Node Configurations
    -#
    -NodeName=DEFAULT TmpDisk=16384 State=IDLE
    -NodeName=lx[0001-0002] State=DRAINED
    -NodeName=lx[0003-8000] Procs=16 RealMemory=2048 Weight=16
    -NodeName=lx[8001-9999] Procs=32 RealMemory=4096 Weight=40 Feature=1200MHz
    -#
    -# Partition Configurations
    -#
    -PartitionName=DEFAULT MaxTime=30 MaxNodes=2
    -PartitionName=login Nodes=lx[0001-0002] State=DOWN
    -PartitionName=debug Nodes=lx[0003-0030] State=UP    Default=YES
    -PartitionName=class Nodes=lx[0031-0040] AllowGroups=students
    -PartitionName=batch Nodes=lx[0041-9999] MaxTime=UNLIMITED MaxNodes=4096
    -
    - -

    Last modified 29 September 2006

    - - diff --git a/executable_names/doc/html/plane_ex1.gif b/executable_names/doc/html/plane_ex1.gif deleted file mode 100755 index fbf93c340edd6ae3fec6170b0cc6eea4fc33af64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2539 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 BmR|q> diff --git a/executable_names/doc/html/plane_ex2.gif b/executable_names/doc/html/plane_ex2.gif deleted file mode 100755 index 892ee3789bc66ffa1a5232e52b6d241ed78c457f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4041 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 diff --git a/executable_names/doc/html/plane_ex5.gif b/executable_names/doc/html/plane_ex5.gif deleted file mode 100755 index 5c466a8e85fa260b5f27eb5fed6ecb40eb0a99dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8653 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 diff --git a/executable_names/doc/html/plane_ex6.gif b/executable_names/doc/html/plane_ex6.gif deleted file mode 100755 index 6e6a19a2b5636494194f00d3cffc5ec09db3040a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12951 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
    4tA=Go9+> zK`Y)Y!h1sm9FX@TTBPy|<{w+iz6aOjDfvPT`1U)E1DQD1xGPI!%eJDg1x6p`E Ul%Nx>C`S8v(Ts9bh!Fq)JFqtfi2wiq diff --git a/executable_names/doc/html/platforms.shtml b/executable_names/doc/html/platforms.shtml deleted file mode 100644 index b700b458ce..0000000000 --- a/executable_names/doc/html/platforms.shtml +++ /dev/null @@ -1,29 +0,0 @@ - - -

    Platforms

    -

    Operating Systems

    -
      -
    • AIX—SLURM support for AIX has been thoroughly tested.
    • -
    • Blue Gene—SLURM support for IBM's Blue Gene system has been -thoroughly tested.
    • -
    • Linux—SLURM has been thoroughly tested on Red Hat Linux using -i386, ia64, and x86_64 architectures.
    • -
    • OS X—SLURM support for OS X is available in version 1.2.
    • -
    • Other—SLURM ports to other systems will be gratefully accepted.
    • -
    -

    Interconnects

    -
      -
    • Ethernet—Ethernet requires no special support from SLURM and has -been thoroughly tested.
    • -
    • IBM Federation—SLURM support for IBM's Federation Switch -has been thoroughly tested.
    • -
    • Infiniband—Infiniband support has been thoroughly tested.
    • -
    • Myrinet—Myrinet and MPICH-GM are support.
    • -
    • Quadrics Elan—SLURM support for Quadrics Elan 3 and Elan 4 switches -are available in all versions of SLURM and have been thoroughly tested.
    • -
    • Other—SLURM ports to other systems will be gratefully accepted.
    • -
    - -

    Last modified 29 September 2006

    - - diff --git a/executable_names/doc/html/plugins.shtml b/executable_names/doc/html/plugins.shtml deleted file mode 100644 index 7e0c45c5f3..0000000000 --- a/executable_names/doc/html/plugins.shtml +++ /dev/null @@ -1,113 +0,0 @@ - - -

    SLURM Plugin API

    -

    Overview

    -

    A SLURM plugin is a dynamically linked code object which is loaded explicitly -at run time by the SLURM libraries. A plugin provides a customized implementation -of a well-defined API connected to tasks such as authentication, interconnect -fabric, and task scheduling.

    -

    Identification

    -

    A SLURM plugin identifies itself by a short character string formatted similarly -to a MIME type: <major>/<minor>. The major type identifies -which API the plugin implements. The minor type uniquely distinguishes a plugin -from other plugins that implement that same API, by such means as the intended -platform or the internal algorithm. For example, a plugin to interface to the -Maui scheduler would give its type as "sched/maui." It would implement -the SLURM Scheduler API.

    -

    Versioning

    -

    SLURM plugin version numbers comprise a major and minor revision number. As -SLURM evolves, changes to the individual plugin APIs may be necessary to implement -new features. The major number identifies the version of the applicable API that -the plugin implements. Incrementing the major version number denotes that the -API has changed significantly and possibly incompatibly over prior versions.

    -

    Because plugins are separate code objects and perhaps under the control of -third parties, version skew may occur in a SLURM installation. SLURM may support -multiple versions of each API in a backward-compatible fashion to provide time -for plugin authors to update their plugins. Conversely, the plugin may support -multiple versions of the API in order to be transparently portable across different -SLURM installations. The version of the API spoken in an installation will be -the highest-numbered version which is common to both SLURM and the plugin. Each -SLURM release will document which API versions it supports. From time to time -ancient API versions will be deprecated.

    -

    The minor version number is incremented at the discretion of the plugin author -and denotes revisions or upgrades particular to that implementation. If two or -more plugins of the same type are provided in an installation, the plugin with -the highest minor revision will be selected.

    - -

    Data Objects

    -

    A plugin must define and export the following symbols:

    -
      -
    • char plugin_type[]
      -
      a unique, short, formatted string to identify the plugin's purpose as -described above. A "null" plugin (i.e., one that implements the desired -API as stubs) should have a minor type of "none."
    • -
    • char plugin_name[]
      -
      a free-form string that identifies the plugin in human-readable terms, -such as "Kerberos authentication." SLURM will use this string to identify -the plugin to end users.
    • -
    • const uint32_t plugin_version
      -a 32-bit unsigned integer giving the version of the plugin as described above. -The major revision number is multiplied by 1,000 and added to the minor revision -number to produce the integer value. Thus, a plugin with a major revision number -of 2 and a minor revision number of 35 will have a plugin_version -value of 2035.
    • -
    -

    A plugin may optionally define and export the following symbols:

    -
      -
    • const uint32_t plugin_legacy
      -a 32-bit unsigned integer formatted the same as plugin_version -giving the lowest API version number with which this plugin is compatible. If -this symbol is omitted, its value is assumed to be equivalent to the plugin_version -rounded to the next lowest 1,000. Only the major version number of this symbol -is significant.
    • -
    - -

    API Functions

    -

    int init (void);

    -

    Description: If present, this function is called -just after the plugin is loaded. This allows the plugin to perform any global -initialization prior to any actual API calls.

    -

    Arguments: None.

    -

    Returns: SLURM_SUCCESS if the plugin's initialization -was successful. Any other return value indicates to SLURM that the plugin should -be unloaded and not used.

    -

    void fini (void);

    -

    Description: If present, this function is called -just before the plugin is unloaded. This allows the plugin to do any finalization -after the last plugin-specific API call is made.

    -

    Arguments: None.

    -

    Returns: None.

    -

    Note: These functions are not the same as those described in the dlopen -(3) system library. The C run-time system co-opts those symbols for its -own initialization. The system init() is called -before the SLURM plugininit(), and the SLURM -fini() is called before the system's fini().

    -

    The functions need not appear. The plugin may provide either init() -or fini() or both.

    - -

    Thread Safety

    -

    SLURM is a multithreaded application. The SLURM plugin library may exercise -the plugin functions in a re-entrant fashion. It is the responsibility of the -plugin author to provide the necessarily mutual exclusion and synchronization -in order to avoid the pitfalls of re-entrant code.

    -

    Run-time Support

    -

    The standard system libraries are available to the plugin. The SLURM libraries -are also available and plugin authors are encouraged to make use of them rather -than develop their own substitutes. Plugins should use the SLURM log to print -error messages.

    -

    The plugin author is responsible for specifying any specific non-standard libraries -needed for correct operation. Plugins will not load if their dependent libraries -are not available, so it is the installer's job to make sure the specified libraries -are available.

    -

    Performance

    -

    All plugin functions are expected to execute very quickly. If any function -entails delays (e.g. transations with other systems), it should be written to -utilize a thread for that functionality. This thread may be created by the -init() function and deleted by the -fini() functions. See plugins/sched/backfill -for an example of how to do this.

    - - -

    Last modified 9 July 2004

    - - diff --git a/executable_names/doc/html/proctrack_plugins.shtml b/executable_names/doc/html/proctrack_plugins.shtml deleted file mode 100644 index 260a338042..0000000000 --- a/executable_names/doc/html/proctrack_plugins.shtml +++ /dev/null @@ -1,145 +0,0 @@ - - -

    SLURM Process Tracking Plugin API

    - -

    Overview

    -

    This document describes SLURM process tracking plugins and the API -that defines them. -It is intended as a resource to programmers wishing to write their -own SLURM process tracking plugins. -This is version 0 of the API.

    - -

    SLURM process tracking plugins are SLURM plugins that implement -the SLURM process tracking API described herein. -They must conform to the SLURM Plugin API with the following -specifications:

    - -

    const char plugin_type[]
    -The major type must be "proctrack." -The minor type can be any recognizable abbreviation for the type -of proctrack. We recommend, for example:

    -
      -
    • aix—Perform process tracking on an AIX platform. -NOTE: This requires a kernel extension that records -ever process creation and termination.
    • -
    • linuxproc—Perform process tracking based upon a scan -of the Linux process table and use the parent process ID to determine -what processes are members of a SLURM job. NOTE: This mechanism is -not entirely reliable for process tracking.
    • -
    • pgid—Use process group ID to determine -what processes are members of a SLURM job. NOTE: This mechanism is -not entirely reliable for process tracking.
    • -
    • rms—Use a Quadrics RMS kernel patch to -establish what processes are members of a SLURM job. -NOTE: This requires a kernel patch that records -every process creation and termination.
    • -
    • sgj_job—Use -SGI's Process Aggregates (PAGG) kernel module. -NOTE: This kernel module records every process creation -and termination.
    • -
    - -

    The plugin_name and -plugin_version symbols required -by the SLURM Plugin API require no specialization for process tracking. -Note carefully, however, the versioning discussion below.

    - -

    The programmer is urged to study -src/plugins/proctrack/pgid/proctrack_pgid.c -for an example implementation of a SLURM proctrack plugin.

    - - -

    Data Objects

    -

    The implementation must support a container id of type uint32_t. -This container ID is maintained by the plugin directly in the slurmd -job structure using the field named cont_id.

    - -

    The implementation must maintain (though not necessarily directly export) an -enumerated errno to allow SLURM to discover as practically as possible -the reason for any failed API call. -These values must not be used as return values in integer-valued functions -in the API. -The proper error return value from integer-valued functions is SLURM_ERROR. -The implementation should endeavor to provide useful and pertinent information -by whatever means is practical. -Successful API calls are not required to reset errno to a known value.

    - - - -

    API Functions

    -

    The following functions must appear. Functions which are not implemented should -be stubbed.

    - -

    int slurm_container_create (slurmd_job_t *job);

    -

    Description: Create a container. -The container should be valid -slurm_container_destroy() is called. -This function must put the container ID directoy in the job structure's -variable cont_id.

    -

    Argument: - job    (input/output) -Pointer to a slurmd job structure.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int slurm_container_add (slurmd_job_t *job, pid_t pid);

    -

    Description: Add a specific process ID -to a given job's container.

    -

    Arguments:
    - job    (input) -Pointer to a slurmd job structure.
    - pid    (input) -The ID of the process to add to this job's container.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int slurm_container_signal (uint32_t id, int signal);

    -

    Description: Signal all processes in a given -job's container.

    -

    Arguments:
    - id   (input) -Job container's ID.
    - signal   (input) -Signal to be sent to processes. Note that a signal of zero -just tests for the existence of processes in a given job container.

    -

    Returns: SLURM_SUCCESS if the signal -was sent. -If the signal can not be sent, the function should return SLURM_ERROR and set -its errno to an appropriate value to indicate the reason for failure.

    - - - -

    int slurm_container_destroy (uint32_t id);

    -

    Description: Destroy or otherwise -invalidate a job container. -This does not imply the container is empty, just that it is no longer -needed.

    -

    Arguments: - id    (input) -Job container's ID.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    uint32_t slurm_container_find (pid_t pid);

    -

    Description: -Given a process ID, return its job container ID.

    -

    Arguments: - pid    (input) -A process ID.

    -

    Returns: The job container ID -with this process or zero if none is found.

    - -

    Versioning

    -

    This document describes version 0 of the SLURM Process Tracking API. -Future releases of SLURM may revise this API. A process tracking plugin -conveys its ability to implement a particular API version using the -mechanism outlined for SLURM plugins.

    - - - -

    Last modified 6 June 2006

    - - diff --git a/executable_names/doc/html/programmer_guide.shtml b/executable_names/doc/html/programmer_guide.shtml deleted file mode 100644 index 5764769fac..0000000000 --- a/executable_names/doc/html/programmer_guide.shtml +++ /dev/null @@ -1,233 +0,0 @@ - - -

    SLURM Programmer's Guide

    - -

    Overview

    - -

    Simple Linux Utility for Resource Management (SLURM) is an open source, fault-tolerant, -and highly scalable cluster management and job scheduling system for large and -small Linux clusters. Components include machine status, partition management, -job management, scheduling, and stream copy modules. SLURM requires no kernel -modifications for it operation and is relatively self-contained. -

    There is an overview of the components and their interactions available in -a separate document, SLURM: Simple Linux Utility for -Resource Management [PDF]. - -

    SLURM is written in the C language and uses a GNU autoconf configuration -engine. While initially written for Linux, other UNIX-like operating systems should -be easy porting targets. Code should adhere to the -Linux kernel coding style. (Some components of SLURM have been taken from -various sources. Some of these components are written in C++ or do not conform -to the Linux kernel coding style. However, new code written for SLURM should -follow these standards.) - -

    Many of these modules have been built and tested on a variety of Unix computers -including Red Hat Linux, IBM's AIX, Sun's Solaris, and Compaq's Tru-64. The only -module at this time that is operating system dependent is src/slurmd/read_proc.c. -We will be porting and testing on additional platforms in future releases. - -

    Plugins

    - -

    To make the use of different infrastructures possible, SLURM uses a general -purpose plugin mechanism. A SLURM plugin is a dynamically linked code object that -is loaded explicitly at run time by the SLURM libraries. It provides a customized -implementation of a well-defined API connected to tasks such as authentication, -interconnect fabric, task scheduling, etc. A set of functions is defined for use -by all of the different infrastructures of a particular variety. When a SLURM -daemon is initiated, it reads the configuration file to determine which of the -available plugins should be used. A plugin developer's -guide is available with general information about plugins. Most plugin -types also have their own documenation available, such as -SLURM Authentication Plugin API and -SLURM Job Completion Logging API.

    - - - -

    Directory Structure

    - -

    The contents of the SLURM directory structure will be described below in increasing -detail as the structure is descended. The top level directory contains the scripts -and tools required to build the entire SLURM system. It also contains a variety -of subdirectories for each type of file.

    -

    General build tools/files include: acinclude.m4, autogen.sh, -configure.ac, Makefile.am, Make-rpm.mk, META, README, -slurm.spec.in, and the contents of the auxdir directory. autoconf -and make commands are used to build and install -SLURM in an automated fashion. NOTE: autoconf -version 2.52 or higher is required to build SLURM. Execute -autoconf -V to check your version number. -The build process is described in the README file. - -

    Copyright and disclaimer information are in the files COPYING and DISCLAIMER. -All of the top-level subdirectories are described below.

    -

    auxdir—Used for building SLURM.
    -doc—Documentation including man pages.
    -etc—Sample configuration files.
    -slurm—Header files for API use. These files must be installed. Placing -these header files in this location makes for better code portability.
    -src—Contains all source code and header files not in the "slurm" subdirectory -described above.
    -testsuite—DejaGnu is used as a testing framework and all of its files -are here.

    - - - -

    Documentation

    -

    All of the documentation is in the subdirectory doc. Man pages for the -APIs, configuration file, commands, and daemons are in doc/man. Various -documents suitable for public consumption are in doc/html. Overall SLURM -design documents including various figures are in doc/pubdesign. Various -design documents (many of which are dated) can be found in doc/slides and -doc/txt. A survey of available resource managers as of 2001 is in doc/survey. -

    Source Code

    - -

    Functions are divided into several categories, each in its own subdirectory. -The details of each directory's contents are proved below. The directories are -as follows:

    - -

    api—Application Program Interfaces into -the SLURM code. Used to send and get SLURM information from the central manager. -These are the functions user applications might utilize.
    -api—Application Programming Interfaces for SLURM commands and -user application use.
    -common—General purpose functions for widespread use throughout -SLURM.
    -plugins—Plugin functions for various infrastructure. A separate -subdirectory is used for each plugin class:
    -

      -
    • auth for user authentication,
      -
    • checkpoint for system-initiated checkpoint -and restart of user jobs,
      -
    • jobacct for job accounting,
      -
    • jobcomp for job completion logging,
      -
    • mpi for MPI support,
      -
    • proctrack for process tracking,
      -
    • sched for job scheduler,
      -
    • select for a job's node selection,
      -
    • switch for switch (interconnect) specific -functions,
      -
    • task for task affinity to processors.
      -
    -salloc—User command to allocate resources for a job.
    -sattach—User command to attach standard input, output and error -files to a running job or job step.
    -sbatch—User command to submit a batch job (script for later execution).
    -sbcast—User command to broadcast a file to all nodes associated -with an existing SLURM job.
    -scancel—User command to cancel (or signal) a job or job step.
    -scontrol—Administrator tool to manage SLURM.
    -sinfo—User command to get information on SLURM nodes and partitions.
    -slaunch—User command to launch tasks within an existing job allocateion.
    -slurmctld—SLURM central manager daemon code.
    -slurmd—SLURM daemon code to manage the compute server nodes including -the execution of user applications.
    -smap—User command to view layout of nodes, partitions, and jobs. -This is particularly valuable on systems like Blue Gene, which has a three -dimension torus topography.
    -squeue—User command to get information on SLURM jobs and job steps.
    -srun—User command to submit a job, get an allocation, and/or -initiation a parallel job step.

    -sview—User command to view and update node, partition, and job -job state information.
    - - - -

    Configuration

    -

    Sample configuration files are included in the etc subdirectory. -The slurm.conf can be built using a configuration tool. -See doc/man/man5/slurm.conf.5 and the man pages for other configuration files -for more details. -init.d.slurm is a script that determines which -SLURM daemon(s) should execute on any node based upon the configuration file contents. -It will also manage these daemons: starting, signalling, restarting, and stopping them.

    - -

    Test Suite

    -

    The testsuite files use a DejaGnu framework for testing. These tests -are very limited in scope.

    - -

    We also have a set of Expect SLURM tests available under the testsuite/expect -directory. These tests are executed after SLURM has been installed -and the daemons initiated. About 250 test scripts exercise all SLURM commands -and options including stress tests. The file testsuite/expect/globals -contains default paths and procedures for all of the individual tests. At -the very least, you will need to set the slurm_dir variable to the correct -value. To avoid conflicts with other developers, you can override variable settings -in a seperate file named testsuite/expect/globals.local.

    - -

    Set your working directory to testsuite/expect before -starting these tests. Tests may be executed individually by name -(e.g. test1.1) -or the full test suite may be executed with the single command regression. -See testsuite/expect/README for more information.

    - - -

    Adding Files and Directories

    -

    If you are adding files and directories to SLURM, it will be necessary to -re-build configuration files before executing the configure command. -Update Makefile.am files as needed then execute -autogen.sh before executing configure. - -

    Tricks of the Trade

    -

    HAVE_FRONT_END

    -

    You can make a single node appear to SLURM as a Linux cluster by manually -defining HAVE_FRONT_END to have a non-zero value in the file config.h. -All (fake) nodes should be defined in the slurm.conf file. -These nodes should be configured with a single NodeAddr value -indicating the node on which single slurmd daemon -executes. Initiate one slurmd and one -slurmctld daemon. Do not initiate too many -simultaneous job steps to avoid overloading the -slurmd daemon executing them all.

    - -

    Multiple slurmd support

    -

    It is possible to run mutiple slurmd daemons on a single node, each using -a different port number and NodeName alias. This is very useful for testing -networking and protocol changes, or anytime you want to simulate a larger -cluster than you really have. The author uses this on his desktop to simulate -multiple nodes. However, it is important to note that not all slurm functions -will work with multiple slurmd support enabled (e.g. many switch plugins will -not work, it is best to use switch/none).

    - -

    Multiple support is enabled at configure-time with the -"--enable-multiple-slurmd" parameter. This enables a new parameter in the -slurm.conf file on the NodeName line, "Port=", and adds a new -command line parameter to slurmd, "-N".

    - -

    Each slurmd needs to have its own NodeName, and its own TCP port number. Here -is an example of the NodeName lines for running three slurmd daemons on each -of ten nodes:

    - -
    -NodeName=foo[1-10] NodeHostname=host[1-10]  Port=17001
    -NodeName=foo[11-20] NodeHostname=host[1-10] Port=17002
    -NodeName=foo[21-30] NodeHostname=host[1-10] Port=17003
    -
    - -

    -It is likely that you will also want to use the "%n" symbol in any slurmd -related paths in the slurm.conf file, for instance SlurmdLogFile, -SlurmdPidFile, and especially SlurmdSpoolDir. Each slurmd replaces the "%n" -with its own NodeName. Here is an example:

    - -
    -SlurmdLogFile=/var/log/slurm/slurmd.%n.log
    -SlurmdPidFile=/var/run/slurmd.%n.pid
    -SlurmdSpoolDir=/var/spool/slurmd.%n
    -
    - -

    -It is up to you to start each slurmd daemon with the proper NodeName. -For example, to start the slurmd daemons for host1 from the -above slurm.conf example:

    - -
    -host1> slurmd -N foo1
    -host1> slurmd -N foo11
    -host1> slurmd -N foo21
    -
    - - - -

    Last modified 29 September 2006

    - - diff --git a/executable_names/doc/html/publications.shtml b/executable_names/doc/html/publications.shtml deleted file mode 100644 index 2bd1a423ff..0000000000 --- a/executable_names/doc/html/publications.shtml +++ /dev/null @@ -1,19 +0,0 @@ - - -

    Publications

    -

    -SLURM: Simple Linux Utility for Resource Management [PDF], -M. Jette and M. Grondona, -Proceedings of ClusterWorld Conference and Expo, -San Jose, California, June 2003.

    - -

    SLURM: Simple Linux Utility for Resource Management, -A. Yoo, M. Jette, and M. Grondona, -Job Scheduling Strategies for Parallel Processing, -volume 2862 of Lecture Notes in Computer Science, -pages 44-60, -Springer-Verlag, 2003.

    - -

    Last modified 4 January 2006

    - - diff --git a/executable_names/doc/html/quickstart.shtml b/executable_names/doc/html/quickstart.shtml deleted file mode 100644 index 7de0187abb..0000000000 --- a/executable_names/doc/html/quickstart.shtml +++ /dev/null @@ -1,300 +0,0 @@ - - -

    Quick Start User Guide

    - -

    Overview

    -

    The Simple Linux Utility for Resource Management (SLURM) is an open source, -fault-tolerant, and highly scalable cluster management and job scheduling system -for large and small Linux clusters. SLURM requires no kernel modifications for -its operation and is relatively self-contained. As a cluster resource manager, -SLURM has three key functions. First, it allocates exclusive and/or non-exclusive -access to resources (compute nodes) to users for some duration of time so they -can perform work. Second, it provides a framework for starting, executing, and -monitoring work (normally a parallel job) on the set of allocated nodes. Finally, -it arbitrates conflicting requests for resources by managing a queue of pending -work.

    - -

    Architecture

    -

    As depicted in Figure 1, SLURM consists of a slurmd daemon running on -each compute node and a central slurmctld daemon running on a management node -(with optional fail-over twin). -The slurmd daemons provide fault-tolerant hierarchical communciations. -The user commands include: srun, sbcast, scancel, -sinfo, srun, smap, squeue, and scontrol. -All of the commands can run anywhere in the cluster.

    - -
    -
    - Figure 1. SLURM components -
    - -

    The entities managed by these SLURM daemons, shown in Figure 2, include nodes, -the compute resource in SLURM, partitions, which group nodes into logical -sets, jobs, or allocations of resources assigned to a user for -a specified amount of time, and job steps, which are sets of (possibly -parallel) tasks within a job. -The partitions can be considered job queues, each of which has an assortment of -constraints such as job size limit, job time limit, users permitted to use it, etc. -Priority-ordered jobs are allocated nodes within a partition until the resources -(nodes, processors, memory, etc.) within that partition are exhausted. Once -a job is assigned a set of nodes, the user is able to initiate parallel work in -the form of job steps in any configuration within the allocation. For instance, -a single job step may be started that utilizes all nodes allocated to the job, -or several job steps may independently use a portion of the allocation.

    - -
    -
    - Figure 2. SLURM entities -
    - - - -

    Commands

    -

    Man pages exist for all SLURM daemons, commands, and API functions. The command -option --help also provides a brief summary of -options. Note that the command options are all case insensitive.

    -

    srun is used to submit a job for execution, -allocate resources, attach to an existing allocation, or initiate job steps. Jobs -can be submitted for immediate or later execution (e.g., batch). srun -has a wide variety of options to specify resource requirements, including: minimum -and maximum node count, processor count, specific nodes to use or not use, and -specific node characteristics (so much memory, disk space, certain required features, -etc.). Besides securing a resource allocation, srun -is used to initiate job steps. These job steps can execute sequentially or in -parallel on independent or shared nodes within the job's node allocation.

    - -

    sbcast is used to transfer a file -from local disk to local disk on the nodes allocated to a job. This can be -used to effectively use diskless compute nodes or provide improved performance -relative to a shared file system.

    - -

    scancel is used to cancel a pending -or running job or job step. It can also be used to send an arbitrary signal to -all processes associated with a running job or job step.

    - -

    scontrol is the administrative tool -used to view and/or modify SLURM state. Note that many scontrol -commands can only be executed as user root.

    - -

    sinfo reports the state of partitions -and nodes managed by SLURM. It has a wide variety of filtering, sorting, and formatting -options.

    - -

    squeue reports the state of jobs or -job steps. It has a wide variety of filtering, sorting, and formatting options. -By default, it reports the running jobs in priority order and then the pending -jobs in priority order.

    - -

    smap reports state information for -jobs, partitions, and nodes managed by SLURM, but graphically displays the -information to reflect network topology.

    - -

    sview is a graphical user interface to -get and update state information for jobs, partitions, and nodes managed by SLURM.

    - - - -

    Examples

    -

    Execute /bin/hostname on four nodes (-N4). -Include task numbers on the output (-l). The -default partition will be used. One task per node will be used by default.

    -
    -adev0: srun -N4 -l /bin/hostname
    -0: adev9
    -1: adev10
    -2: adev11
    -3: adev12
    -

    Execute /bin/hostname in four -tasks (-n4). Include task numbers on the output -(-l). The default partition will be used. One -processor per task will be used by default (note that we don't specify a node -count).

    -
    -adev0: srun -n4 -l /bin/hostname
    -0: adev9
    -1: adev9
    -2: adev10
    -3: adev10
    -

    Submit the script my.script for later execution (-b). -Explicitly use the nodes adev9 and adev10 (-w "adev[9-10]"; -note the use of a node range expression). One processor per task will be used -by default. The output will appear in the file my.stdout (-o -my.stdout). By default, one task will be initiated per processor on the -nodes. Note that my.script contains the command /bin/hostname -that executed on the first node in the allocation (where the script runs) plus -two job steps initiated using the srun command -and executed sequentially.

    -
    -adev0: cat my.script
    -#!/bin/sh
    -/bin/hostname
    -srun -l /bin/hostname
    -srun -l /bin/pwd
    -
    -adev0: srun -w "adev[9-10]" -o my.stdout -b my.script
    -srun: jobid 469 submitted
    -
    -adev0: cat my.stdout
    -adev9
    -0: adev9
    -1: adev9
    -2: adev10
    -3: adev10
    -0: /home/jette
    -1: /home/jette
    -2: /home/jette
    -3: /home/jette
    -
    - -

    Submit a job, get its status, and cancel it.

    -
    -adev0: srun -b my.sleeper
    -srun: jobid 473 submitted
    -
    -adev0: squeue
    -  JobId Partition Name     User     St TimeLimit Prio Nodes                        
    -    473 batch     my.sleep jette    R  UNLIMITED 0.99 adev9 
    -                       
    -adev0: scancel 473
    -
    -adev0: squeue
    -  JobId Partition Name     User     St TimeLimit Prio Nodes            
    -
    - -

    Get the SLURM partition and node status.

    -
    -adev0: sinfo
    -PARTITION  NODES STATE     CPUS    MEMORY    TMP_DISK NODES
    ---------------------------------------------------------------------------------
    -debug          8 IDLE         2      3448       82306 adev[0-7]
    -batch          1 DOWN         2      3448       82306 adev8
    -               7 IDLE         2 3448-3458       82306 adev[9-15]
    -
    - - -

    MPI

    -

    MPI use depends upon the type of MPI being used. -Instructions for using several varieties of MPI with SLURM are -provided below.

    - -

    Open MPI relies upon -SLURM to allocate resources for the job and then mpirun to initiate the -tasks. For example: -

    -$ srun -n4 -A	# allocates four processors and spawns shell for job
    -> mpirun -np 4 a.out
    -> exit          # exits shell spawned by initial srun command
    -
    -Note that any direct use of srun -will only launch one task per node when the LAM/MPI plugin is used. -To launch more than one task per node usng the -srun command, the --mpi=none -option will be required to explicitly disable the LAM/MPI plugin.

    - -

    Quadrics MPI relies upon SLURM to -allocate resources for the job and srun -to initiate the tasks. One would build the MPI program in the normal manner -then initiate it using a command line of this sort:

    -
    -$ srun [OPTIONS] <program> [program args]
    -
    - -

    LAM/MPI relies upon the SLURM -srun command to allocate resources using -either the --allocate or the ---batch option. In either case, specify -the maximum number of tasks required for the job. Then execute the -lamboot command to start lamd daemons. -lamboot utilizes SLURM's -srun command to launch these daemons. -Do not directly execute the srun command -to launch LAM/MPI tasks. For example: -

    -$ srun -n16 -A     # allocates 16 processors and spawns shell for job
    -> lamboot
    -> mpirun -np 16 foo args
    -1234 foo running on adev0 (o)
    -2345 foo running on adev1
    -etc.
    -> lamclean
    -> lamhalt
    -> exit             # exits shell spawned by initial srun command
    -
    -Note that any direct use of srun -will only launch one task per node when the LAM/MPI plugin is configured -as the default plugin. To launch more than one task per node usng the -srun command, the --mpi=none -option would be required to explicitly disable the LAM/MPI plugin -if that is the system default.

    - - - -

    HP-MPI uses the -mpirun command with the -srun -option to launch jobs. For example: -

    -$MPI_ROOT/bin/mpirun -TCP -srun -N8 ./a.out
    -

    - -

    MPICH2 jobs -are launched using the srun command. Just link your program with -SLURM's implementation of the PMI library so that tasks can communicate -host and port information at startup. (The system administrator can add -these option to the mpicc and mpif77 commands directly, so the user will not -need to bother). For example: -

    -$ mpicc -L<path_to_slurm_lib> -lpmi ...
    -$ srun -n20 a.out
    -
    -NOTES: -
      -
    • Some MPICH2 functions are not currently supported by the PMI -libary integrated with SLURM
    • -
    • Set the environment variable PMI_DEBUG to a numeric value -of 1 or higher for the PMI libary to print debugging information
    • -

    - -

    MVAPICH -jobs can be launched directly by srun command. -SLURM's mvapich MPI plugin must be used to establish communications -between the laucnhed tasks. This can be accomplished either using the SLURM -configuration parameter MpiDefault=mvapich in slurm.conf -or srun's --mpi=mvapich option. -

    -$ mpicc ...
    -$ srun -n16 --mpi=mvapich a.out
    -
    - -

    MVAPICH2 -jobs can be launched directly by srun command. -SLURM's none MPI plugin must be used to establish communications -between the laucnhed tasks. This can be accomplished either using the SLURM -configuration parameter MpiDefault=none in slurm.conf -or srun's --mpi=none option. The program must also be linked with -SLURM's implementation of the PMI library so that tasks can communicate -host and port information at startup. (The system administrator can add -these option to the mpicc and mpif77 commands directly, so the user will not -need to bother). Do not use SLURM's MVAPICH plugin for MVAPICH2. -

    -$ mpicc -L<path_to_slurm_lib> -lpmi ...
    -$ srun -n16 --mpi=none a.out
    -
    - -

    BlueGene MPI relies -upon SLURM to create the resource allocation and then uses the native -mpirun command to launch tasks. -Build a job script containing one or more invocations of the -mpirun command. Then submit -the script to SLURM using srun -command with the --batch option. For example: -

    -$ srun -N2 --batch my.script
    -
    -Note that the node count specified with the -N option indicates -the base partition count. -See BlueGene User and Administrator Guide -for more information.

    - -

    Last modified 29 September 2006

    - - diff --git a/executable_names/doc/html/quickstart_admin.shtml b/executable_names/doc/html/quickstart_admin.shtml deleted file mode 100644 index 0659b41ff1..0000000000 --- a/executable_names/doc/html/quickstart_admin.shtml +++ /dev/null @@ -1,609 +0,0 @@ - - -

    Quick Start Administrator Guide

    -

    Overview

    -Please see the Quick Start User Guide for a general -overview. - -

    Super Quick Start

    -
      -
    1. bunzip2 the distributed tar-ball and untar the files:
      -tar --bzip -x -f slurm*tar.bz2
    2. -
    3. cd to the directory containing the SLURM source and type -./configure with appropriate options, typically --prefix= -and --sysconfdir=
    4. -
    5. Type make to compile SLURM.
    6. -
    7. Type make install to install the programs, documentation, libaries, -header files, etc.
    8. -
    9. Build a configuration file using your favorite web browser and -doc/html/configurator.html.
    10. -
    11. Install the configuration file in <sysconfdir>/slurm.conf.
    12. -
    13. Create OpenSSL Keys:
      -openssl genrsa -out <sysconfdir>/slurm.key 1024
      -openssl rsa -in <sysconfdir>/slurm.key -pubout -out <sysconfdir>/slurm.cert
    14. -
    15. Start the slurmctld and slurmd daemons.
    16. -
    -

    NOTE: Items 1 through 4 can be replaced with

    -
      -
    1. rpmbuild -ta slurm*.tar.bz2
    2. -
    3. rpm --install <the rpm files>
    4. -
    - -

    Building and Installing

    - -

    Instructions to build and install SLURM manually are shown below. -See the README and INSTALL files in the source distribution for more details. -

    -
      -
    1. bunzip2 the distributed tar-ball and untar the files:
      -tar --bzip -x -f slurm*tar.bz2 -
    2. cd to the directory containing the SLURM source and type -./configure with appropriate options.
    3. -
    4. Type make to compile SLURM.
    5. -
    6. Type make install to install the programs, documentation, libaries, -header files, etc.
    7. -
    -

    The most commonly used arguments to the configure -command include:

    -

    --enable-debug
    -Enable additional debugging logic within SLURM.

    -

    --prefix=PREFIX
    -
    -Install architecture-independent files in PREFIX; default value is /usr/local.

    -

    --sysconfdir=DIR
    -
    -Specify location of SLURM configuration file. The default value is PREFIX/etc

    - -

    If required libraries or header files are in non-standard locations, -set CFLAGS and LDFLAGS environment variables accordingly. -Type configure --help for a more complete description of options. -Optional SLURM plugins will be built automatically when the -configure script detects that the required -build requirements are present. Build dependencies for various plugins -and commands are denoted below. -

    -
      -
    • Munge The auth/munge plugin will be built if Chris Dunlap's Munge - library is installed.
    • -
    • Authd The auth/authd plugin will be built and installed if - the libauth library and its dependency libe are installed. -
    • -
    • Federation The switch/federation plugin will be built and installed - if the IBM Federation switch libary is installed. -
    • QsNet support in the form of the switch/elan plugin requires - that the qsnetlibs package (from Quadrics) be installed along - with its development counterpart (i.e. the qsnetheaders - package.) The switch/elan plugin also requires the - presence of the libelanosts library and /etc/elanhosts - configuration file. (See elanhosts(5) man page in that - package for more details). Define the nodes in the SLURM - configuration file slurm.conf in the same order as - defined in the elanhosts configuration file so that - node allocation for jobs can be performed so as to optimize - their performance. We highly recommend assigning the nodes - a numeric suffix equal to its Elan address for ease of - administration and because the Elan driver does not seem - to function otherwise - (e.g. /etc/elanhosts to contain two lines of this sort:
      - eip [0-15] linux[0-15]
      - eth [0-15] linux[0-15]
      - for fifteen nodes with a prefix of "linux" and - numeric suffix between zero and 15). Finally, the - "ptrack" kernel patch is required for process - tracking. -
    • sview The sview command will be built only if libglade-2.0 - and gtk+-2.0 are installed
    • -
    -Please see the Download page for references to -required software to build these plugins.

    - -

    To build RPMs directly, copy the distributed tar-ball into the directory -/usr/src/redhat/SOURCES and execute a command of this sort (substitute -the appropriate SLURM version number):
    -rpmbuild -ta slurm-0.6.0-1.tar.bz2

    - -

    You can control some aspects of the RPM built with a .rpmmacros -file in your home directory. Special macro definitions will likely -only be required if files are installed in unconventional locations. -Some macro definitions that may be used in building SLURM include: -

    -
    _enable_debug -
    Specify if debugging logic within SLURM is to be enabled -
    _prefix -
    Pathname of directory to contain the SLURM files -
    _sysconfdir -
    Pathname of directory containing the slurm.conf configuration file -
    with_munge -
    Specifies munge (authentication library) installation location -
    with_proctrack -
    Specifies AIX process tracking kernel extension header file location -
    with_ssl -
    Specifies SSL libary installation location -
    -To build SLURM on our AIX system, the following .rpmmacros file is used: -
    -# .rpmmacros
    -# For AIX at LLNL
    -# Override some RPM macros from /usr/lib/rpm/macros
    -# Set other SLURM-specific macros for unconventional file locations
    -#
    -%_enable_debug     "--with-debug"
    -%_prefix           /admin/llnl
    -%_sysconfdir       %{_prefix}/etc/slurm
    -%with_munge        "--with-munge=/admin/llnl"
    -%with_proctrack    "--with-proctrack=/admin/llnl/include"
    -%with_ssl          "--with-ssl=/opt/freeware"
    -

    - - - -

    Daemons

    -

    slurmctld is sometimes called the "controller" daemon. It -orchestrates SLURM activities, including queuing of job, monitoring node state, -and allocating resources (nodes) to jobs. There is an optional backup controller -that automatically assumes control in the event the primary controller fails. -The primary controller resumes control whenever it is restored to service. The -controller saves its state to disk whenever there is a change. -This state can be recovered by the controller at startup time. -State changes are saved so that jobs and other state can be preserved when -controller moves (to or from backup controller) or is restarted.

    - -

    We recommend that you create a Unix user slurm for use by -slurmctld. This user name will also be specified using the -SlurmUser in the slurm.conf configuration file. -Note that files and directories used by slurmctld will need to be -readable or writable by the user SlurmUser (the slurm configuration -files must be readable; the log file directory and state save directory -must be writable).

    - -

    The slurmd daemon executes on every compute node. It resembles a remote -shell daemon to export control to SLURM. Because slurmd initiates and manages -user jobs, it must execute as the user root.

    - -

    slurmctld and/or slurmd should be initiated at node startup time -per the SLURM configuration. -A file etc/init.d/slurm is provided for this purpose. -This script accepts commands start, startclean (ignores -all saved state), restart, and stop.

    - -

    Infrastructure

    -

    Authentication of SLURM communications

    -

    All communications between SLURM components are authenticated. The -authentication infrastructure is provided by a dynamically loaded -plugin chosen at runtame via the AuthType keyword in the SLURM -configuration file. Currently available authentication types include -authd, -munge, and none. -The default authentication infrastructure is "none". This permits any user to execute -any job as another user. This may be fine for testing purposes, but certainly not for production -use. Configure some AuthType value other than "none" if you want any security. -We recommend the use of Munge unless you are experienced with authd. -

    -

    While SLURM itself does not rely upon synchronized clocks on all nodes -of a cluster for proper operation, its underlying authentication mechanism -may have this requirement. For instance, if SLURM is making use of the -auth/munge plugin for communication, the clocks on all nodes will need to -be synchronized.

    - -

    MPI support

    -

    Quadrics MPI works directly with SLURM on systems having Quadrics -interconnects and is the preferred version of MPI for those systems. -Set the MpiDefault=none configuration parameter in slurm.conf.

    - -

    For Myrinet systems, MPICH-GM -is preferred. In order to use MPICH-GM, set MpiDefault=mpichgm and -ProctrackType=proctrack/linuxproc configuration parameters in -slurm.conf.

    - -

    HP customers would be well served by using -HP-MPI.

    - -

    A good open-source MPI for use with SLURM is -LAM MPI. LAM MPI uses the command -lamboot to initiate job-specific daemons on each node using SLURM's -srun -command. This places all MPI processes in a process-tree under the control of -the slurmd daemon. LAM/MPI version 7.1 or higher contains support for -SLURM. -Set the MpiDefault=none configuration parameters in slurm.conf. -LAM MPI will explicitly set the mpi plugin type to "lam" on the -srun execute line as needed.

    - -

    Another good open-source MPI for use with SLURM is -Open MPI. Open MPI initiates its -processes using SLURM's srun -command. -Set the MpiDefault=none configuration parameters in slurm.conf. -Open MPI will explicitly set the mpi plugin type to "lam" on the -srun execute line as needed.

    - -

    Note that the ordering of tasks within an job's allocation matches that of -nodes in the slurm.conf configuration file. SLURM presently lacks the ability -to arbitrarily order tasks across nodes.

    - -

    Scheduler support

    -

    The scheduler used by SLURM is controlled by the SchedType configuration -parameter. This is meant to control the relative importance of pending jobs. -SLURM's default scheduler is FIFO (First-In First-Out). A backfill scheduler -plugin is also available. Backfill scheduling will initiate a lower-priority job -if doing so does not delay the expected initiation time of higher priority jobs; -essentially using smaller jobs to fill holes in the resource allocation plan. -SLURM also supports a plugin for use of - -The Maui Scheduler or - -Moab Cluster Suite which offer sophisticated scheduling algorithms. -Motivated users can even develop their own scheduler plugin if so desired.

    - -

    Node selection

    -

    The node selection mechanism used by SLURM is controlled by the -SelectType configuration parameter. -If you want to execute multiple jobs per node, but apportion the processors, -memory and other resources, the cons_res (consumable resources) -plugin is recommended. -If you tend to dedicate entire nodes to jobs, the linear plugin -is recommended. -For more information, please see -Consumable Resources in SLURM. -For BlueGene systems, bluegene plugin is required (it is topology -aware and interacts with the BlueGene bridge API).

    - -

    Logging

    -

    SLURM uses the syslog function to record events. It uses a range of importance -levels for these messages. Be certain that your system's syslog functionality -is operational.

    - -

    Corefile format

    -

    SLURM is designed to support generating a variety of core file formats for -application codes that fail (see the --core option of the srun -command). As of now, SLURM only supports a locally developed lightweight -corefile library which has not yet been released to the public. It is -expected that this library will be available in the near future.

    - -

    Parallel debugger support

    -

    SLURM exports information for parallel debuggers using the specification -detailed here. -This is meant to be exploited by any parallel debugger (notably, TotalView), -and support is unconditionally compiled into SLURM code. -

    -

    We use a patched version of TotalView that looks for a "totalview_jobid" -symbol in srun that it then uses (configurably) to perform a bulk -launch of the tvdsvr daemons via a subsequent srun. Otherwise -it is difficult to get TotalView to use srun for a bulk launch, since -srun will be unable to determine for which job it is launching tasks. -

    -

    Another solution would be to run TotalView within an existing srun ---allocate session. Then the Totalview bulk launch command to srun -could be set to ensure only a single task per node. This functions properly -because the SLRUM_JOBID environment variable is set in the allocation shell -environment. -

    - -

    Compute node access

    -

    SLURM does not by itself limit access to allocated compute nodes, -but it does provide mechanisms to accomplish this. -There is a Pluggable Authentication Module (PAM) for restricting access -to compute nodes available for download. -When installed, the SLURM PAM module will prevent users from logging -into any node that has not be assigned to that user. -On job termination, any processes initiated by the user outside of -SLURM's control may be killed using an Epilog script configured -in slurm.conf. -An example of such a script is included as etc/slurm.epilog.clean. -Without these mechanisms any user can login to any compute node, -even those allocated to other users.

    - - - -

    Configuration

    -

    The SLURM configuration file includes a wide variety of parameters. -This configuration file must be available on each node of the cluster. A full -description of the parameters is included in the slurm.conf man page. Rather than -duplicate that information, a minimal sample configuration file is shown below. -Your slurm.conf file should define at least the configuration parameters defined -in this sample and likely additional ones. Any text -following a "#" is considered a comment. The keywords in the file are -not case sensitive, although the argument typically is (e.g., "SlurmUser=slurm" -might be specified as "slurmuser=slurm"). The control machine, like -all other machine specifications, can include both the host name and the name -used for communications. In this case, the host's name is "mcri" and -the name "emcri" is used for communications. -In this case "emcri" is the private management network interface -for the host "mcri". Port numbers to be used for -communications are specified as well as various timer values.

    - -

    A description of the nodes and their grouping into partitions is required. -A simple node range expression may optionally be used to specify -ranges of nodes to avoid building a configuration file with large -numbers of entries. The node range expression can contain one -pair of square brackets with a sequence of comma separated -numbers and/or ranges of numbers separated by a "-" -(e.g. "linux[0-64,128]", or "lx[15,18,32-33]"). -On BlueGene systems only, the square brackets should contain -pairs of three digit numbers separated by a "x". -These numbers indicate the boundaries of a rectangular prism -(e.g. "bgl[000x144,400x544]"). -See our Blue Gene User and Administrator Guide -for more details. -Presently the numeric range must be the last characters in the -node name (e.g. "unit[0-31]rack1" is invalid).

    - -

    Node names can have up to three name specifications: -NodeName is the name used by all SLURM tools when referring to the node, -NodeAddr is the name or IP address SLURM uses to communicate with the node, and -NodeHostname is the name returned by the command /bin/hostname -s. -Only NodeName is required (the others default to the same name), -although supporting all three parameters provides complete control over -naming and addressing the nodes. See the slurm.conf man page for -details on all configuration parameters.

    - -

    Nodes can be in more than one partition and each partition can have different -constraints (permitted users, time limits, job size limits, etc.). -Each partition can thus be considered a separate queue. -Partition and node specifications use node range expressions to identify -nodes in a concise fashion. This configuration file defines a 1154-node cluster -for SLURM, but it might be used for a much larger cluster by just changing a few -node range expressions. Specify the minimum processor count (Procs), real memory -space (RealMemory, megabytes), and temporary disk space (TmpDisk, megabytes) that -a node should have to be considered available for use. Any node lacking these -minimum configuration values will be considered DOWN and not scheduled. -Note that a more extensive sample configuration file is provided in -etc/slurm.conf.example. We also have a web-based -configuration tool which can -be used to build a simple configuration file.

    -
    -# 
    -# Sample /etc/slurm.conf for mcr.llnl.gov
    -#
    -ControlMachine=mcri   ControlAddr=emcri
    -BackupMachine=mcrj    BackupAddr=emcrj 
    -#
    -AuthType=auth/munge
    -Epilog=/usr/local/slurm/etc/epilog
    -FastSchedule=1
    -JobCompLoc=/var/tmp/jette/slurm.job.log
    -JobCompType=jobcomp/filetxt
    -JobCredentialPrivateKey=/usr/local/etc/slurm.key
    -JobCredentialPublicCertificate=/usr/local/etc/slurm.cert
    -PluginDir=/usr/local/slurm/lib/slurm
    -Prolog=/usr/local/slurm/etc/prolog
    -SchedulerType=sched/backfill
    -SelectType=select/linear
    -SlurmUser=slurm
    -SlurmctldPort=7002
    -SlurmctldTimeout=300
    -SlurmdPort=7003
    -SlurmdSpoolDir=/var/tmp/slurmd.spool
    -SlurmdTimeout=300
    -StateSaveLocation=/tmp/slurm.state
    -SwitchType=switch/elan
    -TreeWidth=50
    -#
    -# Node Configurations
    -#
    -NodeName=DEFAULT Procs=2 RealMemory=2000 TmpDisk=64000 State=UNKNOWN
    -NodeName=mcr[0-1151] NodeAddr=emcr[0-1151]
    -#
    -# Partition Configurations
    -#
    -PartitionName=DEFAULT State=UP    
    -PartitionName=pdebug Nodes=mcr[0-191] MaxTime=30 MaxNodes=32 Default=YES
    -PartitionName=pbatch Nodes=mcr[192-1151]
    -
    -

    Security

    -

    You will should create unique job credential keys for your site -using the program openssl. -You must use openssl and not ssh-genkey to construct these keys. -An example of how to do this is shown below. Specify file names that -match the values of JobCredentialPrivateKey and -JobCredentialPublicCertificate in your configuration file. -The JobCredentialPrivateKey file must be readable only by SlurmUser. -The JobCredentialPublicCertificate file must be readable by all users. -Both files must be available on all nodes in the cluster. -These keys are used by slurmctld to construct a job credential, -which is sent to srun and then forwarded to slurmd to -initiate job steps.

    - -

    -openssl genrsa -out <sysconfdir>/slurm.key 1024
    -openssl rsa -in <sysconfdir>/slurm.key -pubout -out <sysconfdir>/slurm.cert -

    -

    SLURM does not use reserved ports to authenticate communication between -components, but relies upon an external entity to determine the user who -initiated a request. -You must specify one "auth" plugin for this purpose. -Currently, only three -authentication plugins are supported: auth/none, auth/authd, and -auth/munge. The auth/none plugin is built and used by default, but either -Brent Chun's authd, or Chris Dunlap's -munge should be installed in order to -get properly authenticated communications. -Unless you are experience with authd, we recommend the use of munge. -The configure script in the top-level directory of this distribution will determine -which authentication plugins may be built. The configuration file specifies which -of the available plugins will be utilized.

    - -

    A PAM module (Pluggable Authentication Module) is available for SLURM that -can prevent a user from accessing a node which he has not been allocated, if that -mode of operation is desired.

    - - -

    Starting the Daemons

    -

    For testing purposes you may want to start by just running slurmctld and slurmd -on one node. By default, they execute in the background. Use the -D -option for each daemon to execute them in the foreground and logging will be done -to your terminal. The -v option will log events -in more detail with more v's increasing the level of detail (e.g. -vvvvvv). -You can use one window to execute "slurmctld -D -vvvvvv", -a second window to execute "slurmd -D -vvvvv". -You may see errors such as "Connection refused" or "Node X not responding" -while one daemon is operative and the other is being started, but the -daemons can be started in any order and proper communications will be -established once both daemons complete initialization. -You can use a third window to execute commands such as -"srun -N1 /bin/hostname" to confirm functionality.

    - -

    Another important option for the daemons is "-c" -to clear previous state information. Without the "-c" -option, the daemons will restore any previously saved state information: node -state, job state, etc. With the "-c" option all -previously running jobs will be purged and node state will be restored to the -values specified in the configuration file. This means that a node configured -down manually using the scontrol command will -be returned to service unless also noted as being down in the configuration file. -In practice, SLURM restarts with preservation consistently.

    -

    A thorough battery of tests written in the "expect" language is also -available.

    - - -

    Administration Examples

    -

    scontrol can be used to print all system information -and modify most of it. Only a few examples are shown below. Please see the scontrol -man page for full details. The commands and options are all case insensitive.

    -

    Print detailed state of all jobs in the system.

    -
    -adev0: scontrol
    -scontrol: show job
    -JobId=475 UserId=bob(6885) Name=sleep JobState=COMPLETED
    -   Priority=4294901286 Partition=batch BatchFlag=0
    -   AllocNode:Sid=adevi:21432 TimeLimit=UNLIMITED
    -   StartTime=03/19-12:53:41 EndTime=03/19-12:53:59
    -   NodeList=adev8 NodeListIndecies=-1
    -   ReqProcs=0 MinNodes=0 Shared=0 Contiguous=0
    -   MinProcs=0 MinMemory=0 Features=(null) MinTmpDisk=0
    -   ReqNodeList=(null) ReqNodeListIndecies=-1
    -
    -JobId=476 UserId=bob(6885) Name=sleep JobState=RUNNING
    -   Priority=4294901285 Partition=batch BatchFlag=0
    -   AllocNode:Sid=adevi:21432 TimeLimit=UNLIMITED
    -   StartTime=03/19-12:54:01 EndTime=NONE
    -   NodeList=adev8 NodeListIndecies=8,8,-1
    -   ReqProcs=0 MinNodes=0 Shared=0 Contiguous=0
    -   MinProcs=0 MinMemory=0 Features=(null) MinTmpDisk=0
    -   ReqNodeList=(null) ReqNodeListIndecies=-1
    -

    Print the detailed state of job 477 and change its priority to -zero. A priority of zero prevents a job from being initiated (it is held in "pending" -state).

    -
    -adev0: scontrol
    -scontrol: show job 477
    -JobId=477 UserId=bob(6885) Name=sleep JobState=PENDING
    -   Priority=4294901286 Partition=batch BatchFlag=0
    -   more data removed....
    -scontrol: update JobId=477 Priority=0
    -
    - -

    Print the state of node adev13 and drain it. To drain a node specify a new -state of DRAIN, DRAINED, or DRAINING. SLURM will automatically set it to the appropriate -value of either DRAINING or DRAINED depending on whether the node is allocated -or not. Return it to service later.

    -
    -adev0: scontrol
    -scontrol: show node adev13
    -NodeName=adev13 State=ALLOCATED CPUs=2 RealMemory=3448 TmpDisk=32000
    -   Weight=16 Partition=debug Features=(null) 
    -scontrol: update NodeName=adev13 State=DRAIN
    -scontrol: show node adev13
    -NodeName=adev13 State=DRAINING CPUs=2 RealMemory=3448 TmpDisk=32000
    -   Weight=16 Partition=debug Features=(null) 
    -scontrol: quit
    -Later
    -adev0: scontrol 
    -scontrol: show node adev13
    -NodeName=adev13 State=DRAINED CPUs=2 RealMemory=3448 TmpDisk=32000
    -   Weight=16 Partition=debug Features=(null) 
    -scontrol: update NodeName=adev13 State=IDLE
    -

    Reconfigure all SLURM daemons on all nodes. This should -be done after changing the SLURM configuration file.

    -
    -adev0: scontrol reconfig
    -

    Print the current SLURM configuration. This also reports if the -primary and secondary controllers (slurmctld daemons) are responding. To just -see the state of the controllers, use the command ping.

    -
    -adev0: scontrol show config
    -Configuration data as of 03/19-13:04:12
    -AuthType          = auth/munge
    -BackupAddr        = eadevj
    -BackupController  = adevj
    -ControlAddr       = eadevi
    -ControlMachine    = adevi
    -Epilog            = (null)
    -FastSchedule      = 1
    -FirstJobId        = 1
    -InactiveLimit     = 0
    -JobCompLoc        = /var/tmp/jette/slurm.job.log
    -JobCompType       = jobcomp/filetxt
    -JobCredPrivateKey = /etc/slurm/slurm.key
    -JobCredPublicKey  = /etc/slurm/slurm.cert
    -KillWait          = 30
    -MaxJobCnt         = 2000
    -MinJobAge         = 300
    -PluginDir         = /usr/lib/slurm
    -Prolog            = (null)
    -ReturnToService   = 1
    -SchedulerAuth     = (null)
    -SchedulerPort     = 65534
    -SchedulerType     = sched/backfill
    -SlurmUser         = slurm(97)
    -SlurmctldDebug    = 4
    -SlurmctldLogFile  = /tmp/slurmctld.log
    -SlurmctldPidFile  = /tmp/slurmctld.pid
    -SlurmctldPort     = 7002 
    -SlurmctldTimeout  = 300
    -SlurmdDebug       = 65534
    -SlurmdLogFile     = /tmp/slurmd.log
    -SlurmdPidFile     = /tmp/slurmd.pid
    -SlurmdPort        = 7003
    -SlurmdSpoolDir    = /tmp/slurmd
    -SlurmdTimeout     = 300
    -TreeWidth         = 50
    -JobAcctLogFile    = /tmp/jobacct.log
    -JobAcctFrequncy   = 5
    -JobAcctType       = jobacct/linux
    -SLURM_CONFIG_FILE = /etc/slurm/slurm.conf
    -StateSaveLocation = /usr/local/tmp/slurm/adev
    -SwitchType        = switch/elan
    -TmpFS             = /tmp
    -WaitTime          = 0
    -
    -Slurmctld(primary/backup) at adevi/adevj are UP/UP
    -

    Shutdown all SLURM daemons on all nodes.

    -
    -adev0: scontrol shutdown
    -
    - -

    Testing

    -

    An extensive test suite is available within the SLURM distribution -in testsuite/expect. -There are about 250 tests which will execute on the order of 2000 jobs -and 4000 job steps. -Depending upon your system configuration and performance, this test -suite will take roughly 40 minutes to complete. -The file testsuite/expect/globals contains default paths and -procedures for all of the individual tests. You will need to edit this -file to specify where SLURM and other tools are installed. -Set your working directory to testsuite/expect before -starting these tests. -Tests may be executed individually by name (e.g. test1.1) -or the full test suite may be executed with the single command -regression. -See testsuite/expect/README for more information.

    - -

    Upgrades

    -

    When upgrading to a new major or minor release of SLURM (e.g. 1.1.x to 1.2.x) -all running and pending jobs will be purged due to changes in state save -information. It is possible to develop software to translate state information -between versions, but we do not normally expect to do so. -When upgrading to a new micro release of SLURM (e.g. 1.2.1 to 1.2.2) all -running and pending jobs will be preserved. Just install a new version of -SLURM and restart the daemons. -An exception to this is that jobs may be lost when installing new pre-release -versions (e.g. 1.3.0-pre1 to 1.3.0-pre2). We'll try to note these cases -in the NEWS file. - -

    - -

    Last modified 5 October 2006

    - - diff --git a/executable_names/doc/html/review_release.html b/executable_names/doc/html/review_release.html deleted file mode 100644 index 84bd793370..0000000000 --- a/executable_names/doc/html/review_release.html +++ /dev/null @@ -1,50 +0,0 @@ - - - -SLURM Web pages for Review and Release - - - -

    SLURM Web pages for Review and Release

    -NOTE: Do not follow links. - - - - diff --git a/executable_names/doc/html/schedplugins.shtml b/executable_names/doc/html/schedplugins.shtml deleted file mode 100644 index 0188a793fa..0000000000 --- a/executable_names/doc/html/schedplugins.shtml +++ /dev/null @@ -1,123 +0,0 @@ - - -

    SLURM Scheduler Plugin API

    - -

    Overview

    -

    This document describes SLURM scheduler plugins and the API that defines -them. It is intended as a resource to programmers wishing to write their own SLURM -scheduler plugins. This is version 0 of the API.

    - -

    It is noteworthy that two different models are used for job scheduling. -The backfill scheduler lets SLURM establish the initial job priority -and can periodically alter job priorities to change their order within the queue. -The wiki scheduler establishes an initial priority of zero (held) for -all jobs. These jobs only begin execution when the wiki scheduler -explicitly raises the their priority (releasing them). -Developers may use the model that best fits their needs. -Note that a separate node selection plugin -is available for controlling that aspect of scheduling.

    - -

    SLURM scheduler plugins are SLURM plugins that implement the SLURM scheduler -API described herein. They must conform to the SLURM Plugin API with the following -specifications:

    -

    const char plugin_type[]
    -The major type must be "sched." The minor type can be any recognizable -abbreviation for the type of scheduler. We recommend, for example:

    -
      -
    • builtin—A plugin that implements the API without providing any actual -scheduling services. This is the default behavior and implements first-in-first-out scheduling.
    • -
    • backfill—Raise the priority of jobs if doing so results in their starting earlier -without any delay in the expected initiation time of any higher priority job.
    • -
    • wiki—Use - -The Maui Scheduler (Wiki version) or - -Moab Cluster Suite as an external entity to control SLURM job scheduling.
    • -
    -

    The plugin_name and -plugin_version -symbols required by the SLURM Plugin API require no specialization for scheduler support. -Note carefully, however, the versioning discussion below.

    -

    The programmer is urged to study -src/plugins/sched/backfill and -src/plugins/sched/builtin -for sample implementations of a SLURM scheduler plugin.

    - - -

    Data Objects

    -

    The implementation must maintain (though not necessarily directly export) an -enumerated errno to allow SLURM to discover -as practically as possible the reason for any failed API call. Plugin-specific enumerated -integer values should be used when appropriate. It is desirable that these values -be mapped into the range ESLURM_SCHED_MIN and ESLURM_SCHED_MAX -as defined in slurm/slurm_errno.h. -The error number should be returned by the function -slurm_sched_get_errno() -and string describing the error's meaning should be returned by the function -slurm_sched_strerror() -described below.

    - -

    These values must not be used as return values in integer-valued functions -in the API. The proper error return value from integer-valued functions is SLURM_ERROR. -The implementation should endeavor to provide useful and pertinent information by -whatever means is practical. In some cases this means an errno for each credential, -since plugins must be re-entrant. If a plugin maintains a global errno in place of or in -addition to a per-credential errno, it is not required to enforce mutual exclusion on it. -Successful API calls are not required to reset any errno to a known value. However, -the initial value of any errno, prior to any error condition arising, should be -SLURM_SUCCESS.

    - - -

    API Functions

    -

    The following functions must appear. Functions which are not implemented should -be stubbed.

    - -

    int slurm_sched_plugin_schedule (void);

    -

    Description: For passive schedulers, invoke a scheduling pass.

    -

    Arguments: None

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    uint32_t slurm_sched_plugin_initial_priority (uint32_t last_prio);

    -

    Description: Establish the initial priority of a new job.

    -

    Arguments: last_prio  -  (input) default priority of the previously submitted job. This can be used to -provide First-In-First-Out scheduling by assigning the new job a priority lower than this value. -This could also be used to establish an initial priority of zero for all jobs, representing a -"held" state. The scheduler plugin can then decide where and when to initiate pending jobs -by altering their priority and (optionally) list of required nodes.

    -

    Returns: The priority to be assigned to this job.

    - -

    void slurm_sched_plugin_job_is_pending (void);

    -

    Description: Note that some job is pending execution..

    -

    Arguments: None

    -

    Returns: Nothing.

    - - -

    int slurm_sched_get_errno (void);

    -

    Description: Return the number of a scheduler -specific error.

    -

    Arguments: None

    -

    Returns: Error number for the last failure encountered by -the scheduler plugin.

    - -

    const char *slurm_sched_strerror(int errnum);

    -

    Description: Return a string description of a scheduler -specific error code.

    -

    Arguments: - errnum    (input) a scheduler -specific error code.

    -

    Returns: Pointer to string describing the error -or NULL if no description found in this plugin.

    - - -

    Versioning

    -

    This document describes version 0 of the SLURM Scheduler API. Future -releases of SLURM may revise this API. A scheduler plugin conveys its ability -to implement a particular API version using the mechanism outlined for SLURM plugins.

    - - -

    Last modified 24 August 2006

    - - diff --git a/executable_names/doc/html/selectplugins.shtml b/executable_names/doc/html/selectplugins.shtml deleted file mode 100644 index eb55406522..0000000000 --- a/executable_names/doc/html/selectplugins.shtml +++ /dev/null @@ -1,368 +0,0 @@ - - -

    SLURM Node Selection Plugin API

    - -

    Overview

    -

    This document describes SLURM node selection plugins and the API that defines -them. It is intended as a resource to programmers wishing to write their own SLURM -node selection plugins. This is version 0 of the API.

    - -

    SLURM node selection plugins are SLURM plugins that implement the SLURM node selection -API described herein. They are intended to provide a mechanism for both selecting -nodes for pending jobs and performing any system-specific tasks for job launch or -termination. The plugins must conform to the SLURM Plugin API with the following -specifications:

    -

    const char plugin_type[]
    -The major type must be "select." The minor type can be any recognizable -abbreviation for the type of node selection algorithm. We recommend, for example:

    -
      -
    • linear—A plugin that selects nodes assuming a one-dimensional -array of nodes. The nodes are selected so as to minimize the number of consecutive -sets of nodes utilizing a best-fit algorithm. While supporting shared nodes, -this plugin does not allocate individual processors, memory, etc. -This plugin is recommended for systems without shared nodes.
    • -
    • cons_res—A plugin that can allocate individual processors, -memory, etc. within nodes. This plugin is recommended for systems with -many non-parallel programs sharing nodes. For more information see -Consumable Resources in SLURM.
    • -
    • bluegeneIBM Blue Gene -node selector. Note that this plugin not only selects the nodes for a job, but performs -some initialization and termination functions for the job.
    • -
    -

    The plugin_name and -plugin_version -symbols required by the SLURM Plugin API require no specialization for node selection support. -Note carefully, however, the versioning discussion below.

    - -

    A simplified flow of logic follows: -

    -slurmctld daemon starts
    -if (select_p_state_restore)() != SLURM_SUCCESS)
    -   abort
    -
    -slurmctld reads the rest of its configuration and state information
    -if (select_p_node_init() != SLURM_SUCCESS)
    -   abort
    -if (select_p_block_init() != SLURM_SUCCESS)
    -   abort
    -
    -wait for job 
    -if (select_p_job_test(all available nodes) != SLURM_SUCCESS) {
    -   if (select_p_job_test(all configured nodes) != SLURM_SUCCESS)
    -      reject the job and tell the user it can never run
    -   else
    -      leave the job queued for later execution
    -} else {
    -   update job's node list and node bitmap
    -   if (select_p_job_begin() != SLURM_SUCCESS)
    -      leave the job queued for later execution
    -   else {
    -      while (!select_p_job_ready())
    -        wait
    -      execute the job
    -      wait for job to end or be terminated
    -      select_p_job_fini()
    -    }
    -}
    -
    -wait for slurmctld shutdown request
    -select_p_state_save()
    -
    -Depending upon failure modes, it is possible that -select_p_state_save() -will not be called at slurmctld terminatation. -When slurmctld is restarted, other function calls may be replayed. -select_p_node_init() may be used -to syncronize the plugin's state with that of slurmctld.

    - - - -

    Data Objects

    -

    These functions are expected to read and/or modify data structures directly in -the slurmctld daemon's memory. Slurmctld is a multi-threaded program with independent -read and write locks on each data structure type. Thererfore the type of operations -permitted on various data structures is identified for each function.

    - -

    These functions make use of bitmaps corresponding to the nodes in a table. -The function select_p_node_init() should -be used to establish the initial mapping of bitmap entries to nodes. -Functions defined in src/common/bitmap.h should be used for bitmap -manipulations (these functions are directly accessible from the plugin).

    - - - -

    API Functions

    -

    The following functions must appear. Functions which are not implemented should -be stubbed.

    - -

    Global Node Selection Functions

    -

    int select_p_state_save (char *dir_name);

    -

    Description: Save any global node selection state -information to a file within the specified directory. The actual file name used is plugin specific. -It is recommended that the global switch state contain a magic number for validation purposes. -This function is called by the slurmctld deamon on shutdown.

    -

    Arguments: dir_name  -  (input) fully-qualified pathname of a directory into which user SlurmUser (as defined -in slurm.conf) can create a file and write state information into that file. Cannot be NULL.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR.

    - -

    int select_p_state_restore (char *dir_name);

    -

    Description: Restore any global node selection state -information from a file within the specified directory. The actual file name used is plugin specific. -It is recommended that any magic number associated with the global switch state be verified. -This function is called by the slurmctld deamon on startup.

    -

    Arguments: dir_name  -  (input) fully-qualified pathname of a directory containing a state information file -from which user SlurmUser (as defined in slurm.conf) can read. Cannot be NULL.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR, causing slurmctld to exit.

    - -

    int select_p_node_init (struct node_record *node_ptr, int node_cnt);

    -

    Description: Note the initialization of the node record data -structure. This function is called when the node records are initially established and again -when any nodes are added to or removed from the data structure.

    -

    Arguments:
    - node_ptr   (input) pointer -to the node data records. Data in these records can read. Nodes deleted after initiialization -may have their the name field in the record cleared (zero length) rather than -rebuilding the node records and bitmaps.
    - node_cnt    (input) number -of node data records.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR, causing slurmctld to exit.

    - -

    int select_p_block_init (List block_list);

    -

    Description: Note the initialization of the partition record data -structure. This function is called when the partition records are initially established and again -when any partition configurations change.

    -

    Arguments: - part_list   (input) list of partition -record entries. Note that some of these partitions may have no associated nodes. Also -consider that nodes can be removed from one partition and added to a different partition.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR, causing slurmctld to exit.

    - -

    int select_p_update_block (update_part_msg_t *part_desc_ptr);

    -

    Description: This function is called when the admin needs to manually update the state of a block.

    -

    Arguments: - part_desc_ptr   (input) partitition -description variable. Containing the block name and the state to set the block.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR.

    - -

    int select_p_pack_node_info (time_t last_query_time, Buf *buffer_ptr);

    -

    Description: pack node specific information into a buffer.

    -

    Arguments: - last_query_time   (input) time that the data -was last saved. If it has not changed since this time, return SLURM_NO_CHANGE_IN_DATA.
    - buffer_ptre   (input/output) buffer into -which the node data is appended.

    -

    Returns: SLURM_SUCCESS if successful, -SLURM_NO_CHANGE_IN_DATA if data has not changed since last packed, otherwise SLURM_ERROR

    - - - -

    Job-Specific Node Selection Functions

    -

    int select_p_job_test (struct job_record *job_ptr, -bitstr_t *bitmap, int min_nodes, int max_nodes, int req_nodes, bool test_only);

    -

    Description: Given a job's scheduling requirement -specification and a set of nodes which might be used to satisfy the request, identify -the nodes which "best" satify the request. Note that nodes being considered for allocation -to the job may include nodes already allocated to other jobs, even if node sharing is -not permitted. This is done to ascertain whether or not job may be allocated resources -at some later time (when the other jobs complete). This permits SLURM to reject -non-runnable jobs at submit time rather than after they have spent hours queued. -Informing users of problems at job submission time permits them to quickly resubmit -the job with appropriate constraints.

    -

    Arguments:
    - job_ptr    (input) pointer -to the job being considered for scheduling. Data in this job record may safely be read. -Data of particular interst include details->contiguous (set if allocated nodes -should be contiguous), num_procs (minimum processors in allocation) and -details->req_node_bitmap (specific required nodes).
    - bitmap    (input/output) -bits representing nodes which might be allocated to the job are set on input. -This function should clear the bits representing nodes not required to satisfy -job's scheduling request. -Bits left set will represent nodes to be used for this job. Note that the job's -required nodes (details->req_node_bitmap) will be a superset -bitmap when the function is called.
    - min_nodes    (input) -minimum number of nodes to allocate to this job. Note this reflects both job -and partition specifications.
    - max_nodes    (input) -maximum number of nodes to allocate to this job. Note this reflects both job -and partition specifications.
    - req_nodes    (input) -the requested (desired) of nodes to allocate to this job. This reflects job's -maximum node specification (if supplied).
    - test_only    (input) -if set then we only want to test our ability to run the job at some time, -not necesarily now with currently available resources.
    -

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and future attempts may be made to schedule -the job.

    - -

    int select_p_job_begin (struct job_record *job_ptr);

    -

    Description: Note the initiation of the specified job -is about to begin. This function is called immediately after -select_p_job_test() sucessfully completes for this job. -

    Arguments: - job_ptr    (input) pointer -to the job being initialized. Data in this job record may safely be read or written. -The nodes and node_bitmap fields of this job record identify the -nodes which have already been selected for this job to use. For an example of -a job record field that the plugin may write into, see select_id.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR, which causes the job to be requeued for -later execution.

    - -

    int select_p_job_ready (struct job_record *job_ptr);

    -

    Description: Test if resources are configured -and ready for job execution. This function is only used in the job prolog for -BlueGene systems to determine if the bglblock has been booted and is ready for use.

    -

    Arguments: - job_ptr    (input) pointer -to the job being initialized. Data in this job record may safely be read. -The nodes and node_bitmap fields of this job record identify the -nodes which have already been selected for this job to use.

    -

    Returns: 1 if the job may begin execution, -0 otherwise.

    - -

    int select_p_job_fini (struct job_record *job_ptr);

    -

    Description: Note the termination of the -specified job. This function is called as the termination process for the -job begins (prior to killing the tasks).

    -

    Arguments: - job_ptr    (input) pointer -to the job being terminated. Data in this job record may safely be read or written. -The nodes and/or node_bitmap fields of this job record identify the -nodes which were selected for this job to use.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR.

    - -

    int select_p_job_suspend (struct job_record *job_ptr);

    -

    Description: Suspend the specified job. -Release resources for use by other jobs.

    -

    Arguments: - job_ptr    (input) pointer -to the job being suspended. Data in this job record may safely be read or -written. The nodes and/or node_bitmap fields of this job record -identify the nodes which were selected for this job to use.

    -

    Returns: SLURM_SUCCESS if successful. On -failure, the plugin should return a SLURM error code.

    - -

    int select_p_job_resume (struct job_record *job_ptr);

    -

    Description: Resume the specified job -which was previously suspended.

    -

    Arguments: - job_ptr    (input) pointer -to the job being resumed. Data in this job record may safely be read or -written. The nodes and/or node_bitmap fields of this job record -identify the nodes which were selected for this job to use.

    -

    Returns: SLURM_SUCCESS if successful. On -failure, the plugin should return a SLURM error code.

    - - - -

    Get/set plugin information

    -

    int select_p_get_extra_jobinfo(struct node_record *node_ptr, -struct job_record *job_ptr, enum select_data_info info, void *data);

    -

    Description: Get plugin-specific information -related to the specified job and/or node.

    -

    Arguments:
    - node_ptr    (input) pointer -to the node for which information is requested.
    - job_ptr    (input) pointer -to the job for which information is requested.
    - info    (input) identifies -the type of data requested.
    - data    (output) the requested data.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR.

    - -

    int select_p_get_select_nodeinfo(struct node_record *node_ptr, -enum select_data_info info, void *data);

    -

    Description: Get plugin-specific information -related to the specified node.

    -

    Arguments:
    - node_ptr    (input) pointer -to the node for which information is requested.
    - info    (input) identifies -the type of data requested.
    - data    (output) the requested data.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR.

    - -

    int select_p_update_nodeinfo(struct node_record *node_ptr);

    -

    Description: Update plugin-specific information -related to the specified node. This is called after changes in a node's configuration.

    -

    Argument: - node_ptr    (input) pointer -to the node for which information is requested.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR.

    - -

    int select_p_get_info_from_plugin(enum select_data_info info, void *data);

    -

    Description: Get plugin-specific information.

    -

    Arguments:
    - info    (input) identifies -the type of data to be updated.
    - data    (output) the requested data.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR.

    - -

    int select_p_job_init(List job_list);

    -

    Description: Used at slurm startup to -syncrhonize plugin (and node) state with that of currectly active jobs.

    -

    Arguments: - job_list    (input) -list of slurm jobs from slurmctld job records.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR.

    - -

    int select_p_update_node_state (int index, uint16_t state);

    -

    Description: push a change of state -into the plugin the index should be the index from the slurmctld of -the entire system. The state should be the same state the node_record -was set to in the slurmctld.

    -

    Arguments: - index   (input) index -of the node in reference to the entire system.
    - state   (input) new -state of the node.

    -

    Returns: SLURM_SUCCESS if successful, otherwise SLURM_ERROR

    - -

    int select_p_alter_node_cnt (enum -select_node_cnt type, void *data);

    -

    Description: Used for systems like -a Bluegene system where slurm sees 1 node where many nodes really -exists, in Bluegene's case 1 node reflects 512 nodes in real live, but -since usually 512 is the smallest allocatable block slurm only handles -it as 1 node. This is a function so the user can issue a 'real' -number and the fuction will alter it so slurm can understand what the -user really means in slurm terms.

    -

    Arguments: - type   (input) enum -telling the plug in what the user is really wanting.
    - data   (input/output) -Is a void * so depending on the type sent in argument 1 this should -adjust the variable returning what the user is asking for.

    -

    Returns: SLURM_SUCCESS if successful, otherwise SLURM_ERROR

    - - -

    Versioning

    -

    This document describes version 1 of the SLURM node selection API. Future -releases of SLURM may revise this API. A node selection plugin conveys its ability -to implement a particular API version using the mechanism outlined for SLURM plugins. -In addition, the credential is transmitted along with the version number of the -plugin that transmitted it. It is at the discretion of the plugin author whether -to maintain data format compatibility across different versions of the plugin.

    - - - -

    Last modified 12 October 2006

    - - diff --git a/executable_names/doc/html/shtml2html.py b/executable_names/doc/html/shtml2html.py deleted file mode 100755 index 107d8c3373..0000000000 --- a/executable_names/doc/html/shtml2html.py +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env python - -import re -import sys -import os - -include_pat = r'()' -include_regex = re.compile(include_pat) - -url_pat = r'(\s+href\s*=\s*")([^"#]+)(#[^"]+)?(")' -url_regex = re.compile(url_pat) - -dirname = '' - -def include_virtual(matchobj): - global dirname - if dirname: - filename = dirname + '/' + matchobj.group(2) - else: - filename = matchobj.group(2) - - if os.access(filename, os.F_OK): - #print 'Including file', filename - lines = file(filename, 'r').read() - return lines - else: - return matchobj.group(0) - -def url_rewrite(matchobj): - global dirname - if dirname: - localpath = dirname + '/' + matchobj.group(2) - else: - localpath = matchobj.group(2) - - if matchobj.group(2)[-6:] == '.shtml' and os.access(localpath, os.F_OK): - location = matchobj.group(2) - if matchobj.group(3) is None: - newname = location[:-6] + '.html' - else: - newname = location[:-6] + '.html' + matchobj.group(3) - #print 'Rewriting', location, 'to', newname - return matchobj.group(1) + newname + matchobj.group(4) - else: - return matchobj.group(0) - -# Make sure all of the files on the command line have the .shtml extension. -files = [] -for f in sys.argv[1:]: - if f[-6:] == '.shtml': - files.append(f) - else: - #print 'Skipping file %s (extension is not .shtml)' % f - pass - -for filename in files: - dirname, basefilename = os.path.split(filename) - newfilename = basefilename[:-6] + '.html' - print 'Converting', filename, '->', newfilename - shtml = file(filename, 'r') - html = file(newfilename, 'w') - - for line in shtml.readlines(): - line = include_regex.sub(include_virtual, line) - line = url_regex.sub(url_rewrite, line) - html.write(line) - - html.close() - shtml.close() diff --git a/executable_names/doc/html/slurm.shtml b/executable_names/doc/html/slurm.shtml deleted file mode 100644 index 65fa981766..0000000000 --- a/executable_names/doc/html/slurm.shtml +++ /dev/null @@ -1,50 +0,0 @@ - - -

    SLURM: A Highly Scalable Resource Manager

    -

    SLURM is an open-source resource manager designed for Linux clusters of all -sizes. It provides three key functions. First it allocates exclusive and/or non-exclusive -access to resources (computer nodes) to users for some duration of time so they -can perform work. Second, it provides a framework for starting, executing, and -monitoring work (typically a parallel job) on a set of allocated nodes. Finally, -it arbitrates conflicting requests for resources by managing a queue of pending -work.

    - -

    SLURM is not a sophisticated batch system, but it does provide an Applications -Programming Interface (API) for integration with external schedulers such as - -The Maui Scheduler and - -Moab Cluster Suite. -While other resource managers do exist, SLURM is unique in several respects: -

      -
    • Its source code is freely available under the -GNU General Public License.
    • -
    • It is designed to operate in a heterogeneous cluster with up to 65,536 nodes.
    • -
    • It is portable; written in C with a GNU autoconf configuration engine. While -initially written for Linux, other UNIX-like operating systems should be easy -porting targets. A plugin mechanism exists to support various interconnects, authentication -mechanisms, schedulers, etc.
    • -
    • SLURM is highly tolerant of system failures, including failure of the node -executing its control functions.
    • -
    • It is simple enough for the motivated end user to understand its source and -add functionality.
    • -

    - -

    SLURM provides resource management on about 1000 computers world-wide including -many of the most powerful computers in the world including: -

      -
    • BlueGene/L with 65,536 -dual-processor compute nodes
    • -
    • ASC Purple an IBM SP/AIX cluster -with 1532 nodes each having eight Power5 processors
    • -
    • Peloton with 1152 nodes each having four sockets with dual core Opteron processors and an InfiniBand switch
    • -
    -There are about 150 downloads of SLURM per month from LLNL's FTP server alone. -As of September 2006, SLURM has been downloaded over 3500 times to over 500 -distinct sites in 38 countries. -SLURM is also distributed and supported by -Hewlett-Packard as the resource manager in their XC System Software.

    - -

    Last modified 19 October 2006

    - - diff --git a/executable_names/doc/html/slurm_banner_filler.jpg b/executable_names/doc/html/slurm_banner_filler.jpg deleted file mode 100644 index eeb049c851a37c02e01de2a93abcf86452acfc02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 365 zcmex=O8CaQFSXh`@fdnfnD;qlx2Rjh(b8~a@2=WUF3GxdH z3X92z3yVmJ3JOXnN=V7d%FD|Oiz}%p$*IW5$;*KZVFYSrXJhB%;NX)J5fqUl8T>!M zAjrWmk%6C?QHg;`kdaxC@&6G9F|gkto`8}ZAaMx+Mh0d^6mg04rB8q|BEYaf10YdB sOwn5mJU}Cu1epaH>=}9*K$^0Fm@&<<+nISmvsfFu(;1K;gZ%%S02_Wde*gdg diff --git a/executable_names/doc/html/slurm_banner_filler.png b/executable_names/doc/html/slurm_banner_filler.png deleted file mode 100644 index fca0ea1f38a15c9510b4efa71b8ea9341c0b45dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^{6IXBg9%7ZzEP?Nq&N#aB8wRqxP?KOkzv*x37{Z* ziKnkC`&DjkQ7w(Uqf=6WLJ^)Wjv*0;-(FqF*I*#va!~K#|N5OBTm~297|kDh#Ob-_ zW-~B+@S5~IA^uI<+g}%}=U?|cwS9T}`6^Z2Kk^KB_)g|~Pr7OW#FSl+1?O^b9^>bP0l+XkKx)eaH diff --git a/executable_names/doc/html/slurm_banner_left.jpg b/executable_names/doc/html/slurm_banner_left.jpg deleted file mode 100644 index 1ac4a81cf4b17ce979dedc32beddc87509f053cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11825 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 C*xf+@ diff --git a/executable_names/doc/html/slurm_banner_left.png b/executable_names/doc/html/slurm_banner_left.png deleted file mode 100644 index 68bb4220fb1b1fd15401c90e489fa3d8ea9b1f37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33500 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 diff --git a/executable_names/doc/html/slurm_banner_right.jpg b/executable_names/doc/html/slurm_banner_right.jpg deleted file mode 100644 index b29fd3856b65c5ac395da612059809430a95cbc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4459 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%0D^eYwn~iJ#*6~M%MBL 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

    y` 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 z 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 diff --git a/executable_names/doc/html/slurmstyles.css b/executable_names/doc/html/slurmstyles.css deleted file mode 100644 index e32e98011b..0000000000 --- a/executable_names/doc/html/slurmstyles.css +++ /dev/null @@ -1,104 +0,0 @@ -body { - background-color: #000000; - font-family: arial, verdana, helvetica, sans-serif; -} -h1 { font-size: 150% } -h2 { font-size: 130% } -h3 { font-size: 115% } -p { font-size: 100% } - -pre { - width: 90%; - margin: 0 0 15px 20px; - padding: 15px; - border: 1px solid gray; - background-color: #ddd; - font-family: monospace; - white-space: pre; - overflow: auto; -} - -/* "container" wraps the entire web page */ -#container { - width: 95%; - margin: 10px auto; - background-color: #fff; - color: #333; - border: 0px solid gray; - line-height: 130%; -} - -#banner { - /* - * In IE6, the "banner" div is a little taller than the slurm_banner.jpg - * (who knows why...) and if the background-color was #000000, a line of - * black would appear under the banner. - */ - background-color: #FFFFFF; - /*background-color: #000000;*/ - background-image: url(slurm_banner_filler.jpg); - background-repeat: repeat-x; - /*border-bottom: 1px solid gray;*/ -} -#banner_right_img { - position: absolute; - right: 5%; - z-index: 1; -} - -#navigation { - float: left; - margin-left: 20px; - width: 160px; - overflow: auto; -} - -/* The main info of the page is wrapped in a "content" div */ -#content { - margin-left: 200px; - border-left: 1px solid gray; - padding: 1em; - /*max-width: 36em;*/ -} -#content h1 { text-align: center; } -#content dt { font-weight: bold; } /* normal, bold, 900 */ - -#footer { - clear: both; - margin: 0; - padding: .5em; - color: #333; - background-color: #ddd; - border-top: 1px solid gray; - text-align: center; -} - -div.figure { - /*float: right;*/ - margin: 0 0 15px 20px; - padding: 15px; - /*border: 1px solid gray;*/ - text-align: center; - font-style: italic; - overflow: auto; -} - -div.terminal { - width: 90%; - margin: 0 0 15px 20px; - padding: 15px; - border: 1px solid gray; - background-color: #ddd; - font-family: monospace; - white-space: pre; - overflow: auto; -} - -/* When printing, eliminate the nagivation column on the left, - * and make the content section fill the width of the page. - */ -@media print { - #navigation { display: none } - #content { margin-left: 0px; border-left: 0px solid gray; } - } -} diff --git a/executable_names/doc/html/switchplugins.shtml b/executable_names/doc/html/switchplugins.shtml deleted file mode 100644 index 9703dba8a5..0000000000 --- a/executable_names/doc/html/switchplugins.shtml +++ /dev/null @@ -1,524 +0,0 @@ - - -

    SLURM Switch Plugin API

    - -

    Overview

    -

    This document describes SLURM switch (interconnect) plugins and the API that defines -them. It is intended as a resource to programmers wishing to write their own SLURM -switch plugins. This is version 0 of the API. -Note that many of the API functions are used only by one of the daemons. For -example the slurmctld daemon builds a job step's switch credential -(switch_p_build_jobinfo) while the -slurmd daemon enables and disables that credential for the job step's -tasks on a particular node(switch_p_job_init, -etc.).

    - -

    SLURM switch plugins are SLURM plugins that implement the SLURM switch or interconnect -API described herein. They must conform to the SLURM Plugin API with the following -specifications:

    -

    const char plugin_type[]
    -The major type must be "switch." The minor type can be any recognizable -abbreviation for the type of switch. We recommend, for example:

    -
      -
    • none—A plugin that implements the API without providing any actual -switch service. This is the case for Ethernet and Myrinet interconnects.
    • -
    • elanQuadrics Elan3 or Elan4 -interconnect.
    • -
    • federation—IBM Federation interconnects (presently under development).
    • -
    -

    The plugin_name and -plugin_version -symbols required by the SLURM Plugin API require no specialization for switch support. -Note carefully, however, the versioning discussion below.

    -

    The programmer is urged to study -src/plugins/switch/switch_elan.c and -src/plugins/switch/switch_none.c -for sample implementations of a SLURM switch plugin.

    - - -

    Data Objects

    -

    The implementation must support two opaque data classes. -One is used as an job's switch "credential." -This class must encapsulate all job-specific information necessary -for the operation of the API specification below. -The second is a node's switch state record. -Both data classes are referred to in SLURM code using an anonymous -pointer (void *).

    - -

    The implementation must maintain (though not necessarily directly export) an -enumerated errno to allow SLURM to discover -as practically as possible the reason for any failed API call. Plugin-specific enumerated -integer values should be used when appropriate. It is desirable that these values -be mapped into the range ESLURM_SWITCH_MIN and ESLURM_SWITCH_MAX -as defined in slurm/slurm_errno.h. -The error number should be returned by the function -switch_p_get_errno() -and this error number can be converted to an appropriate string description using the -switch_p_strerror() -function described below.

    - -

    These values must not be used as return values in integer-valued functions -in the API. The proper error return value from integer-valued functions is SLURM_ERROR. -The implementation should endeavor to provide useful and pertinent information by -whatever means is practical. In some cases this means an errno for each credential, -since plugins must be re-entrant. If a plugin maintains a global errno in place of or in -addition to a per-credential errno, it is not required to enforce mutual exclusion on it. -Successful API calls are not required to reset any errno to a known value. However, -the initial value of any errno, prior to any error condition arising, should be -SLURM_SUCCESS.

    - - -

    API Functions

    -

    The following functions must appear. Functions which are not implemented should -be stubbed.

    - -

    Global Switch State Functions

    -

    int switch_p_libstate_save (char *dir_name);

    -

    Description: Save any global switch state to a file -within the specified directory. The actual file name used is plugin specific. It is recommended -that the global switch state contain a magic number for validation purposes. This function -is called by the slurmctld deamon on shutdown. Note that if the slurmctld daemon fails, -this function will not be called. The plugin may save state independently and/or make -use of the switch_p_job_step_allocated function to restore state.

    -

    Arguments: dir_name  -  (input) fully-qualified pathname of a directory into which user SlurmUser (as defined -in slurm.conf) can create a file and write state information into that file. Cannot be NULL.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_libstate_restore(char *dir_name, bool recover);

    -

    Description: Restore any global switch state from a file -within the specified directory. The actual file name used is plugin specific. It is recommended -that any magic number associated with the global switch state be verified. This function -is called by the slurmctld deamon on startup.

    -

    Arguments:
    - dir_name  -  (input) fully-qualified pathname of a directory containing a state information file -from which user SlurmUser (as defined in slurm.conf) can read. Cannot be NULL.
    - recover  -true of restart with state preserved, false if no state recovery.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_libstate_clear (void);

    -

    Description: Clear switch state information. -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    bool switch_p_no_frag(void);

    -

    Description: Report if resource fragmentation is important. -If so, delay scheduling a new job while another is in the process of terminating.

    -

    Arguments: None

    -

    Returns: TRUE if job scheduling should be delayed while -any other job is in the process of terminating.

    - - -

    Node's Switch State Monitoring Functions

    - -

    Nodes will register with current switch state information when the slurmd daemon -is initiated. The slurmctld daemon will also request that slurmd supply current -switch state information on a periodic basis.

    - -

    int switch_p_clear_node_state (void);

    -

    Description: Initialize node state. -If any switch state has previously been established for a job, it will be cleared. -This will be used to establish a "clean" state for the switch on the node upon -which it is executed.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_alloc_node_info(switch_node_info_t *switch_node);

    -

    Description: Allocate storage for a node's switch -state record. It is recommended that the record contain a magic number for validation -purposes.

    -

    Arguments: switch_node  -  (output) location for writing location of node's switch state record.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_build_node_info(switch_node_info_t switch_node);

    -

    Description: Fill in a previously allocated switch state -record for the node on which this function is executed. -It is recommended that the magic number be validated. -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_pack_node_info (switch_node_info_t switch_node, -Buf buffer);

    -

    Description: Pack the data associated with a -node's switch state into a buffer for network transmission.

    -

    Arguments:
    - switch_node    (input) an existing -node's switch state record.
    - buffer    (input/output) buffer onto -which the switch state information is appended.

    -

    Returns: -The number of bytes written should be returned if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_unpack_node_info (switch_node_info_t switch_node, -Buf buffer);

    -

    Description: Unpack the data associated with a -node's switch state record from a buffer.

    -

    Arguments:
    - switch_node    (input/output) a -previously allocated node switch state record to be filled in with data read from -the buffer.
    - buffer    (input/output) buffer from -which the record's contents are read.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    void switch_p_free_node_info (switch_node_info_t switch_node);

    -

    Description: Release the storage associated with -a node's switch state record.

    -

    Arguments: switch_node  -  (intput/output) a previously allocated node switch state record.

    -

    Returns: None

    - -

    char * switch_p_sprintf_node_info (switch_node_info_t switch_node, -char *buf, size_t size);

    -

    Description: Print the contents of a node's switch state -record to a buffer.

    -

    Arguments:
    - switch_node    (input) a -node's switch state record.
    - buf    (input/output) point to -buffer into which the switch state record is to be written.
    -of buf in bytes.
    - size    (input) size -of buf in bytes.

    -

    Returns: Location of buffer, same as buf.

    - -

    Job's Switch Credential Management Functions

    -

    int switch_p_alloc_jobinfo(switch_jobinfo_t *switch_job);

    -

    Description: Allocate storage for a job's switch credential. -It is recommended that the credential contain a magic number for validation purposes.

    -

    Arguments: switch_job  -  (output) location for writing location of job's switch credential.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_build_jobinfo (switch_jobinfo_t switch_job, -char *nodelist, int *tasks_per_node, int cyclic_alloc, char *network);

    -

    Description: Build a job's switch credential. -It is recommended that the credential's magic number be validated.

    -

    Arguments:
    -switch_job    (input/output) Job's -switch credential to be updated
    -nodelist    (input) List of nodes -allocated to the job. This may contain expressions to specify node ranges (e.g. -"linux[1-20]" or "linux[2,4,6,8]").
    -tasks_per_node    (input) List -of processes per node to be initiated as part of the job.
    -cyclic_alloc    (input) Non-zero -if job's processes are to be allocated across nodes in a cyclic fashion (task 0 on node 0, -task 1 on node 1, etc). If zero, processes are allocated sequentially on a node before -moving to the next node (tasks 0 and 1 on node 0, tasks 2 and 3 on node 1, etc.).
    -network    (input) Job's network -specification from srun command.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    switch_jobinfo_t switch_p_copy_jobinfo (switch_jobinfo_t switch_job);

    -

    Description: Allocate storage for a job's switch credential -and copy an existing credential to that location.

    -

    Arguments: switch_job  -  (input) an existing job switch credential.

    -

    Returns: A newly allocated job switch credential containing a -copy of the function argument.

    - -

    void switch_p_free_jobinfo (switch_jobinfo_t switch_job);

    -

    Description: Release the storage associated with a job's - switch credential.

    -

    Arguments: switch_job  -  (intput) an existing job switch credential.

    -

    Returns: None

    - -

    int switch_p_pack_jobinfo (switch_jobinfo_t switch_job, Buf buffer);

    -

    Description: Pack the data associated with a job's -switch credential into a buffer for network transmission.

    -

    Arguments:
    - switch_job    (input) an existing job -switch credential.
    - buffer    (input/output) buffer onto -which the credential's contents are appended.

    -

    Returns: -The number of bytes written should be returned if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_unpack_jobinfo (switch_jobinfo_t switch_job, Buf buffer);

    -

    Description: Unpack the data associated with a job's -switch credential from a buffer.

    -

    Arguments:
    - switch_job    (input/output) a previously -allocated job switch credential to be filled in with data read from the buffer.
    - buffer    (input/output) buffer from -which the credential's contents are read.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_get_jobinfo (switch_jobinfo_t switch_job, int data_type, void *data);

    -

    Description: Get some specific data from a job's switch credential.

    -

    Arguments:
    - switch_job    (input) a job's switch credential.
    - data_type    (input) identification -as to the type of data requested. The interpretation of this value is plugin dependent.
    - data    (output) filled in with the desired -data. The form of this data is dependent upon the value of data_type and the plugin.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_job_step_complete (switch_jobinfo_t switch_job, -char *nodelist);

    -

    Description: Note that the job step associated -with the specified nodelist has completed execution.

    -

    Arguments:
    - switch_job    (input) -The completed job's switch credential.
    - nodelist    (input) A list of nodes -on which the job has completed. This may contain expressions to specify node ranges. -(e.g. "linux[1-20]" or "linux[2,4,6,8]").

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_job_step_part_comp (switch_jobinfo_t switch_job, -char *nodelist);

    -

    Description: Note that the job step has completed -execution on the specified node list. The job step is not necessarily completed on all -nodes, but switch resources associated with it on the specified nodes are no longer -in use.

    -

    Arguments:
    - switch_job    (input) -The completed job's switch credential.
    - nodelist    (input) A list of nodes -on which the job step has completed. This may contain expressions to specify node ranges. -(e.g. "linux[1-20]" or "linux[2,4,6,8]").

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    bool switch_p_part_comp (void);

    -

    Description: Indicate if the switch plugin should -process partitial job step completions (i.e. switch_g_job_step_part_comp). Support -of partition completions is compute intensive, so it should be avoided unless switch -resources are in short supply (e.g. switch/federation).

    -

    Returns: True if partition step completions are -to be recorded. False if only full job step completions are to be noted.

    - -

    void switch_p_print_jobinfo(FILE *fp, switch_jobinfo_t switch_job);

    -

    Description: Print the contents of a job's -switch credential to a file.

    -

    Arguments:
    - fp    (input) pointer to an open file.
    - switch_job    (input) a job's -switch credential.

    -

    Returns: None.

    - -

    char *switch_p_sprint_jobinfo(switch_jobinfo_t switch_job, -char *buf, size_t size);

    -

    Description: Print the contents of a job's -switch credential to a buffer.

    -

    Arguments:
    - switch_job    (input) a job's -switch credential.
    - buf    (input/output) pointer to -buffer into which the job credential information is to be written.
    - size    (input) size of buf in -bytes

    -

    Returns: location of buffer, same as buf.

    - -

    int switch_p_get_data_jobinfo(switch_jobinfo_t switch_job, -int key, void *resulting_data);

    -

    Description: Get data from a job's -switch credential.

    -

    Arguments:
    - switch_job    (input) a job's -switch credential.
    - key    (input) identification -of the type of data to be retrieved from the switch credential. NOTE: The -interpretation of this key is dependent upon the switch type.
    - resulting_data    (input/output) -pointer to where the requested data should be stored.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - - - -

    Node Specific Switch Management Functions

    -

    int switch_p_node_init (void);

    -

    Description: This function is run from the top level slurmd -only once per slurmd run. It may be used, for instance, to perform some one-time -interconnect setup or spawn an error handling thread.

    -

    Arguments: None

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_node_fini (void);

    -

    Description: This function is called once as slurmd exits -(slurmd will wait for this function to return before continuing the exit process).

    -

    Arguments: None

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - - -

    Job Management Functions

    -
    -=========================================================================
    -Process 1 (root)        Process 2 (root, user)  |  Process 3 (user task) 
    -                                                |                        
    -switch_p_job_preinit                            |                        
    -fork ------------------ switch_p_job_init       |                        
    -waitpid                 setuid, chdir, etc.     |                        
    -                        fork N procs -----------+--- switch_p_job_attach 
    -                        wait all                |    exec mpi process    
    -                        switch_p_job_fini*      |                        
    -switch_p_job_postfini                           |                        
    -=========================================================================
    -
    - -

    int switch_p_job_preinit (switch_jobinfo_t jobinfo switch_job);

    -

    Description: Preinit is run as root in the first slurmd process, -the so called job manager. This function can be used to perform any initialization -that needs to be performed in the same process as switch_p_job_fini().

    -

    Arguments: - switch_job    (input) a job's -switch credential.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_job_init (switch_jobinfo_t jobinfo switch_job, uid_t uid);

    -

    Description: Initialize interconnect on node for a job. -This function is run from the second slurmd process (some interconnect implementations -may require the switch_p_job_init functions to be executed from a separate process -than the process executing switch_p_job_fini() [e.g. Quadrics Elan]).

    -

    Arguments:
    - switch_job    (input) a job's -switch credential.
    - uid    (input) the user id -to execute a job.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_job_attach ( switch_jobinfo_t switch_job, char ***env, -uint32_t nodeid, uint32_t procid, uint32_t nnodes, uint32_t nprocs, uint32_t rank );

    -

    Description: Attach process to interconnect -(Called from within the process, so it is appropriate to set interconnect specific -environment variables here).

    -

    Arguments:
    - switch_job    (input) a job's -switch credential.
    - env    (input/output) the -environment variables to be set upon job initiation. Switch specific environment -variables are added as needed.
    - nodeid    (input) zero-origin -id of this node.
    - procid    (input) zero-origin -process id local to slurmd and not equivalent to the global task id or MPI rank.
    - nnodes    (input) count of -nodes allocated to this job.
    - nprocs    (input) total count of -processes or tasks to be initiated for this job.
    - rank    (input) zero-origin -id of this task.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_job_fini (switch_jobinfo_t jobinfo switch_job);

    -

    Description: This function is run from the same process -as switch_p_job_init() after all job tasks have exited. It is *not* run as root, because -the process in question has already setuid to the job owner.

    -

    Arguments: - switch_job    (input) a job's -switch credential.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_job_postfini ( switch_jobinfo_t switch_job, -uid_t pgid, uint32_t job_id, uint32_t step_id );

    -

    Description: This function is run from the initial slurmd -process (same process as switch_p_job_preinit()), and is run as root. Any cleanup routines -that need to be run with root privileges should be run from this function.

    -

    Arguments:
    - switch_job    (input) a job's -switch credential.
    - pgid    (input) The process -group id associated with this task.
    - job_id    (input) the -associated SLURM job id.
    - step_id    (input) the -associated SLURM job step id.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - -

    int switch_p_job_step_allocated (switch_jobinfo_t -jobinfo switch_job, char *nodelist);

    -

    Description: Note that the identified -job step is active at restart time. This function can be used to -restore global switch state information based upon job steps known to be -active at restart time. Use of this function is prefered over switch state -saved and restored by the switch plugin. Direct use of job step switch -information eliminates the possibility of inconsistent state information -between the switch and job steps. -

    Arguments:
    - switch_job    (input) a job's -switch credential.
    - nodelist    (input) the nodes -allocated to a job step.

    -

    Returns: SLURM_SUCCESS if successful. On failure, -the plugin should return SLURM_ERROR and set the errno to an appropriate value -to indicate the reason for failure.

    - - -

    Error Handling Functions

    -

    int switch_p_get_errno (void);

    -

    Description: Return the number of a switch -specific error.

    -

    Arguments: None

    -

    Returns: Error number for the last failure encountered by -the switch plugin.

    - -

    char *switch_p_strerror(int errnum);

    -

    Description: Return a string description of a switch -specific error code.

    -

    Arguments: - errnum    (input) a switch -specific error code.

    -

    Returns: Pointer to string describing the error -or NULL if no description found in this plugin.

    - - -

    Versioning

    -

    This document describes version 0 of the SLURM Switch API. Future -releases of SLURM may revise this API. A switch plugin conveys its ability -to implement a particular API version using the mechanism outlined for SLURM plugins. -In addition, the credential is transmitted along with the version number of the -plugin that transmitted it. It is at the discretion of the plugin author whether -to maintain data format compatibility across different versions of the plugin.

    - - -

    Last modified 3 July 2006

    - - diff --git a/executable_names/doc/html/team.shtml b/executable_names/doc/html/team.shtml deleted file mode 100644 index 50d238ef93..0000000000 --- a/executable_names/doc/html/team.shtml +++ /dev/null @@ -1,49 +0,0 @@ - - -

    SLURM Team

    -

    SLURM development has been a joint effort of -Lawrence Livermore National Laboratory (LLNL), -HP, -Linux NetworX. - -

    The current SLURM development staff includes:

    -
      -
    • Morris Jette (LLNL, Project leader)
    • -
    • Danny Auble (LLNL)
    • -
    • Susanne Balle (HP)
    • -
    • Mark Grondona (LLNL)
    • -
    • Chris Holmes (HP)
    • -
    • Chris Morrone (LLNL)
    • -
    • Daniel Palermo (HP)
    • -
    • Andy Riebs (HP)
    • -
    - -

    SLURM contributers include:

    -
      -
    • Amjad Majid Ali (Colorado State University)
    • -
    • Ernest Artiaga (Barcelona Supercomputer Center, Spain)
    • -
    • Chuck Clouston (Bull)
    • -
    • Hongjia Cao (National University of Defense Techonogy, China)
    • -
    • Daniel Christians (HP)
    • -
    • Chris Dunlap (LLNL)
    • -
    • Joey Ekstrom (LLNL/Bringham Young University)
    • -
    • Jim Garlick (LLNL)
    • -
    • Takao Hatazaki (HP, Japan)
    • -
    • Nathan Huff (North Dakota State University)
    • -
    • David Jackson (Cluster Resources)
    • -
    • Greg Johnson (LANL)
    • -
    • Jason King (LLNL)
    • -
    • Bernard Li (Genome Sciences Centre, Canada)
    • -
    • Donna Mecozzi (LLNL)
    • -
    • Bryan O'Sullivan (Pathscale)
    • -
    • Gennaro Oliva (Institute of High Performance Computing and -Networking, Italy)
    • -
    • Dan Phung (LLNL/Columbia University)
    • -
    • Jeff Squyres (LAM MPI)
    • -
    • Kevin Tew (LLNL/Bringham Young University)
    • -
    • Jay Windley (Linux NetworX)
    • -
    - -

    Last modified 31 August 2006

    - - diff --git a/executable_names/doc/html/testimonials.shtml b/executable_names/doc/html/testimonials.shtml deleted file mode 100644 index 285a0852a0..0000000000 --- a/executable_names/doc/html/testimonials.shtml +++ /dev/null @@ -1,97 +0,0 @@ - - -

    Customer Testimonials

    - - -"Today our largest IBM computers, BlueGene/L and Purple, ranked #1 and #3 -respectively on the November 2005 Top500 list, use SLURM. -This decision reduces large job launch times from tens of minutes to seconds. -This effectively provides -us with millions of dollars with of additional compute resources without -additional cost. It also allows our computational scientists to use their -time more effectively. SLURM is scalable to very large numbers of processors, -another essential ingredient for use at LLNL. This means larger computer -systems can be used than otherwise possible with a commensurate increase in -the scale of problems that can be solved. SLURM's scalability has eliminated -resource management from being a concern for computers of any foreseeable -size. It is one of the best things to happen to massively parallel computing." -

    -Dona Crawford, Associate Directory Lawrence Livermore National Laboratory -
    -
    - - -"We are extremely pleased with SLURM and strongly recommend it to others -because it is mature, the developers are highly responsive and -it just works."

    -Jeffrey M. Squyres, Pervasive Technology Labs at Indiana University -
    -
    - - -We adopted SLURM as our resource manager over two years ago when it was at -the 0.3.x release level. Since then it has become an integral and important -component of our production research services. Its stability, flexibility -and performance has allowed us to significantly increase the quality of -experience we offer to our researchers."

    -Dr. Greg Wettstein, Ph.D. North Dakota State University -
    -
    - - -"SLURM is the coolest thing since the invention of UNIX... -We now can control who can log into [compute nodes] or at least can control -which ones to allow logging into. This will be a tremendous help for users -who are developing their apps."

    -Dennis Gurgul, Research Computing, Partners Health Care -
    -
    - - -"SLURM is a great product that I'd recommend to anyone setting up a cluster, -or looking to reduce their costs by abandoning an existing commercial -resource manager."

    -Josh Lothian, National Center for Computational Sciences, -Oak Ridge National Laboratory -
    -
    - - -"SLURM is under active development, is easy to use, works quite well, -and most important to your harried author, it hasn't been a nightmare -to configure or manage. (Strong praise, that.) I would range SLURM as -the best of the three open source batching systems available, by rather -a large margin."

    -Bryan O'Sullivan, Pathscale -
    -
    - - -"SLURM was a great help for us in implementing our own very concise -job management system on top of it which could be taylored precisely -to our needs, and which at the same time is very simple to use for -our customers. -In general, we are impressed with the stability, scalability, and performance -of SLURM. Furthermore, SLURM is very easy to configure and use. The fact that -SLURM is open-source software with a free license is also advantageous for us -in terms of cost-benefit considerations."

    -Dr. Wilfried Juling, Direktor, Scientific Supercomputing Center, -University of Karlsruhe -
    -
    - - -"SLURM has been adopted as the parallel allocation infrastructure used -in HP's premier cluster stack, XC System Software. SLURM has permitted -easy scaling of parallel applications on cluster systems with thousands -of processors, and has also proven itself to be highly portable and -efficient between interconnects including Quadrics, QsNet, Myrinet, -Infiniband and Gigabit Ethernet." -

    -Bill Celmaster, XC Program Manager, Hewlett-Packard Company -
    -
    - -

    Last modified 3 April 2006

    - - diff --git a/executable_names/doc/html/troubleshoot.shtml b/executable_names/doc/html/troubleshoot.shtml deleted file mode 100644 index 2a57d0668d..0000000000 --- a/executable_names/doc/html/troubleshoot.shtml +++ /dev/null @@ -1,197 +0,0 @@ - - -

    SLURM Troubleshooting Guide

    - -

    This guide is meant as a tool to help system administrators -or operators troubleshoot SLURM failures and restore services. -The Frequently Asked Questions document -may also prove useful.

    - - - - -

    SLURM is not responding

    - -
      -
    1. Execute "scontrol ping" to determine if the primary -and backup controllers are responding. - -
    2. If it responds for you, this could be a networking -or configuration problem specific to some user or node in the -cluster.
    3. - -
    4. If not responding, directly login to the machine and try again -to rule out network and configuration problems.
    5. - -
    6. If still not responding, check if there is an active slurmctld -dameon by executing "ps -el | grep slurmctld".
    7. - -
    8. If slurmctld is not running, restart it (typically as user root -using the command "/etc/init.d/slurm start"). -You should check the log file (SlurmctldLog in the -slurm.conf file) for an indication of why it failed. -If it keeps failing, you should contact the slurm team for help at -slurm-dev@lists.llnl.gov.
    9. - -
    10. If slurmctld is running but not responding (a very rare situation), -then kill and restart it (typically as user root using the commands -"/etc/init.d/slurm stop" and then "/etc/init.d/slurm start").
    11. - -
    12. If it hangs again, increase the verbosity of debug messages -(increase SlurmctldDebug in the slurm.conf file) -and restart. -Again check the log file for an indication of why it failed. -At this point, you should contact the slurm team for help at -slurm-dev@lists.llnl.gov.
    13. - -
    14. If it continues to fail without an indication as to the failure -mode, restart without preserving state (typically as user root -using the commands "/etc/init.d/slurm stop" -and then "/etc/init.d/slurm startclean"). -Note: All running jobs and other state information will be lost.
    15. -
    - - - -

    Jobs are not getting scheduled

    - -

    This is dependent upon the scheduler used by SLURM. -Executing the command "scontrol show config | grep SchedulerType" -to determine this. -For any scheduler, you can check priorities of jobs using the -command "scontrol show job".

    - -
      -
    • If the scheduler type is builtin, then jobs will be executed -in the order of submission for a given partition. -Even if resources are available to initiate jobs immediately, -it will be deferred until no previously submitted job is pending.
    • - -
    • If the scheduler type is backfill, then jobs will generally -be executed in the order of submission for a given partition with one -exception: later submitted jobs will be initiated early if doing so -does not delay the expected execution time of an earlier submitted job. -In order for backfill scheduling to be effective, users jobs should -specify reasonable time limits. -If jobs do not specify time limits, then all jobs will receive the -same time limit (that associated with the partition), and the ability -to backfill schedule jobs will be limited. -The backfill scheduler does not alter job specifications of required -or excluded nodes, so jobs which specify nodes will substantially -reduce the effectiveness of backfill scheduling. -See the backfill documentation -for more details.
    • - -
    • If the scheduler type is wiki, this represents - -The Maui Scheduler or - -Moab Cluster Suite. -Please refer to its documentation for help.
    • -
    - - - -

    Jobs and nodes are stuck in COMPLETING state

    - -

    This is typically due to non-killable processes associated with the job. -SLURM will continue to attempt terminating the processes with SIGKILL, but -some jobs may stuck performing I/O and non-killable. -This is typically due to a file system problem and may be addressed in -a couple of ways.

    -
      -
    1. Fix the file system and/or reboot the node. -OR-
    2. -
    3. Set the node to a DOWN state and then return it to service -("scontrol update NodeName=<node> State=down Reason=hung_proc" -and "scontrol update NodeName=<node> State=resume"). -This permits other jobs to use the node, but leaves the non-killable -process in place. -If the process should ever complete the I/O, the pending SIGKILL -should terminate it immediately.
    4. -
    - - - -

    Notes are getting set to a DOWN state

    - -
      -
    1. Check the reason why the node is down using the command -"scontrol show node <name>". -This will show the reason why the node was set down and the -time when it happened. -If there is insufficient disk space, memory space, etc. compared -to the parameters specified in the slurm.conf file then -either fix the node or change slurm.conf.
    2. - -
    3. If the reason is "Not responding", then check communications -between the control machine and the DOWN node using the command -"ping <address>" being sure to specify the -NodeAddr values configured in slurm.conf. -If ping fails, then fix the network or addressses in slurm.conf.
    4. - -
    5. Next login to a node that SLURM considers to be in a DOWN -state and check if the slurmd daemon is running with the command -"ps -el | grep slurmd". -If slurmd is not running, restart it (typically as user root -using the command "/etc/init.d/slurm start"). -You should check the log file (SlurmdLog in the -slurm.conf file) for an indication of why it failed. -If it keeps failing, you should contact the slurm team for help at -slurm-dev@lists.llnl.gov.
    6. - -
    7. If slurmd is running but not responding (a very rare situation), -then kill and restart it (typically as user root using the commands -"/etc/init.d/slurm stop" and then "/etc/init.d/slurm start").
    8. - -
    9. If still not responding, try again to rule out -network and configuration problems.
    10. - -
    11. If still not responding, increase the verbosity of debug messages -(increase SlurmdDebug in the slurm.conf file) -and restart. -Again check the log file for an indication of why it failed. -At this point, you should contact the slurm team for help at -slurm-dev@lists.llnl.gov.
    12. - -
    13. If still not responding without an indication as to the failure -mode, restart without preserving state (typically as user root -using the commands "/etc/init.d/slurm stop" -and then "/etc/init.d/slurm startclean"). -Note: All jobs and other state information on that node will be lost.
    14. -
    - - -

    Networking and configuration problems

    - -
      -
    1. Check the controller and/or slurmd log files (SlurmctldLog -and SlurmdLog in the slurm.conf file) for an indication -of why it is failing.
    2. - -
    3. Check for consistent slurm.conf and credential files on -the node(s) experiencing problems.
    4. - -
    5. If this is user-specific problem, check that the user is -configured on the controller computer(s) as well as the -compute nodes. -The user doesn't need to be able to login, but his user ID -must exist.
    6. - -
    7. Check that a consistent version of SLURM exists on all of -the nodes (execute "sinfo -V" or "rpm -qa | grep slurm"). -If the first two digits of the version number match it should -work fine, but version 1.1 commands will not work with -version 1.2 daemons or vise-versa.
    8. -
    - - - -

    Last modified 16 October 2006

    - - diff --git a/executable_names/doc/jsspp/Makefile b/executable_names/doc/jsspp/Makefile deleted file mode 100644 index e3cf1e90cb..0000000000 --- a/executable_names/doc/jsspp/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -# The following comments are to remind me how the automatic variables work: -# $@ - target -# $% - target member -# $< - First prerequisite -# $? - All (newer) prerequisites -# $^ - All prerequisites -# $+ - $^ but with repetitions -# $* - $* stem of pattern (for "foo.c" in %.c:%.o this would be "foo") -# 'info "GNU make"': "Using variables": "Automatic" also lists a few more. - -REPORT = jsspp - -TEX = ../common/llnlCoverPage.tex $(REPORT).tex - -FIGDIR = ../figures -FIGS = $(FIGDIR)/allocate-init.eps \ - $(FIGDIR)/arch.eps \ - $(FIGDIR)/connections.eps \ - $(FIGDIR)/entities.eps \ - $(FIGDIR)/interactive-job-init.eps \ - $(FIGDIR)/queued-job-init.eps \ - $(FIGDIR)/slurm-arch.eps - -PLOTS = $(FIGDIR)/times.eps - -BIB = ../common/project.bib references.bib - -%.eps: %.dia - dia --nosplash -e $@ $< -%.eps: %.gpl - gnuplot $< -%.eps: %.fig - fig2dev -Lps $< $@ -%.eps: %.obj - tgif -print -eps $< -%.ps: %.dvi - dvips -K -t letter -o $(@F) $(}: -Specifies the number of processors cpus) required for each task -(or process) to run. -This may be useful if the job is multithreaded and requires more -than one cpu per task for optimal performance. -The default is one cpu per process. - -\item {\tt nodes=[-]}: -Specifies the number of nodes required by this job. -The node count may be either a specific value or a minimum and maximum -node count separated by a hyphen. -The partition's node limits supersede those of the job. -If a job's node limits are completely outside of the range permitted -for it's associated partition, the job will be left in a PENDING state. -The default is to allocate one cpu per process, such that nodes with -one cpu will run one task, nodes with 2 cpus will run two tasks, etc. -The distribution of processes across nodes may be controlled using -this option along with the {\tt nproc} and {\tt cpus-per-task} options. - -\item {\tt nprocs=}: -Specifies the number of processes to run. -Specification of the number of processes per node may be achieved -with the {\tt cpus-per-task} and {\tt nodes} options. -The default is one process per node unless {\tt cpus-per-task} -explicitly specifies otherwise. - -\end{itemize} - -\subsubsection{Constraint Specification} - -These options describe what configuration requirements of the nodes -which can be used. - -\begin{itemize} - -\item {\tt constraint=list}: -Specify a list of constraints. The list of constraints is -a comma separated list of features that have been assigned to the -nodes by the slurm administrator. If no nodes have the requested -feature, then the job will be rejected. - -\item {\tt contiguous=[yes|no]}: -demand a contiguous range of nodes. The default is "yes". - -\item {\tt mem=}: -Specify a minimum amount of real memory per node (in megabytes). - -\item {\tt mincpus=}: -Specify minimum number of cpus per node. - -\item {\tt partition=name}: -Specifies the partition to be used. -There will be a default partition specified in the SLURM configuration file. - -\item {\tt tmp=}: -Specify a minimum amount of temporary disk space per node (in megabytes). - -\item {\tt vmem=}: -Specify a minimum amount of virtual memory per node (in megabytes). - -\end{itemize} - -\subsubsection{Other Resource Specification} - -\begin{itemize} - -\item {\tt batch}: -Submit in "batch mode." -srun will make a copy of the executable file (a script) and submit therequest for execution when resouces are available. -srun will terminate after the request has been submitted. -The executable file will run on the first node allocated to the -job and must contain srun commands to initiate parallel tasks. - -\item {\tt exclude=[filename|node\_list]}: -Request that a specific list of hosts not be included in the resources -allocated to this job. The host list will be assumed to be a filename -if it contains a "/"character. If some nodes are suspect, this option -may be used to avoid using them. - -\item {\tt immediate}: -Exit if resources are not immediately available. -By default, the request will block until resources become available. - -\item {\tt nodelist=[filename|node\_list]}: -Request a specific list of hosts. The job will contain at least -these hosts. The list may be specified as a comma-separated list of -hosts, a range of hosts (host[1-5,7,...] for example), or a filename. -The host list will be assumed to be a filename if it contains a "/" -character. - -\item {\tt overcommit}: -Overcommit resources. -Normally the job will not be allocated more than one process per cpu. -By specifying this option, you are explicitly allowing more than one process -per cpu. - -\item {\tt share}: -The job can share nodes with other running jobs. This may result in faster job -initiation and higher system utilization, but lower application performance. - -\item {\tt time=}: -Establish a time limit to terminate the job after the specified number of -minutes. If the job's time limit exceed's the partition's time limit, the -job will be left in a PENDING state. The default value is the partition's -time limit. When the time limit is reached, the job's processes are sent -SIGXCPU followed by SIGKILL. The interval between signals is configurable. - -\end{itemize} - -All parameters may be specified using single letter abbreviations -("-n" instead of "--nprocs=4"). -Environment variable can also be used to specify many parameters. -Environment variable will be set to the actual number of nodes and -processors allocated -In the event that the node count specification is a range, the -application could inspect the environment variables to scale the -problem appropriately. -To request four processes with one cpu per task the command line would -look like this: {\em srun --nprocs=4 --cpus-per-task=1 hostname}. -Note that if multiple resource specifications are provided, resources -will be allocated so as to satisfy the all specifications. -For example a request with the specification {\tt nodelist=dev[0-1]} -and {\tt nodes=4} may be satisfied with nodes {\tt dev[0-3]}. - -\subsection{The Maui Scheduler and SLURM} - -{\em The integration of the Maui Scheduler with SLURM was -just beginning at the time this paper was written. Full -integration is anticipated by the time of the conference. -This section will be modified as needed based upon that -experience.} - -The Maui Scheduler is integrated with SLURM through the -previously described plugin mechanism. -The previously described SLURM commands are used for -all job submissions and interactions. -When a job is submitted to SLURM, a Maui Scheduler module -is called to establish its initial priority. -Another Maui Scheduler module is called at the beginning -of each SLURM scheduling cycle. -Maui can use this opportunity to change priorities of -pending jobs or take other actions. - -\subsection{DPCS and SLURM} - -DPCS is a meta-batch system designed for use within a single -administrative domain (all computers have a common user ID -space and exist behind a firewall). -DPCS presents users with a uniform set of commands for a wide -variety of computers and underlying resource managers (e.g. -LoadLeveler on IBM SP systems, SLURM on Linux clusters, NQS, -etc.). -It was developed in 1991 and has been in production use since -1992. -While Globus\cite{Globus2002} has the ability to span administrative -domains, both systems could interface with SLURM in a similar fashion. - -Users submit jobs directly to DPCS. -The job consists of a script and an assortment of constraints. -Unless specified by constraints, the script can execute on -a variety of different computers with various architectures -and resource managers. -DPCS monitors the state of these computers and performs backfill -scheduling across the computers with jobs under its management. -When DPCS decides that resources are available to immediately -initiate some job of its choice, it takes the following -actions: -\begin{itemize} -\item Transfers the job script and assorted state information to -the computer upon which the job is to execute. - -\item Allocates resources for the job. -The resource allocation is performed as user {\em root} and SLURM -is configured to restrict resource allocations in the relevent -partitions to user {\em root}. -This prevents user resource allocations to that partition -except through DPCS, which has complete control over job -scheduling there. -The allocation request specifies the target user ID, job ID -(to match DPCS' own numbering scheme) and specific nodes to use. - -\item Spawns the job script as the desired user. -This script may contain multiple instantiations of \srun\ -to initiate multiple job steps. - -\item Monitor the job's state and resource consumption. -This is performed using DPCS daemons on each compute node -recording CPU time, real memory and virtual memory consumed. - -\item Cancel the job as needed when it has reached its time limit. -The SLURM job is initiated with an infinite time limit. -DPCS mechanisms are used exclusively to manage job time limits. - -\end{itemize} - -Much of the SLURM functionality is left unused in the DPCS -controlled environment. -It should be noted that DPCS is typically configured to not -control all partitions. -A small (debug) partition is typically configured for smaller -jobs and users may directly use SLURM commands to access that -partition. diff --git a/executable_names/doc/jsspp/intro.tex b/executable_names/doc/jsspp/intro.tex deleted file mode 100644 index 113f481b8e..0000000000 --- a/executable_names/doc/jsspp/intro.tex +++ /dev/null @@ -1,108 +0,0 @@ -\section{Introduction} -Linux clusters, often constructed by using commodity off-the-shelf (COTS) componnets, -have become increasingly populuar as a computing platform for parallel computation -in recent years, mainly due to their ability to deliver a high perfomance-cost ratio. -Researchers have built and used small to medium size clusters for various -applications~\cite{BeowulfWeb,LokiWeb}. -The continuous decrease in the price of the COTS parts in conjunction with -the good scalability of the cluster architecture has now made it feasible to economically -build large-scale clusters with thousands of processors~\cite{MCRWeb,PCRWeb}. - -An essential component that is needed to harness such a computer is a -resource management system. -A resource management system (or resource manager) performs such crucial tasks as -scheduling user jobs, monitoring machine and job status, launching user applications, and -managing machine configuration, -An ideal resource manager should be simple, efficient, scalable, fault-tolerant, -and portable. - -Unfortunately there are no open-source resource management systems currently available -which satisfy these requirements. -A survey~\cite{Jette02} has revealed that many existing resource managers have poor scalability and fault-tolerance rendering them unsuitable for large clusters having -thousands of processors~\cite{LoadLevelerWeb,LoadLevelerManual}. -While some proprietary cluster managers are suitable for large clusters, -they are typically designed for particular computer systems and/or -interconnects~\cite{RMS,LoadLevelerWeb,LoadLevelerManual}. -Proprietary systems can also be expensive and unavailable in source-code form. -Furthermore, proprietary cluster management functionality is usually provided as a -part of a specific job scheduling system package. -This mandates the use of the given scheduler just to manage a cluster, -even though the scheduler does not necessarily meet the need of organization that hosts the cluster. -Clear separation of the cluster management functionality from scheduling policy is desired. - -This observation led us to set out to design a simple, highly scalable, and -portable resource management system. -The result of this effort is Simple Linux Utility Resource Management -(SLURM\footnote{A tip of the hat to Matt Groening and creators of {\em Futurama}, -where Slurm is the most popular carbonated beverage in the universe.}). -SLURM was developed with the following design goals: - -\begin{itemize} -\item {\em Simplicity}: SLURM is simple enough to allow motivated end-users -to understand its source code and add functionality. The authors will -avoid the temptation to add features unless they are of general appeal. - -\item {\em Open Source}: SLURM is available to everyone and will remain free. -Its source code is distributed under the GNU General Public -License~\cite{GPLWeb}. - -\item {\em Portability}: SLURM is written in the C language, with a GNU -{\em autoconf} configuration engine. -While initially written for Linux, other UNIX-like operating systems -should be easy porting targets. -SLURM also supports a general purpose {\em plugin} mechanism, which -permits a variety of different infrastructures to be easily supported. -The SLURM configuration file specifies which set of plugin modules -should be used. - -\item {\em Interconnect independence}: SLURM supports UDP/IP based -communication as well as the Quadrics Elan3 and Myrinet interconnects. -Adding support for other interconnects is straightforward and utilizes -the plugin mechanism described above. - -\item {\em Scalability}: SLURM is designed for scalability to clusters of -thousands of nodes. -Jobs may specify their resource requirements in a variety of ways -including requirements options and ranges, potentially permitting -faster initiation than otherwise possible. - -\item {\em Robustness}: SLURM can handle a variety of failure modes -without terminating workloads, including crashes of the node running -the SLURM controller. -User jobs may be configured to continue execution despite the failure -of one or more nodes on which they are executing. -Nodes allocated to a job are available for reuse as soon as the job(s) -allocated to that node terminate. -If some nodes fail to complete job termination -in a timely fashion due to hardware of software problems, only the -scheduling of those tardy nodes will be effected. - -\item {\em Secure}: SLURM employs crypto technology to authenticate -users to services and services to each other with a variety of options -available through the plugin mechanism. -SLURM does not assume that its networks are physically secure, -but does assume that the entire cluster is within a single -administrative domain with a common user base across the -entire cluster. - -\item {\em System administrator friendly}: SLURM is configured a -simple configuration file and minimizes distributed state. -Its configuration may be changed at any time without impacting running jobs. -Heterogeneous nodes within a cluster may be easily managed. -SLURM interfaces are usable by scripts and its behavior is highly -deterministic. - -\end{itemize} - -The main contribution of our work is that we have provided a readily available -tool that anybody can use to efficiently manage clusters of different size and architecture. -SLURM is highly scalable\footnote{It was observed that it took less than five seconds for SLURM to launch a 1900-task job over 950 nodes on recently installed cluster at Lawrence Livermore National Laboratory.}. -The SLURM can be easily ported to any cluster system with minimal effort with its plugin -capability and can be used with any meta-batch scheduler or a Grid resource broker~\cite{Gridbook} -with its well-defined interfaces. - -The rest of the paper is organized as follows. -Section 2 describes the architecture of SLURM in detail. Section 3 discusses the services provided by SLURM followed by performance study of -SLURM in Section 4. Brief survey of existing cluster management systems is presented in Section 5. -%Section 6 describes how the SLURM can be used with more sphisticated external schedulers. -Concluding remarks and future development plan of SLURM is given in Section 6. diff --git a/executable_names/doc/jsspp/jsspp.tex b/executable_names/doc/jsspp/jsspp.tex deleted file mode 100644 index 6c6fef824a..0000000000 --- a/executable_names/doc/jsspp/jsspp.tex +++ /dev/null @@ -1,74 +0,0 @@ -\documentclass[11pt]{article} -\usepackage{graphics} -\usepackage{epsfig} -\usepackage{hhline} - -\setlength{\textheight}{8.5in} -\setlength{\textwidth}{6in} -\setlength{\oddsidemargin}{0.15in} -\setlength{\parindent}{1pc} -\setlength{\topmargin}{-0.0625in} - -% define some macros: -\newcommand{\munged}{{\tt munged}} -\newcommand{\srun}{{\tt srun}} -\newcommand{\scancel}{{\tt scancel}} -\newcommand{\squeue}{{\tt squeue}} -\newcommand{\scontrol}{{\tt scontrol}} -\newcommand{\sinfo}{{\tt sinfo}} -\newcommand{\slurmctld}{{\tt slurmctld}} -\newcommand{\slurmd}{{\tt slurmd}} - -\title{SLURM: Simple Linux Utility for Resource Management\thanks{ -This document was prepared as an account of work sponsored by an -agency of the United States Government. Neither the United States -Government nor the University of California nor any of their -employees, makes any warranty, express or implied, or assumes any -legal liability or responsibility for the accuracy, completeness, or -usefulness of any information, apparatus, product, or process -disclosed, or represents that its use would not infringe privately -owned rights. Reference herein to any specific commercial product, -process, or service by trade name, trademark, manufacturer, or -otherwise, does not necessarily constitute or imply its endorsement, -recommendation, or favoring by the United States Government or the -University of California. The views and opinions of authors expressed -herein do not necessarily state or reflect those of the United States -Government or the University of California, and shall not be used for -advertising or product endorsement purposes. -This work was performed under the auspices of the U. S. Department of -Energy by the University of California, Lawrence Livermore National -Laboratory under Contract No. W-7405-Eng-48. Document UCRL-JC-147996.}} - -\author{Morris A. Jette \and Andy B. Yoo \and Mark Grondona} - -% We cheat here to easily get the desired allignment -%\date{\{jette1,mgrondona\}@llnl.gov} -\date{Lawrence Livermore National Laboratory\\ -Livermore, CA 94551\\ -\{jette1 $\mid$ yoo2 $\mid$ mgrondona\}@llnl.gov} - -\begin{document} - -\maketitle - -\input{abstract} - -\input{intro} -\input{architecture} -\input{services} -\input{survey} -%\input{interaction} -\input{perf} -\input{conclusions} - -\section*{Acknowledgments} - -Additional programmers are responsible for the development of -SLURM include: Chris Dunlap, Joey Ekstrom, Jim Garlick, Kevin Tew -and Jay Windley. - -\newpage -\bibliographystyle{abbrv} -\bibliography{references} -/biblio -\end{document} diff --git a/executable_names/doc/jsspp/perf.tex b/executable_names/doc/jsspp/perf.tex deleted file mode 100644 index 9a6596ef24..0000000000 --- a/executable_names/doc/jsspp/perf.tex +++ /dev/null @@ -1,16 +0,0 @@ -\section{Performance Study} - -\begin{figure}[htb] -\centerline{\epsfig{file=../figures/times.eps}} -\caption{Time to execute /bin/hostname with various node counts} -\label{timing} -\end{figure} - -We were able to perform some SLURM tests on a 1000 node cluster at LLNL. -Some development was still underway at that time and -tuning had not been performed. The results for executing simple 'hostname' program -on two tasks per node and various node counts is show -in Figure~\ref{timing}. We found SLURM performance to be comparable -to the Quadrics Resource Management System (RMS)~\cite{RMS} -for all job sizes and about 80 times faster than IBM -LoadLeveler~\cite{LoadLevelerWeb,LoadLevelerManual} at tested job sizes. diff --git a/executable_names/doc/jsspp/references.bib b/executable_names/doc/jsspp/references.bib deleted file mode 100644 index 6e4bcd9a11..0000000000 --- a/executable_names/doc/jsspp/references.bib +++ /dev/null @@ -1,393 +0,0 @@ -@string{micro = "{I}{E}{E}{E} {M}icro"} -@string{icdcs = "{I}nt'l {C}onf. on {D}istributed {C}omputing {S}ystems"} -@string{superapplication = "{I}nternational {J}ournal of {S}upercomputer {A}pplications"} -@article{Anderson95, - author = "Thomas E. Anderson and David E. Culler and David A. Patterson", - title = "{A} {C}ase for {N}{O}{W} ({N}etworks of {W}orkstations)", - journal = micro, - volume = "15(1)", - year = 1995, - month = feb, - pages = "54--64"} -@article{Bailey91, - author = "{D. H. Bailey et al.}", - title = "{T}he {N}{A}{S} {P}arallel {B}enchmarks", - journal = superapplication, - year = 1991, - volume = 5, - pages = "63--73"} -@techreport{Jette02, - author = "Moe Jette and Chris Dunlap and Jim Garlick and Mark Grondona", - title = "{Survey of Batch/Resource Management-Related System Software}", - institution = "{Lawrence Livermore National Laboratory}", - year = 2002, - number = "N/A"} -@techreport{Suzuoka95, - author = "T. Suzuoka and J. Subhlok and T. Gross", - title = "{E}valuating {J}ob {S}cheduling {T}echniques for {H}ighly {P}arallel {C}omputers", - institution = "{S}chool of {C}omputer {S}cience, {C}arbegie {M}ellon {U}niversity", - year = 1995, - number = "CMU-CS-95-149"} -@techreport{Bailey93, - author = "{D. H. Bailey et al.}", - title = "{T}he {N}{A}{S} {P}arallel {B}enchmarks", - institution = "{N}{A}{S}{A} {A}mes {R}esearch {C}enter", - year = 1993, - number = "NASA Technical Memorandom 103863"} -@techreport{Bailey95, - author = "{D. H. Bailey et al.}", - title = "{T}he {N}{A}{S} {P}arallel {B}enchmarks 2.0", - institution = "{N}{A}{S}{A} {A}mes {R}esearch {C}enter", - month = dec, - year = 1995, - number = "NAS-95-020"} -@techreport{Downey96, - author = "A. B. Downey", - title = "{A} {P}arallel {W}orkload {M}odel and {I}ts {I}mplications for {P}rocessor {A}llocation", - institution = "{C}omputer {S}cience {D}ivision, {U}niversity of {C}alifornia, {B}erkeley", - month = nov, - year = 1996, - number = "CSD-96-922"} -@misc{Bailey99, - author = "{D. H. Bailey et al.}", - title = "{V}aluation of {U}ltra-{S}cale {C}omputing {S}ystems: {A} {W}hite {P}aper", - institution = "{U}. {S}. {D}epartment of {E}nergy", - month = dec, - year = 1999} -@techreport{Saini96, - author = "S. Saini and D. H. Bailey", - title = "{N}{A}{S} {P}arallel {B}enchmark ({V}ersion 1.0) {R}esults 11-96", - institution = "{N}{A}{S}{A} {A}mes {R}esearch {C}enter", - month = nov, - year = 1996, - number = "NAS-96-18"} -@article{Boden95, - author = "{N. J. Boden et al.}", - title = "{M}yrinet: {A} {G}igabit-per-second {L}ocal {A}rea {N}etwork", - journal = micro, - year = 1995, - volume = "15(1)", - month = feb, - pages = "29--36"} -@conference{Arpaci95, - author = "R. H. Arpaci and A. C. Dusseau and A. Vahdat and L. T. Liu and T. E. Anderson and D. A. Patterson", - title = "{T}he {I}nteraction of {P}arallel and {S}equential {W}orkloads on a {N}etwork of {W}orkstations", - booktitle = "{P}roc. {A}{C}{M} {S}{I}{G}{M}{E}{T}{R}{I}{C}{S} 1995 {C}onf. on {M}easurement and {M}odeling of {C}omputer {S}systems", - month = may, - year = 1995, - pages = "267--278"} -@conference{Dusseau98, - author = "A. C. Arpaci-Dusseau and D. E. Culler and A. M. Mainwaring", - title = "{S}cheduling with {I}mplicit {I}nformation in {D}istributed {S}ystems", - booktitle = "{P}roc. {A}{C}{M} {S}{I}{G}{M}{E}{T}{R}{I}{C}{S} 1998 {C}onf. on {M}easurement and {M}odeling of {C}omputer {S}systems", - year = 1998} -@conference{Eicken92, - author = "{T. {von} Eicken and D. E. Culler and S. C. Goldsten and K. E. Schauser}", - title = "{A}ctive {M}essages: {A} {M}echanism for {I}ntegrated {C}ommunication and {C}omputation", - booktitle = "{P}roc. 19th {A}nnual {I}nt'l {S}ymp. on {C}omputer {A}rchitecture", - month = dec, - year = 1995} -@conference{Eicken95, - author = "{T. {von} Eicken and A. Basu and V. Buch and W. Vogels}", - title = "{U}-{N}net: {A} {U}ser-{L}evel {N}etwork {I}nterface for {P}arallel and {D}istributed {C}omputing", - booktitle = "{P}roc. 15th {A}{C}{M} {S}ymp. on {O}perating {S}ystem {P}rinciples", - month = dec, - year = 1995} -@conference{Haring95, - author = "G. Haring and G. Kotsis", - title = "{W}orkload {M}odeling for {P}arallel {P}rocessing {S}systems", - booktitle = "Proc. {I}nternational {S}ymposium on {M}odeling, {A}nalysis and {S}imulation of {C}omputer and {T}elecommunication {S}ystems ({M}{A}{S}{C}{O}{T}{S})", - year = 1995, - pages = "8--12"} -@conference{Subhlok96, - author = "J. Subhlok and T. Gross and T. Suzuoka", - title = "{I}mpact of {J}ob {M}ix {O}ptimizations for {S}pace {S}haring {S}cheduling", - booktitle = "Proc. {S}upercomputing 96", - year = 1996, - month = nov} -@conference{Feitelson96, - author = "D. Feitelson", - title = "{P}acking {S}cheme for {G}ang {S}cheduling", - booktitle = "Proc. {I}{P}{P}{S}'96 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing", - year = 1996, - month = apr, - pages = "89--110"} -@conference{Windisch96, - author = "K. Windisch and V. Lo and D. Feitelson and B. Nitzberg and R. Moore", - title = "{A} {C}omparison of {W}orkload {T}races from {T}wo {P}roduction {P}arallel {M}achines", - booktitle = "Proc. {S}ixth {S}ymposium on the {F}rontiers of {M}assively {P}arallel {C}omputing", - year = 1996, - month = oct, - pages = "319--326"} -@conference{Feitelson97_Memory, - author = "D. G. Feitelson", - title = "{M}emory {U}sage in the {L}{A}{N}{L} {C}{M}-5 {W}orkload", - booktitle = "Proc. {I}{P}{P}{S}'97 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing", - year = 1997, - pages = "78--94"} -@conference{Lo98, - author = "V. Lo and J. Mache and K. Windisch", - title = "{A} {C}omparative {S}tudy of {R}eal {W}orkload {T}races and {S}ynthetic {W}orkload {M}odels for {P}arallel {J}ob {S}cheduling", - booktitle = "Proc. {I}{P}{P}{S}'98 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing", - year = 1998, - month = mar, - pages = "1--16"} -@article{Downey99, - author = "A. B. Downey and D. G. Feitelson", - title = "{T}he {E}lusive {G}oal of {W}orkload {C}haracterization", - journal = "{P}erformance {E}valuation {R}eview", - year = 1999, - month = mar, - pages = "14--29"} -@article{Gropp96, - author = "W. Gropp and E. Lusk", - title = "{A} {H}igh-{P}erformance, {P}ortable {I}mplementation of the {M}{P}{I} {M}essage {P}assing {I}nterface {S}tandard", - journal = "{P}arallel {C}omputing", - volume = "22", - year = 1995, - month = feb, - pages = "54--64"} -@conference{Parsons95, - author = "E. W. Parsons and K. C. Sevcik", - title = "{M}ultiprocessor {S}cheduling for {H}igh-{V}ariability {S}ervice {T}ime {D}istributions", - booktitle = "Proc. {I}{P}{P}{S}'95 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing", - year = 1995, - month = apr, - pages = "76--88"} -@conference{Sobalvarro95, - author = "P. G. Sobalvarro and W. E. Weihl", - title = "{D}emand-based {C}oscheduling of {P}arallel {J}obs on {M}ultipr -ogrammed {M}ultiprocessors", - booktitle = "Proc. {I}{P}{P}{S}'95 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing", - year = 1995, - month = apr, - pages = "63--75"} -@phdthesis{Sobalvarro97, - author = "P. G. Sobalvarro", - title = "{D}emand-based {C}oscheduling of {P}arallel {J}obs on {M}ultiprogrammed {M}ultiprocessors", - school = "{D}ept. of {E}lectrical {E}ngineering and {C}ompuer {S}cience, {M}assachusetts {I}nstitutute of {T}echnology", - year = 1997} -@misc{GPLWeb, - author = "{GNU General Public License}", - note = "{\tt http://www.gnu.org/licenses/gpl.html}"} -@misc{PCRWeb, - author = "{Parallel Capacity Resource}", - note = "{\tt http://www.llnl.gov/linux/pcr}"} -@misc{MCRWeb, - author = "{Multiprogrammatic Capability Cluster}", - note = "{\tt http://www.llnl.gov/linux/mcr}"} -@misc{LokiWeb, - author = "{Loki -- Commodity Parallel Processing}", - note = "{\tt http://loki-www.lanl.org}"} -@misc{BeowulfWeb, - author = "{Beowulf Project}", - note = "{\tt http://www.beowulf.org}"} -@misc{LAM, - author = "{Local Area Multicomputer}", - note = "{\tt http://www.lam-mpi.org}"} -@misc{BProc, - author = "{Beowulf Distributed Process Space}", - note = "{\tt http://bproc.sourceforge.net}"} -@misc{PAGG, - author = "{Linux PAGG Process Aggregates}", - note = "{\tt oss.sgi.com/projects/pagg}"} -@misc{Maui, - author = "{Maui Scheduler}", - note = "{\tt http://supercluster.org/maui}"} -@misc{DPCS, - author = "{Distributed Production Control System}", - note = "{\tt http://www.llnl.gov/icc/lc/dpcs\_overview.html}"} -@misc{ASCIprojectatLLNL, - author = "{ASCI Project}", - note = "{\tt http://www.llnl.gov/asci}"} -@misc{ASCIprojectatLANL, - author = "{ASCI Project}", - note = "{\tt http://www.lanl.gov/asci}"} -@misc{ASCIprojectatSNL, - author = "{ASCI Project}", - note = "{\tt http://www.lanl.gov/ASCI/TFLOP/Home\_page.html}"} -@misc{ASCI_BlueMountain, - author = "{ASCI Blue Mountain}", - note = "{\tt http://www.lanl.gov/asci/bluemtn/bluemtn.html}"} -@misc{ASCI_BluePacific, - author = "{ASCI Blue Pacific}", - note = "{\tt http://www.llnl.gov/platforms/bluepac}"} -@misc{ASCI_Red, - author = "{ASCI Red}", - note = "{\tt http://www.sandia.gov/ASCI/Red}"} -@misc{ClassScheduler, - author = "{Class Scheduler}", - note = "{\tt http://www.unix.digital.com/faqs/publications/base\_doc}"} -%note = "{\tt http://www.unix.digital.com/faqs/publications/base\_doc/DOCUMENTATION/V50\_HTML/MAN/MAN4/0102\_\_\_\_.HTM}"} -@misc{PBS, - author = "{Portable Batch System}", - note = "{\tt http://www.openpbs.org}"} -@conference{Jann97, - author = "J. Jann and P. Pattnaik and H. Franke and F. Wang and J. Skovira and J. Riodan", - title = "{M}odeling of {W}orkload in {M}{P}{P}s", - booktitle = "{I}{P}{P}{S}'97 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing, {V}ol. 1291 of {L}ecture {N}otes in {C}omputer {S}cience", - year = 1997, - month = apr, - pages = "95--116", - publisher = "{S}pringer-{V}erlag"} -@conference{Feitelson97, - author = "D. J. Feitelson and M. Jette", - title = "{I}mproved {U}tilization and {R}esponsiveness with {G}ang {S}cheduling", - booktitle = "{I}{P}{P}{S}'97 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing, {V}ol. 1291 of {L}ecture {N}otes in {C}omputer {S}cience", - year = 1997, - month = apr, - pages = "238--261", - publisher = "{S}pringer-{V}erlag"} -@conference{Franke96, - author = "H. Franke and P. Pattnaik and L. Rudolph", - title = "{G}ang {S}cheduling for {H}ighly {E}fficient {M}ultiprocessors", - booktitle = "{P}roc. {S}ixth {S}ymp. on the {F}rontiers of {M}assively {P}arallel {P}rocessing", - year = 1996, - month = oct} -@conference{Hotovy96, - author = "S. Hotovy", - title = "{W}orkload {E}valuation on the {C}ornell {T}heory {C}enter {I}{B}{M} {S}{P}2", - booktitle = "{I}{P}{P}{S}'96 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing, {V}ol. 1162 of {L}ecture {N}otes in {C}omputer {S}cience", - year = 1996, - month = apr, - publisher = "{S}pringer-{V}erlag"} -@conference{Feitelson96_Job, - author = "D. G. Feitelson and B. Nitzberg", - title = "{J}ob {C}haracteristics of a {P}roduction {P}arallel {S}cientific {W}orkload on the {N}{A}{S}{A} {A}mes i{P}{S}{C}/860", - booktitle = "{I}{P}{P}{S}'96 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing, {V}ol. 1162 of {L}ecture {N}otes in {C}omputer {S}cience", - year = 1996, - month = apr, - pages = "337--360", - publisher = "{S}pringer-{V}erlag"} -@conference{EasyLL, - author = "J. Skovira and W. Chan and H. Zhou and D. Lifka", - title = "{T}he {E}asy-{L}oad{L}eveler {A}{P}{I} {P}roject", - booktitle = "{I}{P}{P}{S}'96 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing, {V}ol. 1162 of {L}ecture {N}otes in {C}omputer {S}cience", - year = 1996, - month = apr, - pages = "41--47", - publisher = "{S}pringer-{V}erlag"} -@conference{Jette96, - author = "M. Jette and D. Storch and E. Yim", - title = "{T}imesharing the {C}ray {T}3{D}", - booktitle = "{C}ray {U}ser {G}roup", - year = 1996, - pages = "247--252", - month = mar} -@conference{Jette97, - author = "M. Jette", - title = "{P}erformance {C}haracteristics of {G}ang {S}cheduling in {M}ultiprogrammed {E}nvironments", - booktitle = "{P}roc. {S}uper{C}omputing97", - year = 1997, - month = nov} -@conference{Jette98, - author = "M. Jette", - title = "{E}xpanding {S}ymmetric {M}ultiprocessor {C}apability {T}hrough {G}ang {S}cheduling", - booktitle = "{I}{P}{P}{S}'98 {W}orkshop on {J}ob {S}cheduling {S}trategies for {P}arallel {P}rocessing", - year = 1998, - month = mar} -@conference{Litzkow88, - author = "M. Litzknow and M. Livny and M. Mutka", - title = "Condor - A Hunter for Idle Workstations", - booktitle = "Proc. International Conference on Distributed Computing Systems", - year = 1988, - pasges = "104--111", - month = jun} -@misc{BGL, - author = "{Blue Gene/L}", - note = "{\tt http://cmg-rr.llnl.gov/asci/platforms/bluegenel}"} -@misc{RMS, - author = "{Quadircs Resource Management System}", - note = "{\tt http://www.quadrics.com/website/pdf/rms.pdf}"} -@misc{Condor, - author = "{Condor}", - note = "{\tt http://www.cs.wisc.edu/condor}"} -@misc{LSF, - author = "{Load Sharing Facility}", - note = "{\tt http://www.platform.com}"} -@misc{LoadLevelerWeb, - author = "{Load Leveler}", - note = "{\tt http://www-1.ibm.com/servers/eservers/pseries/library/sp\_books/loadleveler.html}"} -@manual{LoadLevelerManual, - title = "{L}oad{L}eveler's {U}ser {G}uide, {R}elease 2.1", - organization = "{I}{B}{M} {C}orporation"} -@misc{SupercomCenters, - author = "{Top 500 Supercomputer Sites}", - note = "{\tt http://www.netlib.org/benchmark/top500.html}"} -@misc{MPIForumWebpage, - author = "{The MPI Forum}", - year = 1995, - month = may, - note = "{\tt http://www.mcs.anl.gov/mpi/standard.html}"} -@article{Basney97, - author = "J. Basney and M. Livny and T. Tannenbaum", - title = "{High Throughput Computing with Condor}", - journal = "HPCU news", - month = jun, - year = 1997, - volume = "1(2)"} -@article{Calzarossa93, - author = "M. Calzarossa and G. Serazzi", - title = "{W}orkload {C}haracterization: {A} {S}urvey", - journal = "{P}roceedings of the {I}{E}{E}{E}", - month = aug, - year = 1993, - volume = "81(8)"} -@article{MPIForum, - author = "{Message Passing Interface Forum}", - title = "{M}{P}{I}: {A} {M}essage-{P}assing {I}nterface {S}tandard", - journal = superapplication, - year = 1994, - volume = "8(3/4)", - pages = "165--414"} -@conference{Moreira99, - author = "{J. E. Moreira et al.}", - title = "{A} {G}ang-{S}cheduling {S}ystem for {A}{S}{C}{I} {B}lue-{P}acific", - booktitle = "{P}roc. {D}istributed {C}omputing and {M}etacomputing ({D}{C}{M}) {W}orkshop, {H}igh-{P}erformance {C}omputing and {N}etworking '99", - year = 1999, - month = apr} -@conference{Nagar99, - author = "S. Nagar and A. Banerjee and A. Sivasubramaniam and C. R. Das", - title = "{A} {C}loser {L}ook {A}t {C}oscheduling {A}pproaches for a {N}etwork of {W}orkstations", - booktitle = "{P}roc. 11th {A}{C}{M} {S}ymp. of {P}arallel {A}lgorithms and {A}rchitectures", - month = jun, - year = 1999} -@conference{Ousterhaut82, - author = "J. K. Ousterhout", - title = "{S}cheduling {T}echnique for {C}oncurrent {S}ystems", - booktitle = icdcs, - year = 1982, - pages = "22--30"} -@conference{Pakin95, - author = "S. Pakin and M. Lauria and A. Chien", - title = "{H}igh {P}erformance {M}essaging on {W}orkstations: {I}llinois {F}ast {Me}essages ({F}{M})", - booktitle = "{P}roc. {S}upercomputing '95", - month = dec, - year = 1995} -@book{CAbook, - author = {J. Hennessy and D. Patterson}, - title = {Computer Architecture: A Quantitive Approach, Second Edition}, - publisher = {Morgan Kaufmann Publishers, Inc.}, - pages = "669", - year = 1996} -@book{Gridbook, - author = {I. Foster and C. Kesselman}, - title = {The GRID: Blueprint for a New Computing Onfrastructure}, - publisher = {Morgan Kaufmann Publishers, Inc.}, - year = 1999} -@conference{STORM01, - author = "Eitan Frachtenberg and Fabrizio Petrini and others", - title = "STORM: Lightning-Fast Resource Management", - booktitle = "Proceedings of SuperComputing", - year = 2002, -} -@misc{Authd02, - author = "Authd home page", - title = "http://www.theether.org/authd/", -} - -@misc{Quadrics02, - AUTHOR = "Quadrics Resource Management System", - TITLE = "http://www.quadrics.com/", -} - diff --git a/executable_names/doc/jsspp/services.tex b/executable_names/doc/jsspp/services.tex deleted file mode 100644 index 0189f0acff..0000000000 --- a/executable_names/doc/jsspp/services.tex +++ /dev/null @@ -1,322 +0,0 @@ -\section{SLURM Operation and Services} -\subsection{Command Line Utilities} - -The command line utilities are the user interface to SLURM functionality. -They offer users access to remote execution and job control. They also -permit administrators to dynamically change the system configuration. -These commands all use SLURM APIs which are directly available for -more sophisticated applications. - -\begin{itemize} -\item {\tt scancel}: Cancel a running or a pending job or job step, -subject to authentication and authorization. This command can also -be used to send an arbitrary signal to all processes on all nodes -associated with a job or job step. - -\item {\tt scontrol}: Perform privileged administrative commands -such as draining a node or partition in preparation for maintenance. -Many \scontrol\ functions can only be executed by privileged users. - -\item {\tt sinfo}: Display a summary of partition and node information. -A assortment of filtering and output format options are available. - -\item {\tt squeue}: Display the queue of running and waiting jobs -and/or job steps. A wide assortment of filtering, sorting, and output -format options are available. - -\item {\tt srun}: Allocate resources, submit jobs to the SLURM queue, -and initiate parallel tasks (job steps). -Every set of executing parallel tasks has an associated \srun\ which -initiated it and, if the \srun\ persists, managing it. -Jobs may be submitted for batch execution, in which case -\srun\ terminates after job submission. -Jobs may also be submitted for interactive execution, where \srun\ keeps -running to shepherd the running job. In this case, -\srun\ negotiates connections with remote {\tt slurmd}'s -for job initiation and to -get stdout and stderr, forward stdin, and respond to signals from the user. -The \srun\ may also be instructed to allocate a set of resources and -spawn a shell with access to those resources. -\srun\ has a total of 13 parameters to control where and when the job -is initiated. - -\end{itemize} - -\subsection{Plugins} - -In order to make the use of different infrastructures possible, -SLURM uses a general purpose plugin mechanism. -A SLURM plugin is a dynamically linked code object which is -loaded explicitly at run time by the SLURM libraries. -A plugin provides a customized implemenation of a well-defined -API connected to tasks such as authentication, interconnect fabric, -task scheduling. -A common set of functions is defined for use by all of the different -infrastructures of a particular variety. -For example, the authentication plugin must define functions -such as: -{\tt slurm\_auth\_activate} to create a credential, -{\tt slurm\_auth\_verify} to verify a credential to -approve or deny authentication, -{\tt slurm\_auth\_get\_uid} to get the user ID associated with -a specific credential, etc. -It also must define the data structure used, a plugin type, -a plugin version number. -The available plugins are defined in the configuration file. -%When a slurm daemon is initiated, it reads the configuration -%file to determine which of the available plugins should be used. -%For example {\em AuthType=auth/authd} says to use the plugin for -%authd based authentication and {\em PluginDir=/usr/local/lib} -%identifies the directory in which to find the plugin. - -\subsection{Communications Layer} - -SLURM presently uses Berkeley sockets for communications. -However, we anticipate using the plugin mechanism to easily -permit use of other communications layers. -At LLNL we are using an Ethernet for SLURM communications and -the Quadrics Elan switch exclusively for user applications. -The SLURM configuration file permits the identification of each -node's hostname as well as its name to be used for communications. -%In the case of a control machine known as {\em mcri} to be -%communicated with using the name {\em emcri} (say to indicate -%an ethernet communications path), this is represented in the -%configuration file as {\em ControlMachine=mcri ControlAddr=emcri}. -%The name used for communication is the same as the hostname unless -%%otherwise specified. - -While SLURM is able to manage 1000 nodes without difficulty using -sockets and Ethernet, we are reviewing other communication -mechanisms which may offer improved scalability. -One possible alternative is STORM\cite{STORM01}. -STORM uses the cluster interconnect and Network Interface Cards to -provide high-speed communications including a broadcast capability. -STORM only supports the Quadrics Elan interconnnect at present, -but does offer the promise of improved performance and scalability. - -\subsection{Security} - -SLURM has a simple security model: -Any user of the cluster may submit parallel jobs to execute and cancel -his own jobs. Any user may view SLURM configuration and state -information. -Only privileged users may modify the SLURM configuration, -cancel any jobs, or perform other restricted activities. -Privileged users in SLURM include the users {\em root} -and {\tt SlurmUser} (as defined in the SLURM configuration file). -If permission to modify SLURM configuration is -required by others, set-uid programs may be used to grant specific -permissions to specific users. - -We presently support three authentication mechanisms via plugins: -{\tt authd}\cite{Authd02}, {\tt munged} and {\tt none}. -A plugin can easily be developed for Kerberos or authentication -mechanisms as desired. -The \munged\ implementation is described below. -A \munged\ daemon running as user {\em root} on each node confirms the -identify of the user making the request using the {\tt getpeername} -function and generates a credential. -The credential contains a user ID, -group ID, time-stamp, lifetime, some pseudo-random information, and -any user supplied information. The \munged\ uses a private key to -generate a Message Authentication Code (MAC) for the credential. -The \munged\ then uses a public key to symmetrically encrypt -the credential including the MAC. -SLURM daemons and programs transmit this encrypted -credential with communications. The SLURM daemon receiving the message -sends the credential to \munged\ on that node. -The \munged\ decrypts the credential using its private key, validates it -and returns the user ID and group ID of the user originating the -credential. -The \munged\ prevents replay of a credential on any single node -by recording credentials that have already been authenticated. -In SLURM's case, the user supplied information includes node -identification information to prevent a credential from being -used on nodes it is not destined for. - -When resources are allocated to a user by the controller, a -{\em job step credential} is generated by combining the user ID, job ID, -step ID, the list of resources allocated (nodes), and the credential -lifetime. This job step credential is encrypted with -a \slurmctld\ private key. This credential -is returned to the requesting agent ({\tt srun}) along with the -allocation response, and must be forwarded to the remote {\tt slurmd}'s -upon job step initiation. \slurmd\ decrypts this credential with the -\slurmctld 's public key to verify that the user may access -resources on the local node. \slurmd\ also uses this job step credential -to authenticate standard input, output, and error communication streams. - -%Access to partitions may be restricted via a {\em RootOnly} flag. -%If this flag is set, job submit or allocation requests to this -%partition are only accepted if the effective user ID originating -%the request is a privileged user. -%The request from such a user may submit a job as any other user. -%This may be used, for example, to provide specific external schedulers -%with exclusive access to partitions. Individual users will not be -%permitted to directly submit jobs to such a partition, which would -%prevent the external scheduler from effectively managing it. -%Access to partitions may also be restricted to users who are -%members of specific Unix groups using a {\em AllowGroups} specification. - -\subsection{Job Initiation} - -There are three modes in which jobs may be run by users under SLURM. The -first and most simple is {\em interactive} mode, in which stdout and -stderr are displayed on the user's terminal in real time, and stdin and -signals may be forwarded from the terminal transparently to the remote -tasks. The second is {\em batch} mode, in which the job is -queued until the request for resources can be satisfied, at which time the -job is run by SLURM as the submitting user. In {\em allocate} mode, -a job is allocated to the requesting user, under which the user may -manually run job steps via a script or in a sub-shell spawned by \srun . - -\begin{figure}[tb] -\centerline{\epsfig{file=../figures/connections.eps,scale=0.5}} -\caption{\small Job initiation connections overview. 1. The \srun\ connects to - \slurmctld\ requesting resources. 2. \slurmctld\ issues a response, - with list of nodes and job credential. 3. The \srun\ opens a listen - port for every task in the job step, then sends a run job step - request to \slurmd . 4. \slurmd 's initiate job step and connect - back to \srun\ for stdout/err. } -\label{connections} -\end{figure} - -Figure~\ref{connections} gives a high-level depiction of the connections -that occur between SLURM components during a general interactive job -startup. -The \srun\ requests a resource allocation and job step initiation from the {\tt slurmctld}, -which responds with the job ID, list of allocated nodes, job credential. -if the request is granted. -The \srun\ then initializes listen ports for each -task and sends a message to the {\tt slurmd}'s on the allocated nodes requesting -that the remote processes be initiated. The {\tt slurmd}'s begin execution of -the tasks and connect back to \srun\ for stdout and stderr. This process and -the other initiation modes are described in more detail below. - -\subsubsection{Interactive mode initiation} - -\begin{figure}[tb] -\centerline{\epsfig{file=../figures/interactive-job-init.eps,scale=0.5} } -\caption{\small Interactive job initiation. \srun\ simultaneously allocates -nodes - and a job step from \slurmctld\ then sends a run request to all - \slurmd 's in job. Dashed arrows indicate a periodic request that - may or may not occur during the lifetime of the job.} -\label{init-interactive} -\end{figure} - -Interactive job initiation is illustrated in Figure~\ref{init-interactive}. -The process begins with a user invoking \srun\ in interactive mode. -In Figure~\ref{init-interactive}, the user has requested an interactive -run of the executable ``{\tt cmd}'' in the default partition. - -After processing command line options, \srun\ sends a message to -\slurmctld\ requesting a resource allocation and a job step initiation. -This message simultaneously requests an allocation (or job) and a job step. -The \srun\ waits for a reply from {\tt slurmctld}, which may not come instantly -if the user has requested that \srun\ block until resources are available. -When resources are available -for the user's job, \slurmctld\ replies with a job step credential, list of -nodes that were allocated, cpus per node, and so on. The \srun\ then sends -a message each \slurmd\ on the allocated nodes requesting that a job -step be initiated. The \slurmd 's verify that the job is valid using -the forwarded job step credential and then respond to \srun . - -Each \slurmd\ invokes a job thread to handle the request, which in turn -invokes a task thread for each requested task. The task thread connects -back to a port opened by \srun\ for stdout and stderr. The host and -port for this connection is contained in the run request message sent -to this machine by \srun . Once stdout and stderr have successfully -been connected, the task thread takes the necessary steps to initiate -the user's executable on the node, initializing environment, current -working directory, and interconnect resources if needed. - -Once the user process exits, the task thread records the exit status and -sends a task exit message back to \srun . When all local processes -terminate, the job thread exits. The \srun\ process either waits -for all tasks to exit, or attempt to clean up the remaining processes -some time after the first task exits. -Regardless, once all -tasks are finished, \srun\ sends a message to the \slurmctld\ releasing -the allocated nodes, then exits with an appropriate exit status. - -When the \slurmctld\ receives notification that \srun\ no longer needs -the allocated nodes, it issues a request for the epilog to be run on each of -the \slurmd 's in the allocation. As \slurmd 's report that the epilog ran -successfully, the nodes are returned to the partition. - - -\subsubsection{Batch mode initiation} - -\begin{figure}[tb] -\centerline{\epsfig{file=../figures/queued-job-init.eps,scale=0.5} } -\caption{\small Queued job initiation. - \slurmctld\ initiates the user's job as a batch script on one node. - Batch script contains an srun call which initiates parallel tasks - after instantiating job step with controller. The shaded region is - a compressed representation and is illustrated in more detail in the - interactive diagram (Figure~\ref{init-interactive}).} -\label{init-batch} -\end{figure} - -Figure~\ref{init-batch} illustrates the initiation of a batch job in SLURM. -Once a batch job is submitted, \srun\ sends a batch job request -to \slurmctld\ that contains the input/output location for the job, current -working directory, environment, requested number of nodes. The -\slurmctld\ queues the request in its priority ordered queue. - -Once the resources are available and the job has a high enough priority, -\slurmctld\ allocates the resources to the job and contacts the first node -of the allocation requesting that the user job be started. In this case, -the job may either be another invocation of \srun\ or a {\em job script} which -may have multiple invocations of \srun\ within it. The \slurmd\ on the remote -node responds to the run request, initiating the job thread, task thread, -and user script. An \srun\ executed from within the script detects that it -has access to an allocation and initiates a job step on some or all of the -nodes within the job. - -Once the job step is complete, the \srun\ in the job script notifies the -\slurmctld\, and terminates. The job script continues executing and may -initiate further job steps. Once the job script completes, the task -thread running the job script collects the exit status and sends a task exit -message to the \slurmctld . The \slurmctld\ notes that the job is complete -and requests that the job epilog be run on all nodes that were allocated. -As the \slurmd 's respond with successful completion of the epilog, -the nodes are returned to the partition. - -\subsubsection{Allocate mode initiation} - -\begin{figure}[tb] -\centerline{\epsfig{file=../figures/allocate-init.eps,scale=0.5} } -\caption{\small Job initiation in allocate mode. Resources are allocated and - \srun\ spawns a shell with access to the resources. When user runs - an \srun\ from within the shell, the a job step is initiated under - the allocation.} -\label{init-allocate} -\end{figure} - -In allocate mode, the user wishes to allocate a job and interactively run -job steps under that allocation. The process of initiation in this mode -is illustrated in Figure~\ref{init-allocate}. The invoked \srun\ sends -an allocate request to \slurmctld , which, if resources are available, -responds with a list of nodes allocated, job id, etc. The \srun\ -process spawns a shell on the user's terminal with access to the -allocation, then waits for the shell to exit at which time the job -is considered complete. - -An \srun\ initiated within the allocate sub-shell recognizes that it -is running under an allocation and therefore already within a job. Provided -with no other arguments, \srun\ started in this manner initiates a job -step on all nodes within the current job. However, the user may select -a subset of these nodes implicitly. - -An \srun\ executed from the sub-shell reads the environment and -user options, then notify the controller that it is starting a job step -under the current job. The \slurmctld\ registers the job step and responds -with a job credential. The \srun\ then initiates the job step using the same -general method as described in the section on interactive job initiation. - -When the user exits the allocate sub-shell, the original \srun\ receives -exit status, notifies \slurmctld\ that the job is complete, and exits. -The controller runs the epilog on each of the allocated nodes, returning -nodes to the partition as they complete the epilog. diff --git a/executable_names/doc/jsspp/survey.tex b/executable_names/doc/jsspp/survey.tex deleted file mode 100644 index 8d68fdda63..0000000000 --- a/executable_names/doc/jsspp/survey.tex +++ /dev/null @@ -1,316 +0,0 @@ -\section{Related Work} -\subsection*{Portable Batch System (PBS)} - -The Portable Batch System (PBS)~\cite{PBS} -is a flexible batch queuing and -workload management system originally developed by Veridian Systems -for NASA. It operates on networked, multi-platform UNIX environments, -including heterogeneous clusters of workstations, supercomputers, and -massively parallel systems. PBS was developed as a replacement for -NQS (Network Queuing System) by many of the same people. - -PBS supports sophisticated scheduling logic (via the Maui -Scheduler). -PBS spawn's daemons on each -machine to shepherd the job's tasks. -It provides an interface for administrators to easily -interface their own scheduling modules. PBS can support -long delays in file staging with retry. Host -authentication is provided by checking port numbers (low ports numbers are only -accessible to user root). Credential service is used for user authentication. -It has the job prolog and epilog feature. -PBS Supports -high priority queue for smaller "interactive" jobs. Signal to daemons -causes current log file to be closed, renamed with -time-stamp, and a new log file created. - -Although the PBS is portable and has a broad user base, it has significant drawbacks. -PBS is single threaded and hence exhibits poor performance on large clusters. -This is particularly problematic when a compute node in the system fails: -PBS tries to contact down node while other activities must wait. -PBS also has a weak mechanism for starting and cleaning up parallel jobs. -%Specific complaints about PBS from members of the OSCAR group (Jeremy Enos, -%Jeff Squyres, Tim Mattson): -%\begin{itemize} -%\item Sensitivity to hostname configuration on the server; improper -% configuration results in hard to diagnose failure modes. Once -% configuration is correct, this issue disappears. -%\item When a compute node in the system dies, everything slows down. -% PBS is single-threaded and continues to try to contact down nodes, -% while other activities like scheduling jobs, answering qsub/qstat -% requests, etc., have to wait for a complete timeout cycle before being -% processed. -%\item Default scheduler is just FIFO, but Maui can be plugged in so this -% is not a big issue. -%\item Weak mechanism for starting/cleaning up parallel jobs (pbsdsh). -% When a job is killed, pbsdsh kills the processes it started, but -% if the process doesn't die on the first shot it may continue on. -%\item PBS server continues to mark specific nodes offline, even though they -% are healthy. Restarting the server fixes this. -%\item Lingering jobs. Jobs assigned to nodes, and then bounced back to the -% queue for any reason, maintain their assignment to those nodes, even -% if another job had already started on them. This is a poor clean up -% issue. -%\item When the PBS server process is restarted, it puts running jobs at risk. -%\item Poor diagnostic messages. This problem can be as serious as ANY other -% problem. This problem makes small, simple problems turn into huge -% turmoil occasionally. For example, the variety of symptoms that arise -% from improper hostname configuration. All the symptoms that result are -% very misleading to the real problem. -%\item Rumored to have problems when the number of jobs in the queues gets -% large. -%\item Scalability problems on large systems. -%\item Non-portable to Windows -%\item Source code is a mess and difficult for others (e.g. the open source -% community) to improve/expand. -%\item Licensing problems (see below). -%\end{itemize} -%The one strength mentioned is PBS's portability and broad user base. -% -%PBS is owned by Veridian and is released as three separate products with -%different licenses: {\em PBS Pro} is a commercial product sold by Veridian; -%{\em OpenPBS} is an pseudo open source version of PBS that requires -%registration; and -%{\em PBS} is a GPL-like, true open source version of PBS. -% -%Bug fixes go into PBS Pro. When a major revision of PBS Pro comes out, -%the previous version of PBS Pro becomes OpenPBS, and the previous version -%of OpenPBS becomes PBS. The delay getting bug fixes (some reported by the -%open source community) into the true open source version of PBS is the source -%of some frustration. - - -\subsection{Quadrics RMS} - -Quadrics RMS\cite{Quadrics02} -(Resource Management System) is for -Unix systems having Quadrics Elan interconnects. -RMS functionality and performance is excellent. -It major limitation is the requirement for a Quadrics interconnect. -The proprietary code and cost may also pose difficulties under some -circumstances. - - -\subsection*{Maui Scheduler} - -Maui Scheduler~\cite{Maui} is an advanced reservation HPC batch scheduler -for use with SP, O2K, and UNIX/Linux clusters. -It is widely used to extend the functionality of PBS and LoadLeveler, -which Maui requires to perform the parallel job initiation and management. - -\subsection*{Distributed Production Control System (DPCS)} - -The Distributed Production Control System (DPCS)~\cite{DPCS} -is a scheduler developed at Lawrence Livermore National Laboratory (LLNL). -The DPCS provides basic data collection and reporting -mechanisms for prject-level, near real-time accounting and resource allocation -to customers with established limits per customers' organization budgets, -In addition, the DPCS evenly distributes workload across available computers -and supports dynamic reconfiguration and graceful degradation of service to prevent -overuse of a computer where not authorized. -%DPCS is (or will soon be) open source, although its use is presently -%confined to LLNL. The development of DPCS began in 1990 and it has -%evolved into a highly scalable and fault-tolerant meta-scheduler -%operating on top of LoadLeveler, RMS, and NQS. DPCS provides: -%\begin{itemize} -%\item Basic data collection and reporting mechanisms for project-level, -% near real-time accounting. -%\item Resource allocation to customers with established limits per -% customers' organizational budgets. -%\item Proactive delivery of services to organizations that are relatively -% underserviced using a fair-share resource allocation scheme. -%\item Automated, highly flexible system with feedback for proactive delivery -% of resources. -%\item Even distribution of the workload across available computers. -%\item Flexible prioritization of production workload, including "run on demand." -%\item Dynamic reconfiguration and re-tuning. -%\item Graceful degradation in service to prevent overuse of a computer where -% not authorized. -%\end{itemize} - -DPCS supports only a -limited number of computer systems: IBM RS/6000 and SP, Linux, -Sun Solaris, and Compaq Alpha. -Like the Maui Scheduler, DPCS requires an underlying infrastructure for -parallel job initiation and management (LoadLeveler, NQS, RMS or SLURM). - -\subsection*{LoadLeveler} - -LoadLeveler~\cite{LoadLevelerManual,LoadLevelerWeb} -is a proprietary batch system and parallel job manager by -IBM. LoadLeveler supports few non-IBM systems. Very primitive -scheduling software exists and other software is required for reasonable -performance, such as Maui Scheduler or DPCS. -The LoadLeveler has a simple and very flexible queue and job class structure available -operating in "matrix" fashion. -The biggest problem of the LoadLeveler is its poor scalability. -It typically requires 20 minutes to execute even a trivial 500-node, 8000-task -on the IBM SP computers at LLNL. -%In addition, all jobs must be initiated through the LoadLeveler, and a special version of -%MPI is requested to run a parallel job. -%[So do RMS, SLURM, etc. for interconnect set-up - Moe]% -% -%Many configuration files exist with signals to -%daemons used to update configuration (like LSF, good). All jobs must -%be initiated through LoadLeveler (no real "interactive" jobs, just -%high priority queue for smaller jobs). Job accounting is only available -%on termination (very bad for long-running jobs). Good status -%information on nodes and LoadLeveler daemons is available. LoadLeveler -%allocates jobs either entire nodes or shared nodes ,depending upon configuration. -% -%A special version of MPI is required. LoadLeveler allocates -%interconnect resources, spawns the user's processes, and manages the -%job afterwards. Daemons also monitor the switch and node health using -%a "heart-beat monitor." One fundamental problem is that when the -%"Central Manager" restarts, it forgets about all nodes and jobs. They -%appear in the database only after checking in via the heartbeat. It -%needs to periodically write state to disk instead of doing -%"cold-starts" after the daemon fails, which is rare. It has the job -%prolog and epilog feature, which permits us to enable/disable logins -%and remove stray processes. -% -%LoadLeveler evolved from Condor, or what was Condor a decade ago. -%While I am less familiar with LSF and Condor than LoadLeveler, they -%all appear very similar with LSF having the far more sophisticated -%scheduler. We should carefully review their data structures and -%daemons before designing our own. -% -\subsection*{Load Sharing Facility (LSF)} - -LSF~\cite{LSF} -is a proprietary batch system and parallel job manager by -Platform Computing. Widely deployed on a wide variety of computer -architectures, it has sophisticated scheduling software including -fair-share, backfill, consumable resources, an job preemption and -very flexible queue structure. -It also provides good status information on nodes and LSF daemons. -While LSF is quite powerful, it is not open-source and can be costly on -larger clusters. -%The LSF share many of its shortcomings with the LoadLeveler: job initiation only -%through LSF, requirement of a spwcial MPI library, etc. -%Limits are available on both a per process bs per-job -%basis. Time limits include CPU time and wall-clock time. Many -%configuration files with signals to daemons used to update -%configuration (like LoadLeveler, good). All jobs must be initiated -%through LSF to be accounted for and managed by LSF ("interactive" -%jobs can be executed through a high priority queue for -%smaller jobs). Job accounting only available in near real-time (important -%for long-running jobs). Jobs initiated from same directory as -%submitted from (not good for computer centers with diverse systems -%under LSF control). Good status information on nodes and LSF daemons. -%Allocates jobs either entire nodes or shared nodes depending upon -%configuration. -% -%A special version of MPI is required. LSF allocates interconnect -%resources, spawns the user's processes, and manages the job -%afterwards. While I am less familiar with LSF than LoadLeveler, they -%appear very similar with LSF having the far more sophisticated -%scheduler. We should carefully review their data structures and -%daemons before designing our own. - - -\subsection*{Condor} - -Condor~\cite{Condor,Litzkow88,Basney97} -is a batch system and parallel job manager -developed by the University of Wisconsin. -Condor was the basis for IBM's LoadLeveler and both share very similar -underlying infrastructure. Condor has a very sophisticated checkpoint/restart -service that does not rely upon kernel changes, but a variety of -library changes (which prevent it from being completely general). The -Condor checkpoint/restart service has been integrated into LSF, -Codine, and DPCS. Condor is designed to operate across a -heterogeneous environment, mostly to harness the compute resources of -workstations and PCs. It has an interesting "advertising" service. -Servers advertise their available resources and consumers advertise -their requirements for a broker to perform matches. The checkpoint -mechanism is used to relocate work on demand (when the "owner" of a -desktop machine wants to resume work). - -% -%\subsection*{Linux PAGG Process Aggregates} -% -%PAGG~\cite{PAGG} -%consists of modifications to the linux kernel that allows -%developers to implement Process AGGregates as loadable kernel modules. -%A process aggregate is defined as a collection of processes that are -%all members of the same set. A set would be implemented as a container -%for the member processes. For instance, process sessions and groups -%could have been implemented as process aggregates. -% - -\subsection*{Beowulf Distributed Process Space (BPROC)} - -The Beowulf Distributed Process Space -(BPROC) -is set of kernel -modifications, utilities and libraries which allow a user to start -processes on other machines in a Beowulf-style cluster~\cite{BProc}. Remote -processes started with this mechanism appear in the process table -of the front end machine in a cluster. This allows remote process -management using the normal UNIX process control facilities. Signals -are transparently forwarded to remote processes and exit status is -received using the usual wait() mechanisms. This tight coupling of -a cluster's nodes is convenient, but high scalability can be difficult -to achieve. - -%\subsection{xcat} -% -%Presumably IBM's suite of cluster management software -%(xcat\footnote{http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246041.html}) -%includes a batch system. Look into this. -% -%\subsection{CPLANT} -% -%CPLANT\footnote{http://www.cs.sandia.gov/cplant/} includes -%Parallel Job Launcher, Compute Node Daemon Process, -%Compute Node Allocator, Compute Node Status Tool. -% -%\subsection{NQS} -% -%NQS\footnote{http://umbc7.umbc.edu/nqs/nqsmain.html}, -%the Network Queueing System, is a serial batch system. -% -%\subsection*{LAM / MPI} -% -%Local Area Multicomputer (LAM)~\cite{LAM} -%is an MPI programming environment and development system for heterogeneous -%computers on a network. -%With LAM, a dedicated cluster or an existing network -%computing infrastructure can act as one parallel computer solving -%one problem. LAM features extensive debugging support in the -%application development cycle and peak performance for production -%applications. LAM features a full implementation of the MPI -%communication standard. -% -%\subsection{MPICH} -% -%MPICH\footnote{http://www-unix.mcs.anl.gov/mpi/mpich/} -%is a freely available, portable implementation of MPI, -%the Standard for message-passing libraries. -% -%\subsection{Sun Grid Engine} -% -%SGE\footnote{http://www.sun.com/gridware/} is now proprietary. -% -% -%\subsection{SCIDAC} -% -%The Scientific Discovery through Advanced Computing (SciDAC) -%project\footnote{http://www.scidac.org/ScalableSystems} -%has a Resource Management and Accounting working group -%and a white paper\cite{Res2000}. Deployment of a system with -%the required fault-tolerance and scalability is scheduled -%for June 2006. -% -%\subsection{GNU Queue} -% -%GNU Queue\footnote{http://www.gnuqueue.org/home.html}. -% -%\subsection{Clubmask} -%Clubmask\footnote{http://clubmask.sourceforge.net} is based on bproc. -%Separate queueing system? -% -%\subsection{SQMX} -%Part of the SCE Project\footnote{http://www.opensce.org/}, -%SQMX\footnote{http://www.beowulf.org/pipermail/beowulf-announce/2001-January/000086.html} is worth taking a look at. diff --git a/executable_names/doc/man/Makefile.am b/executable_names/doc/man/Makefile.am deleted file mode 100644 index 2e4cd97272..0000000000 --- a/executable_names/doc/man/Makefile.am +++ /dev/null @@ -1,101 +0,0 @@ - -EXTRA_DIST = man1 man3 man5 man8 - -man1_MANS = \ - man1/sacct.1 \ - man1/salloc.1 \ - man1/sattach.1 \ - man1/sbatch.1 \ - man1/sbcast.1 \ - man1/scancel.1 \ - man1/scontrol.1 \ - man1/sinfo.1 \ - man1/slaunch.1 \ - man1/slurm.1 \ - man1/smap.1 \ - man1/squeue.1 \ - man1/srun.1 \ - man1/sview.1 - -man3_MANS = man3/slurm_hostlist_create.3 \ - man3/slurm_hostlist_destroy.3 \ - man3/slurm_hostlist_shift.3 \ - man3/slurm_allocate_resources.3 \ - man3/slurm_allocation_lookup.3 \ - man3/slurm_api_version.3 \ - man3/slurm_checkpoint_able.3 \ - man3/slurm_checkpoint_complete.3 \ - man3/slurm_checkpoint_create.3 \ - man3/slurm_checkpoint_disable.3 \ - man3/slurm_checkpoint_enable.3 \ - man3/slurm_checkpoint_error.3 \ - man3/slurm_checkpoint_failed.3 \ - man3/slurm_checkpoint_restart.3 \ - man3/slurm_checkpoint_vacate.3 \ - man3/slurm_complete_job.3 \ - man3/slurm_complete_job_step.3 \ - man3/slurm_confirm_allocation.3 \ - man3/slurm_free_ctl_conf.3 \ - man3/slurm_free_job_info_msg.3 \ - man3/slurm_free_job_step_create_response_msg.3 \ - man3/slurm_free_job_step_info_response_msg.3 \ - man3/slurm_free_node_info.3 \ - man3/slurm_free_partition_info.3 \ - man3/slurm_free_resource_allocation_response_msg.3 \ - man3/slurm_free_submit_response_response_msg.3 \ - man3/slurm_get_end_time.3 \ - man3/slurm_get_errno.3 \ - man3/slurm_get_job_steps.3 \ - man3/slurm_get_rem_time.3 \ - man3/slurm_get_select_jobinfo.3 \ - man3/slurm_init_job_desc_msg.3 \ - man3/slurm_init_part_desc_msg.3 \ - man3/slurm_job_step_create.3 \ - man3/slurm_job_will_run.3 \ - man3/slurm_jobinfo_ctx_get.3 \ - man3/slurm_kill_job.3 \ - man3/slurm_kill_job_step.3 \ - man3/slurm_load_ctl_conf.3 \ - man3/slurm_load_jobs.3 \ - man3/slurm_load_node.3 \ - man3/slurm_load_partitions.3 \ - man3/slurm_perror.3 \ - man3/slurm_pid2jobid.3 \ - man3/slurm_print_ctl_conf.3 \ - man3/slurm_print_job_info.3 \ - man3/slurm_print_job_info_msg.3 \ - man3/slurm_print_job_step_info.3 \ - man3/slurm_print_job_step_info_msg.3 \ - man3/slurm_print_node_info_msg.3 \ - man3/slurm_print_node_table.3 \ - man3/slurm_print_partition_info.3 \ - man3/slurm_print_partition_info_msg.3 \ - man3/slurm_reconfigure.3 \ - man3/slurm_resume.3 \ - man3/slurm_requeue.3 \ - man3/slurm_shutdown.3 \ - man3/slurm_spawn.3 \ - man3/slurm_spawn_kill.3 \ - man3/slurm_step_ctx_create.3 \ - man3/slurm_step_ctx_destroy.3 \ - man3/slurm_step_ctx_get.3 \ - man3/slurm_step_ctx_set.3 \ - man3/slurm_strerror.3 \ - man3/slurm_submit_batch_job.3 \ - man3/slurm_suspend.3 \ - man3/slurm_update_job.3 \ - man3/slurm_update_node.3 \ - man3/slurm_update_partition.3 - -man5_MANS = man5/bluegene.conf.5 \ - man5/slurm.conf.5 \ - man5/wiki.conf.5 - -man8_MANS = man8/slurmctld.8 \ - man8/slurmd.8 \ - man8/spank.8 \ - man8/slurmstepd.8 - -dist-hook: - -rm -rf `find $(distdir) -name CVS` - diff --git a/executable_names/doc/man/Makefile.in b/executable_names/doc/man/Makefile.in deleted file mode 100644 index 51e13e47fd..0000000000 --- a/executable_names/doc/man/Makefile.in +++ /dev/null @@ -1,706 +0,0 @@ -# Makefile.in generated by automake 1.9 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_triplet = @host@ -subdir = doc/man -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/auxdir/acx_pthread.m4 \ - $(top_srcdir)/auxdir/slurm.m4 \ - $(top_srcdir)/auxdir/x_ac__system_configuration.m4 \ - $(top_srcdir)/auxdir/x_ac_affinity.m4 \ - $(top_srcdir)/auxdir/x_ac_aix.m4 \ - $(top_srcdir)/auxdir/x_ac_bluegene.m4 \ - $(top_srcdir)/auxdir/x_ac_debug.m4 \ - $(top_srcdir)/auxdir/x_ac_elan.m4 \ - $(top_srcdir)/auxdir/x_ac_federation.m4 \ - $(top_srcdir)/auxdir/x_ac_gpl_licensed.m4 \ - $(top_srcdir)/auxdir/x_ac_gtk.m4 \ - $(top_srcdir)/auxdir/x_ac_munge.m4 \ - $(top_srcdir)/auxdir/x_ac_ncurses.m4 \ - $(top_srcdir)/auxdir/x_ac_pam.m4 \ - $(top_srcdir)/auxdir/x_ac_ptrace.m4 \ - $(top_srcdir)/auxdir/x_ac_readline.m4 \ - $(top_srcdir)/auxdir/x_ac_setpgrp.m4 \ - $(top_srcdir)/auxdir/x_ac_setproctitle.m4 \ - $(top_srcdir)/auxdir/x_ac_sgi_job.m4 \ - $(top_srcdir)/auxdir/x_ac_slurm_ssl.m4 \ - $(top_srcdir)/auxdir/x_ac_xcpu.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/slurm/slurm.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ - "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" -man3dir = $(mandir)/man3 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man1_MANS) $(man3_MANS) $(man5_MANS) $(man8_MANS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTHD_CFLAGS = @AUTHD_CFLAGS@ -AUTHD_LIBS = @AUTHD_LIBS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BG_INCLUDES = @BG_INCLUDES@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CMD_LDFLAGS = @CMD_LDFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG_MODULES_FALSE = @DEBUG_MODULES_FALSE@ -DEBUG_MODULES_TRUE = @DEBUG_MODULES_TRUE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ELAN_LIBS = @ELAN_LIBS@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FEDERATION_LDFLAGS = @FEDERATION_LDFLAGS@ -FFLAGS = @FFLAGS@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -HAVEPKGCONFIG = @HAVEPKGCONFIG@ -HAVE_AIX = @HAVE_AIX@ -HAVE_AIX_FALSE = @HAVE_AIX_FALSE@ -HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@ -HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@ -HAVE_AIX_TRUE = @HAVE_AIX_TRUE@ -HAVE_ELAN = @HAVE_ELAN@ -HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@ -HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@ -HAVE_FEDERATION = @HAVE_FEDERATION@ -HAVE_FEDERATION_FALSE = @HAVE_FEDERATION_FALSE@ -HAVE_FEDERATION_TRUE = @HAVE_FEDERATION_TRUE@ -HAVE_GTK_FALSE = @HAVE_GTK_FALSE@ -HAVE_GTK_TRUE = @HAVE_GTK_TRUE@ -HAVE_NUMA_FALSE = @HAVE_NUMA_FALSE@ -HAVE_NUMA_TRUE = @HAVE_NUMA_TRUE@ -HAVE_PAM_FALSE = @HAVE_PAM_FALSE@ -HAVE_PAM_TRUE = @HAVE_PAM_TRUE@ -HAVE_SCHED_SETAFFINITY_FALSE = @HAVE_SCHED_SETAFFINITY_FALSE@ -HAVE_SCHED_SETAFFINITY_TRUE = @HAVE_SCHED_SETAFFINITY_TRUE@ -HAVE_SGI_JOB_FALSE = @HAVE_SGI_JOB_FALSE@ -HAVE_SGI_JOB_TRUE = @HAVE_SGI_JOB_TRUE@ -HAVE_SOME_CURSES = @HAVE_SOME_CURSES@ -HAVE_SOME_CURSES_FALSE = @HAVE_SOME_CURSES_FALSE@ -HAVE_SOME_CURSES_TRUE = @HAVE_SOME_CURSES_TRUE@ -HAVE_UNSETENV_FALSE = @HAVE_UNSETENV_FALSE@ -HAVE_UNSETENV_TRUE = @HAVE_UNSETENV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_LDFLAGS = @LIB_LDFLAGS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MUNGE_CPPFLAGS = @MUNGE_CPPFLAGS@ -MUNGE_LDFLAGS = @MUNGE_LDFLAGS@ -MUNGE_LIBS = @MUNGE_LIBS@ -NCURSES = @NCURSES@ -NUMA_LIBS = @NUMA_LIBS@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PAM_LIBS = @PAM_LIBS@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PROCTRACKDIR = @PROCTRACKDIR@ -PROJECT = @PROJECT@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -READLINE_LIBS = @READLINE_LIBS@ -RELEASE = @RELEASE@ -SEMAPHORE_LIBS = @SEMAPHORE_LIBS@ -SEMAPHORE_SOURCES = @SEMAPHORE_SOURCES@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SLURMCTLD_PORT = @SLURMCTLD_PORT@ -SLURMD_PORT = @SLURMD_PORT@ -SLURM_API_AGE = @SLURM_API_AGE@ -SLURM_API_CURRENT = @SLURM_API_CURRENT@ -SLURM_API_MAJOR = @SLURM_API_MAJOR@ -SLURM_API_REVISION = @SLURM_API_REVISION@ -SLURM_API_VERSION = @SLURM_API_VERSION@ -SLURM_MAJOR = @SLURM_MAJOR@ -SLURM_MICRO = @SLURM_MICRO@ -SLURM_MINOR = @SLURM_MINOR@ -SLURM_VERSION = @SLURM_VERSION@ -SO_LDFLAGS = @SO_LDFLAGS@ -SSL_CPPFLAGS = @SSL_CPPFLAGS@ -SSL_LDFLAGS = @SSL_LDFLAGS@ -SSL_LIBS = @SSL_LIBS@ -STRIP = @STRIP@ -VERSION = @VERSION@ -WITH_AUTHD_FALSE = @WITH_AUTHD_FALSE@ -WITH_AUTHD_TRUE = @WITH_AUTHD_TRUE@ -WITH_GNU_LD_FALSE = @WITH_GNU_LD_FALSE@ -WITH_GNU_LD_TRUE = @WITH_GNU_LD_TRUE@ -WITH_MUNGE_FALSE = @WITH_MUNGE_FALSE@ -WITH_MUNGE_TRUE = @WITH_MUNGE_TRUE@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -EXTRA_DIST = man1 man3 man5 man8 -man1_MANS = \ - man1/sacct.1 \ - man1/salloc.1 \ - man1/sattach.1 \ - man1/sbatch.1 \ - man1/sbcast.1 \ - man1/scancel.1 \ - man1/scontrol.1 \ - man1/sinfo.1 \ - man1/slaunch.1 \ - man1/slurm.1 \ - man1/smap.1 \ - man1/squeue.1 \ - man1/srun.1 \ - man1/sview.1 - -man3_MANS = man3/slurm_hostlist_create.3 \ - man3/slurm_hostlist_destroy.3 \ - man3/slurm_hostlist_shift.3 \ - man3/slurm_allocate_resources.3 \ - man3/slurm_allocation_lookup.3 \ - man3/slurm_api_version.3 \ - man3/slurm_checkpoint_able.3 \ - man3/slurm_checkpoint_complete.3 \ - man3/slurm_checkpoint_create.3 \ - man3/slurm_checkpoint_disable.3 \ - man3/slurm_checkpoint_enable.3 \ - man3/slurm_checkpoint_error.3 \ - man3/slurm_checkpoint_failed.3 \ - man3/slurm_checkpoint_restart.3 \ - man3/slurm_checkpoint_vacate.3 \ - man3/slurm_complete_job.3 \ - man3/slurm_complete_job_step.3 \ - man3/slurm_confirm_allocation.3 \ - man3/slurm_free_ctl_conf.3 \ - man3/slurm_free_job_info_msg.3 \ - man3/slurm_free_job_step_create_response_msg.3 \ - man3/slurm_free_job_step_info_response_msg.3 \ - man3/slurm_free_node_info.3 \ - man3/slurm_free_partition_info.3 \ - man3/slurm_free_resource_allocation_response_msg.3 \ - man3/slurm_free_submit_response_response_msg.3 \ - man3/slurm_get_end_time.3 \ - man3/slurm_get_errno.3 \ - man3/slurm_get_job_steps.3 \ - man3/slurm_get_rem_time.3 \ - man3/slurm_get_select_jobinfo.3 \ - man3/slurm_init_job_desc_msg.3 \ - man3/slurm_init_part_desc_msg.3 \ - man3/slurm_job_step_create.3 \ - man3/slurm_job_will_run.3 \ - man3/slurm_jobinfo_ctx_get.3 \ - man3/slurm_kill_job.3 \ - man3/slurm_kill_job_step.3 \ - man3/slurm_load_ctl_conf.3 \ - man3/slurm_load_jobs.3 \ - man3/slurm_load_node.3 \ - man3/slurm_load_partitions.3 \ - man3/slurm_perror.3 \ - man3/slurm_pid2jobid.3 \ - man3/slurm_print_ctl_conf.3 \ - man3/slurm_print_job_info.3 \ - man3/slurm_print_job_info_msg.3 \ - man3/slurm_print_job_step_info.3 \ - man3/slurm_print_job_step_info_msg.3 \ - man3/slurm_print_node_info_msg.3 \ - man3/slurm_print_node_table.3 \ - man3/slurm_print_partition_info.3 \ - man3/slurm_print_partition_info_msg.3 \ - man3/slurm_reconfigure.3 \ - man3/slurm_resume.3 \ - man3/slurm_requeue.3 \ - man3/slurm_shutdown.3 \ - man3/slurm_spawn.3 \ - man3/slurm_spawn_kill.3 \ - man3/slurm_step_ctx_create.3 \ - man3/slurm_step_ctx_destroy.3 \ - man3/slurm_step_ctx_get.3 \ - man3/slurm_step_ctx_set.3 \ - man3/slurm_strerror.3 \ - man3/slurm_submit_batch_job.3 \ - man3/slurm_suspend.3 \ - man3/slurm_update_job.3 \ - man3/slurm_update_node.3 \ - man3/slurm_update_partition.3 - -man5_MANS = man5/bluegene.conf.5 \ - man5/slurm.conf.5 \ - man5/wiki.conf.5 - -man8_MANS = man8/slurmctld.8 \ - man8/slurmd.8 \ - man8/spank.8 \ - man8/slurmstepd.8 - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/man/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/man/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-man1: $(man1_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" - @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 1*) ;; \ - *) ext='1' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ - done -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 1*) ;; \ - *) ext='1' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ - rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ - done -install-man3: $(man3_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - test -z "$(man3dir)" || $(mkdir_p) "$(DESTDIR)$(man3dir)" - @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.3*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 3*) ;; \ - *) ext='3' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst"; \ - done -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.3*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 3*) ;; \ - *) ext='3' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f '$(DESTDIR)$(man3dir)/$$inst'"; \ - rm -f "$(DESTDIR)$(man3dir)/$$inst"; \ - done -install-man5: $(man5_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - test -z "$(man5dir)" || $(mkdir_p) "$(DESTDIR)$(man5dir)" - @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.5*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 5*) ;; \ - *) ext='5' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst"; \ - done -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.5*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 5*) ;; \ - *) ext='5' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f '$(DESTDIR)$(man5dir)/$$inst'"; \ - rm -f "$(DESTDIR)$(man5dir)/$$inst"; \ - done -install-man8: $(man8_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)" - @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.8*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 8*) ;; \ - *) ext='8' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst"; \ - done -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.8*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 8*) ;; \ - *) ext='8' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f '$(DESTDIR)$(man8dir)/$$inst'"; \ - rm -f "$(DESTDIR)$(man8dir)/$$inst"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-man - -install-exec-am: - -install-info: install-info-am - -install-man: install-man1 install-man3 install-man5 install-man8 - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-man - -uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ - uninstall-man8 - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - dist-hook distclean distclean-generic distclean-libtool \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-man1 install-man3 install-man5 install-man8 \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-info-am uninstall-man \ - uninstall-man1 uninstall-man3 uninstall-man5 uninstall-man8 - - -dist-hook: - -rm -rf `find $(distdir) -name CVS` -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/executable_names/doc/man/man1/sacct.1 b/executable_names/doc/man/man1/sacct.1 deleted file mode 100644 index 4c8813056c..0000000000 --- a/executable_names/doc/man/man1/sacct.1 +++ /dev/null @@ -1,1141 +0,0 @@ -.\" $Header$ -.TA "s" -.TH sacct 1 -.ds )H "Hewlett\-Packard Company -.SH "NAME" -sacct -\- displays accounting data for all jobs and job steps in the SLURM job accounting log -.SH "SYNOPSIS" -.HP -.BR "sacct " -\f2\fP\f2options \fP -.SH "DESCRIPTION" -.PP -Accounting information for jobs invoked with SLURM are logged in the job -accounting log file. -.PP -The -.BR "sacct " -command displays job accounting data stored in the job accounting log -file in a variety of forms for your analysis. -The -.BR "sacct " -command displays information on jobs, job steps, status, and exitcodes by -default. -You can tailor the output with the use of the -\f3\-\-fields=\fP -option to specify the fields to be shown. -.PP -For the root user, the -.BR "sacct " -command displays job accounting data for all users, although there are -options to filter the output to report only the jobs from a specified -user or group. -.PP -For the non\-root user, the -.BR "sacct " -command limits the display of job accounting data to jobs that were -launched with their own user identifier (UID) by default. -Data for other users can be displayed with the -\f3\-\-all\fP, -\f3\-\-user\fP, -or -\f3\-\-uid\fP -options. -.TP "10" -\f3Note: \fP\c -Much of the data reported by \f3sacct\fP has been generated by -the \f2wait3()\fP and \f2getrusage()\fP system calls. Some systems -gather and report incomplete information for these calls; -\f3sacct\fP reports values of 0 for this missing data. See your systems -\f2getrusage(3)\fP man page for information about which data are -actually available on your system. -.SS "Options" -.TP "10" -\f3\-a \fP\f3,\fP \f3\-\-all\fP -Displays the job accounting data for all jobs in the job accounting log file. -.IP -This is the default behavior when the -.BR "sacct " -command is executed by the root user. -.TP -\f3\-b \fP\f3,\fP \f3\-\-brief\fP -Displays a brief listing, which includes the following data: -.RS -.TP "3" -\(bu -\f3jobid\fP -.TP "3" -\(bu -\f3status\fP -.TP "3" -\(bu -\f3exitcode\fP -.RE -.IP -This option has no effect when the -\f3\-\-\-dump\fP -option is also specified. -.TP -\f3\-d \fP\f3,\fP \f3\-\-dump\fP -Displays (dumps) the raw data records. -.IP -This option overrides the -\f3\-\-brief\fP -and -\f3\-\-fields=\fP -options. -.IP -The section titled "INTERPRETING THE \-\-dump OPTION OUTPUT" describes the -data output when this option is used. -.TP -\f3\-S \fP\f3,\fP \f3\-\-stat\fP -.IP -Queries the status of a job as the job is running displaying -the following data: -.RS -.TP "3" -\(bu -\f3jobid\fP -.TP "3" -\(bu -\f3vsize\fP -.TP "3" -\(bu -\f3rss\fP -.TP "3" -\(bu -\f3pages\fP -.TP "3" -\(bu -\f3cputime\fP -.TP "3" -\(bu -\f3ntasks\fP -.TP "3" -\(bu -\f3status\fP -.RE -.IP -You must also include the \-\-jobs=job(.step) option if no (.step) is -given you will recieve the job.0 step. - -.TP -\f3\-e \fP\f2time_spec\fP \f3,\fP \f3\-\-expire=\fP\f2time_spec\fP -.IP -Removes job data from SLURMs current accounting log file (or the file -specified with \f3\-\-file\fP) for jobs that completed more than -\f2time_spec\fP -ago and appends them to the expired log file. -.IP -If \f2time_spec\fP is an integer value only, it is interpreted as minutes. If -\f2time_spec\fP is an integer followed by "h", it is interpreted as -a number of hours. If \f2time_spec\fP is an integer followed by "d", -it is interpreted as number of days. For example, "\-\-expire=14d" -purges the job accounting log of all jobs that completed -more than 14 days ago. -.IP -The expired log file is a file with the same name as the accounting -log file, with ".expired" appended to the file name. For example, if -the accounting log file is /var/log/slurmacct.log, the expired log -file will be /var/log/slurmacct.log.expired. -.TP -\f3\-F \fP\f2field_list\fP \f3,\fP \f3\-\-fields\fP\f3=\fP\f2field_list\fP -Displays the job accounting data specified by the -\f2field_list\fP -operand, which is a comma\-separated list of fields. -Space characters are not allowed in the -\f2field_list\fP\c -\&. -.IP -See the -\f3\-\-help\-fields\fP -option for a list of the available fields. -See the section titled "Job Accounting Fields" for a description of -each field. -.IP -The job accounting data is displayed in the order specified by the -\f2field_list\fP -operand. -Thus, the following two commands display the same data but in different order: -.RS -.PP -.nf -.ft 3 -# sacct \-\-fields=jobid,status -Jobid Status -\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- -3 COMPLETED -3.0 COMPLETED - -.ft 1 -.fi -.RE -.RS -.PP -.nf -.ft 3 -# sacct \-\-fields=status,jobid -Status Jobid -\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- -COMPLETED 3 -COMPLETED 3.0 - -.ft 1 -.fi -.RE -.IP -The default value for the -\f2field_list\fP -operand is -\f3"jobid,partition,process,ncpus,status,exitcode"\fP\c -\&. -.IP -This option has no effect when the -\f3\-\-dump\fP -option is also specified. -.TP -\f3\-f \fP\f2file\fP\f3,\fP \f3\-\-file\fP\f3=\fP\f2file\fP -Causes the -.BR "sacct " -command to read job accounting data from the named -\f2file\fP -instead of the current SLURM job accounting log file. -.TP -\f3\-O \fP\f3,\fP \f3\-\-formatted_dump\fP -Dumps accounting records in an easy\-to\-read format. -.IP -This option is provided for debugging. -.TP -\f3\-g \fP\f2gid\fP\f3,\fP \f3\-\-gid\fP\f3=\fP\f2gid\fP -Displays the statistics only for the jobs started with GID -\f2gid\fP\c -\&. -.TP -\f3\-g \fP\f2group\fP\f3,\fP \f3\-\-group\fP\f3=\fP\f2group\fP -Displays the statistics only for the jobs started by users in the -group -\f2group\fP\c -\&. -.TP -\f3\-h \fP\f3,\fP \f3\-\-help\fP -Displays a general help message. -.TP -\f3\-\-help\-fields\fP -Displays a list of fields that can be specified with the -\f3\-\-fields\fP -option. -.RS -.PP -.nf -.ft 3 -Fields available: -account blockid cpu cputime -elapsed end exitcode gid -group idrss inblock isrss -ixrss job jobid jobname -majflt minflt msgrcv msgsnd -ncpus nivcsw nodes nprocs -nsignals nswap ntasks nvcsw -outblocks pages partition rss -start status submit systemcpu -uid user usercpu vsize - -.ft 1 -.fi -.RE -.IP -The section titled "Job Accounting Fields" describes these fields. -.TP -\f3\-j \fP\f2job(.step)\fP \f3,\fP \f3\-\-jobs\fP\f3=\fP\f2job(.step)\fP -Displays information about the specified job(.step) or list of job(.step)s. -.IP -The -\f2job(.step)\fP -parameter is a comma\-separated list of jobs. -Space characters are not permitted in this list. -.IP -The default is to display information on all jobs. -.TP -\f3\-l\fP\f3,\fP \f3\-\-long\fP -Displays a long listing, which includes the following data: -.RS -.TP "3" -\(bu -\f3jobid\fP -.TP "3" -\(bu -\f3jobname\fP -.TP "3" -\(bu -\f3partition\fP -.TP "3" -\(bu -\f3vsize\fP -.TP "3" -\(bu -\f3rss\fP -.TP "3" -\(bu -\f3pages\fP -.TP "3" -\(bu -\f3cputime\fP -.TP "3" -\(bu -\f3ntasks\fP -.TP "3" -\(bu -\f3ncpus\fP -.TP "3" -\(bu -\f3elapsed\fP -.TP "3" -\(bu -\f3status\fP -.TP "3" -\(bu -\f3exitcode\fP -.RE -.TP -\f3\-\-noheader\fP -Prevents the display of the heading over the output. -The default action is to display a header. -.IP -This option has no effect when used with the -\f3\-\-dump\fP -option. -.TP -\f3\-p \fP\f2partition_list\fP \f3,\fP \f3\-\-partition\fP\f3=\fP\f2partition_list\fP -Displays information about jobs and job steps specified by the -\f2partition_list\fP -operand, which is a comma\-separated list of partitions. -Space characters are not allowed in the -\f2partition_list\fP\c -\&. -.IP -The default is to display information on jobs and job steps on all partitions. -.TP -\f3\-s \fP\f2state_list\fP \f3,\fP \f3\-\-state\fP\f3=\fP\f2state_list\fP -Selects jobs based on their current state, which can be designated with -the following state designators: -.RS -.TP "10" -\f3r\fP -running -.TP -\f3s\fP -suspended -.TP -\f3ca\fP -cancelled -.TP -\f3cd\fP -completed -.TP -\f3pd\fP -pending -.TP -\f3f\fP -failed -.TP -\f3to\fP -timed out -.TP -\f3nf\fP -node_fail -.RE -.IP -The -\f2state_list\fP -operand is a comma\-separated list of these state designators. -Space characters are not allowed in the -\f2state_list\fP\c -\&. -.TP -\f3\-t \fP\f3,\fP \f3\-\-total\fP -Displays only the cumulative statistics for each job. -Intermediate steps are displayed by default. -.TP -\f3\-u \fP\f2uid\fP\f3,\fP \f3\-\-uid\fP\f3=\fP\f2uid\fP -Displays the statistics only for the jobs started by the user whose UID is -\f2uid\fP\c -\&. -.TP -\f3\-u \fP\f2user\fP\f3,\fP \f3\-\-user\fP\f3=\fP\f2user\fP -Displays the statistics only for the jobs started by user -\f2user\fP\c -\&. -.TP -\f3\-\-usage\fP -Displays a help message. -.TP -\f3\-v \fP\f3,\fP \f3\-\-verbose\fP -Reports the state of certain variables during processing. -This option is primarily used for debugging. -.SS "Job Accounting Fields" -The following describes each job accounting field: -.RS -.TP "10" -\f3account\fP -User supplied account number for the job - -.TP -\f3blockid\fP -Block ID, applicable to BlueGene computers only - -.TP -\f3cpu\fP -The sum of the system time (systemcpu) and user time (usercpu) in seconds - -.TP -\f3cputime\fP -Minimum CPU time of any process followed by its task id along with -the average of all processes running in the step. - -.TP -\f3elapsed\fP -The jobs elapsed time. -.IP -The format of this fields output is as follows: -.RS -.PD "0" -.HP -\f2[DD\-[hh:]]mm:ss\fP -.PD -.RE -.IP -as defined by the following: -.RS -.TP "10" -\f2DD\fP -days -.TP -\f2hh\fP -hours -.TP -\f2mm\fP -minutes -.TP -\f2ss\fP -seconds -.RE - -.TP -\f3end\fP -Termination time of the job. Format output is as follows: -.RS -.PD "0" -.HP -\f2MM/DD\-hh:mm:ss\fP -.PD -.RE -.IP -as defined by the following: -.RS -.TP "10" -\f2MM\fP -month -.TP -\f2DD\fP -day -.TP -\f2hh\fP -hours -.TP -\f2mm\fP -minutes -.TP -\f2ss\fP -seconds -.RE - -.TP -\f3exitcode\fP -The first non\-zero error code returned by any job step. - -.TP -\f3gid\fP -The group identifier of the user who ran the job. - -.TP -\f3group\fP -The group name of the user who ran the job. - -.TP -\f3idrss\fP -Maximum unshared data size (in KB) of any process. - -.TP -\f3inblocks\fP -Total block input operations for all processes. - -.TP -\f3isrss\fP -Maximum unshared stack space size (in KB) of any process. - -.TP -\f3ixrss\fP -Maximum shared memory (in KB) of any process. - -.TP -\f3job\fP -The SLURM job identifier of the job. - -.TP -\f3jobid\fP -The number of the job or job step. -It is in the form: -\f2job.jobstep\fP\c -\&. - -.TP -\f3jobname\fP -The name of the job or job step. - -.TP -\f3majflt\fP -Maximum number of major page faults for any process. - -.TP -\f3minflt\fP -Maximum number of minor page faults (page reclaims) for any process. - -.TP -\f3msgrcv\fP -Total number of messages received for all processes. - -.TP -\f3msgsnd\fP -Total number of messages sent for all processes. - -.TP -\f3ncpus\fP -Total number of CPUs allocated to the job. - -.TP -\f3nivcsw\fP -Total number of involuntary context switches for all processes. - -.TP -\f3nodes\fP -A list of nodes allocated to the job. - -.TP -\f3nprocs\fP -Total number of tasks in job. Identical to \f3ntasks\fP. - -.TP -\f3nsignals\fP -Total number of signals received for all processes. - -.TP -\f3nswap\fP -Maximum number of swap operations of any process. - -.TP -\f3ntasks\fP -Total number of tasks in job. - -.TP -\f3nvcsw\fP -Total number of voluntary context switches for all processes. - -.TP -\f3outblocks\fP -Total block output operations for all processes. - -.TP -\f3pages\fP -Maximum page faults of any process followed by its task id along with -the average of all processes running in the step. - -.TP -\f3partition\fP -Identifies the partition on which the job ran. - -.TP -\f3rss\fP -Maximum resident set size of any process followed by its task id along with -the average of all processes running in the step. - -.TP -\f3start\fP -Initiation time of the job in the same format as \f3end\fP. - -.TP -\f3status\fP -Displays the job status, or state. -.IP -Output can be -\f3RUNNING\fP\c -\&, -\f3SUSPENDED\fP\c -\&, -\f3COMPLETED\fP\c -\&, -\f3CANCELLED\fP\c -\&, -\f3FAILED\fP\c -\&, -\f3TIMEOUT\fP\c -\&, or -\f3NODE_FAIL\fP\c -\&. - -.TP -\f3submit\fP -The time and date stamp (in Universal Time Coordinated, UTC) the job was -submitted. -The format of the output is identical to that of the \f3end\fP field. - -.TP -\f3systemcpu\fP -The amount of system CPU time. -The format of the output is identical to that of the -\f3elapsed\fP -field. - -.TP -\f3uid\fP -The user identifier of the user who ran the job. - -.TP -\f3uid.gid\fP -The user and group identifiers of the user who ran the job. (This -field is used in record headers, and simply concatenates the -\f3uid\fP and \f3gid\fP fields.) - -.TP -\f3user\fP -The user name of the user who ran the job. - -.TP -\f3usercpu\fP -The amount of user CPU time. -The format of the output is identical to that of the -\f3elapsed\fP field. - -.TP -\f3vsize\fP -Maximum Virtual Memory size of any process followed by its task id along with -the average of all processes running in the step. - -.RE -.SH "INTERPRETING THE \-DUMP OPTION OUTPUT" -The -.BR "sacct " -commands -\f3\-\-dump\fP -option displays data in a horizontal list of fields depending on the -record type; -there are three record types: -\f3JOB_START\fP\c -\&, -\f3JOB_STEP\fP\c -\&, and -\f3JOB_TERMINATED\fP\c -\&. -There is a subsection that describes the output for each record type. -.PP -When the data output is a job accounting field, as described in the -section titled "Job Accounting Fields", only the name of the job -accounting field is listed. -Otherwise, additional information is provided. -.TP "10" -\f3Note: \fP\c -The output for the -\f3JOB_STEP\fP -and -\f3JOB_TERMINATED\fP -record types present a pair of fields for the following data: -Total CPU time, Total User CPU time, and Total System CPU time. -The first field of each pair is the time in seconds expressed as an -integer. -The second field of each pair is the fractional number of seconds -multiplied by one million. -Thus, a pair of fields output as "\c -\f31 024315\fP\c -" means that the time is 1.024315 seconds. -The least significant digits in the second field are truncated in -formatted displays. -.SS "Output for the JOB_START Record Type" -The following describes the horizontal fields output by the -.BR "sacct " -\f3\-\-dump\fP -option for the -\f3JOB_START\fP -record type. -.RS -.TP "10" -Field # -Field -.TP -1 -\f3job\fP -.TP -2 -\f3partition\fP -.TP -3 -\f3submitted\fP -.TP -4 -The jobs start time; -this value is the number of non\-leap seconds since the Epoch (00:00:00 -UTC, January 1, 1970) -.TP -5 -\f3uid.gid\fP -.TP -6 -(Reserved) -.TP -7 -\f3JOB_START\fP (literal string) -.TP -8 -Job Record Version (1) -.TP -9 -The number of fields in the record (16) -.TP -10 -\f3uid\fP -.TP -11 -\f3gid\fP -.TP -12 -The job name -.TP -13 -Batch Flag (0=no batch) -.TP -14 -Relative SLURM priority -.TP -15 -\f3ncpus\fP -.TP -16 -\f3nodes\fP -.RE -.SS "Output for the JOB_STEP Record Type" -The following describes the horizontal fields output by the -.BR "sacct " -\f3\-\-dump\fP -option for the -\f3JOB_STEP\fP -record type. -.RS -.TP "10" -Field # -Field -.TP -1 -\f3job\fP -.TP -2 -\f3partition\fP -.TP -3 -\f3submitted\fP -.TP -4 -The jobs start time; -this value is the number of non\-leap seconds since the Epoch (00:00:00 -UTC, January 1, 1970) -.TP -5 -\f3uid.gid\fP -.TP -6 -(Reserved) -.TP -7 -\f3JOB_STEP\fP (literal string) -.TP -8 -Job Record Version (1) -.TP -9 -The number of fields in the record (38) -.TP -10 -\f3jobid\fP -.TP -11 -\f3end\fP -.TP -12 -Completion Status; -the mnemonics, which may appear in uppercase or lowercase, are as follows: -.RS -.TP "10" -\f3CA\fP -Cancelled -.TP "10" -\f3CD\fP -Completed successfully -.TP -\f3F\fP -Failed -.TP -\f3NF\fP -Job terminated from node failure -.TP -\f3R\fP -Running -.TP -\f3S\fP -Suspended -.TP -\f3TO\fP -Timed out -.RE -.TP -13 -\f3exitcode\fP -.TP -14 -\f3ntasks\fP -.TP -15 -\f3ncpus\fP -.TP -16 -\f3elapsed\fP -time in seconds expressed as an integer -.TP -17 -Integer portion of the Total CPU time in seconds for all processes -.TP -18 -Fractional portion of the Total CPU time for all processes expressed in microseconds -.TP -19 -Integer portion of the Total User CPU time in seconds for all processes -.TP -20 -Fractional portion of the Total User CPU time for all processes -expressed in microseconds -.TP -21 -Integer portion of the Total System CPU time in seconds for all processes -.TP -22 -Fractional portion of the Total System CPU time for all processes -expressed in microseconds -.TP -23 -\f3rss\fP -.TP -24 -\f3ixrss\fP -.TP -25 -\f3idrss\fP -.TP -26 -\f3isrss\fP -.TP -27 -\f3minflt\fP -.TP -28 -\f3majflt\fP -.TP -29 -\f3nswap\fP -.TP -30 -\f3inblocks\fP -.TP -31 -\f3outblocks\fP -.TP -32 -\f3msgsnd\fP -.TP -33 -\f3msgrcv\fP -.TP -34 -\f3nsignals\fP -.TP -35 -\f3nvcsw\fP -.TP -36 -\f3nivcsw\fP -.TP -37 -\f3vsize\fP -.TP -.RE -.SS "Output for the JOB_TERMINATED Record Type" -The following describes the horizontal fields output by the -.BR "sacct " -\f3\-\-dump\fP -option for the -\f3JOB_TERMINATED\fP (literal string) -record type. -.RS -.TP "10" -Field # -Field -.TP -1 -\f3job\fP -.TP -2 -\f3partition\fP -.TP -3 -\f3submitted\fP -.TP -4 -The jobs start time; -this value is the number of non\-leap seconds since the Epoch (00:00:00 -UTC, January 1, 1970) -.TP -5 -\f3uid.gid\fP -.TP -6 -(Reserved) -.TP -7 -\f3JOB_TERMINATED\fP (literal string) -.TP -8 -Job Record Version (1) -.TP -9 -The number of fields in the record (38) -.IP -Although thirty\-eight fields are displayed by the -.BR "sacct " -command for the -\f3JOB_TERMINATED\fP -record, only fields 1 through 12 are recorded in the actual data file; -the -.BR "sacct " -command aggregates the remainder. -.TP -10 -The total elapsed time in seconds for the job. -.TP -11 -\f3end\fP -.TP -12 -Completion Status; -the mnemonics, which may appear in uppercase or lowercase, are as follows: -.RS -.TP "10" -\f3CA\fP -Cancelled -.TP -\f3CD\fP -Completed successfully -.TP -\f3F\fP -Failed -.TP -\f3NF\fP -Job terminated from node failure -.TP -\f3R\fP -Running -.TP -\f3TO\fP -Timed out -.RE -.TP -13 -\f3exitcode\fP -.TP -14 -\f3ntasks\fP -.TP -15 -\f3ncpus\fP -.TP -16 -\f3elapsed\fP -time in seconds expressed as an integer -.TP -17 -Integer portion of the Total CPU time in seconds for all processes -.TP -18 -Fractional portion of the Total CPU time for all processes expressed in microseconds -.TP -19 -Integer portion of the Total User CPU time in seconds for all processes -.TP -20 -Fractional portion of the Total User CPU time for all processes -expressed in microseconds -.TP -21 -Integer portion of the Total System CPU time in seconds for all processes -.TP -22 -Fractional portion of the Total System CPU time for all processes -expressed in microseconds -.TP -23 -\f3rss\fP -.TP -24 -\f3ixrss\fP -.TP -25 -\f3idrss\fP -.TP -26 -\f3isrss\fP -.TP -27 -\f3minflt\fP -.TP -28 -\f3majflt\fP -.TP -29 -\f3nswap\fP -.TP -30 -\f3inblocks\fP -.TP -31 -\f3outblocks\fP -.TP -32 -\f3msgsnd\fP -.TP -33 -\f3msgrcv\fP -.TP -34 -\f3nsignals\fP -.TP -35 -\f3nvcsw\fP -.TP -36 -\f3nivcsw\fP -.TP -37 -\f3vsize\fP -.TP -.RE -.SH "EXAMPLES" -This example illustrates the default invocation of the -.BR "sacct " -command: -.RS -.PP -.nf -.ft 3 -# sacct -Jobid Jobname Partition Ncpus Status Exitcode -\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\- -2 script01 srun 1 RUNNING 0 -3 script02 srun 1 RUNNING 0 -4 endscript srun 1 RUNNING 0 -4.0 srun 1 COMPLETED 0 - -.ft 1 -.fi -.RE -.PP -This example shows the same job accounting information with the -\f3brief\fP -option. -.RS -.PP -.nf -.ft 3 -# sacct \-\-brief -Jobid Status Exitcode -\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\- -2 RUNNING 0 -3 RUNNING 0 -4 RUNNING 0 -4.0 COMPLETED 0 -.ft 1 -.fi -.RE -.PP -.RS -.PP -.nf -.ft 3 -# sacct \-\-total -Jobid Jobname Partition Ncpus Status Exitcode -\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\- -3 sja_init andy 1 COMPLETED 0 -4 sjaload andy 2 COMPLETED 0 -5 sja_scr1 andy 1 COMPLETED 0 -6 sja_scr2 andy 18 COMPLETED 2 -7 sja_scr3 andy 18 COMPLETED 0 -8 sja_scr5 andy 2 COMPLETED 0 -9 sja_scr7 andy 90 COMPLETED 1 -10 endscript andy 186 COMPLETED 0 - -.ft 1 -.fi -.RE -.PP -This example demonstrates the ability to customize the output of the -.BR "sacct " -command. -The fields are displayed in the order designated on the command line. -.RS -.PP -.nf -.ft 3 -# sacct \-\-fields=jobid,ncpus,ntasks,nsignals,status -Jobid Ncpus Ntasks Nsignals Status -\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\- \-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- -3 2 1 0 COMPLETED -3.0 2 1 0 COMPLETED -4 2 2 0 COMPLETED -4.0 2 2 0 COMPLETED -5 2 1 0 COMPLETED -5.0 2 1 0 COMPLETED - -.ft 1 -.fi -.RE -.SH "COPYING" - -Copyright (C) 2005 Copyright Hewlett\-Packard Development Company L.P. -.LP -This file is part of SLURM, a resource management program. -For details, see . -.LP -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. -.LP -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. -.SH "FILES" -.TP "10" -\f3/etc/slurm.conf\fP -Entries to this file enable job accounting and -designate the job accounting log file that collects system job accounting. -.TP -\f3/var/log/slurm_accounting.log\fP -The default job accounting log file. -By default, this file is set to read and write permission for root only. -.SH "SEE ALSO" -ps(1), srun(1), squeue(1), getrusage(2), time(2) diff --git a/executable_names/doc/man/man1/salloc.1 b/executable_names/doc/man/man1/salloc.1 deleted file mode 100644 index 838d099592..0000000000 --- a/executable_names/doc/man/man1/salloc.1 +++ /dev/null @@ -1,445 +0,0 @@ -.TH "salloc" "1" "SLURM 1.2" "September 2006" "SLURM Commands" -.SH "NAME" -.LP -salloc \- Obtain a SLURM job allocation (a set of nodes), execute a command, and then release the allocation when the command is finished. -.SH "SYNOPSIS" -.LP -salloc [\fIoptions\fP] <\fIcommand\fP> [\fIcommand args\fR] -.SH "DESCRIPTION" -.LP -salloc is used to allocate a SLURM job allocation, which is a set of resources (nodes), possibly with some set of constraints (e.g. number of processors per node). When salloc successfully obtains the requested allocation, it then runs the command specified by the user. Finally, when the user specified command is complete, salloc relinquishes the job allocation. - -The command may be any program the user wishes. Some typical commands are xterm, a shell script containing slaunch commands, and slaunch (see the EXAMPLES section). -.SH "OPTIONS" -.LP - -.TP -\fB\-N\fR, \fB\-\-nodes\fR[=]<\fInumber|[min]\-[max]\fR> -Specify the number of nodes to be used by this job step. This option accepts -either a single number, or a range of possible node counts. If a single -number is used, such as "\-N 4", then the allocation is asking for four and -ONLY four nodes. If a range is specified, such as "\-N 2\-6", the SLURM -controller may grant salloc anywhere from 2 to 6 nodes. When using a range, -either of the min or max options may be omitted. For instance, "\-N 10\-" -means "no fewer than 10 nodes", and "\-N \-20" means "no more than 20 nodes". -The default value of this option is one node, but other options implicitly -increase the default node count. - -.TP -\fB\-n\fR, \fB\-\-tasks\fR[=]<\fInumber\fR> -salloc does not launch tasks, it requests an allocation of resources and submits -a batch script. However this \-\-tasks option advizes the SLURM controller -that job steps run within this allocation will launch a maximum of \fInumber\fR -tasks. This option, possibly with collaboration with the \-\-cpus\-per\-task -option, will directly impact the number of processors granted to the job -allocation. - -.TP -\fB\-d\fR, \fB\-\-dependency\fR[=]<\fIjobid\fR> -Defer the start of this job until the specified \fIjobid\fR has completed. -Many jobs can share the same dependency and these jobs may even belong to -different users. The value may be changed after job submission using the -scontrol command. - -.TP -\fB\-s\fR, \fB\-\-share\fR -The job allocation can share nodes with other running jobs. (The default -shared/exclusive behaviour depends on system configuration.) -This may result the allocation being granted sooner than if the \-\-shared -option was not set and allow higher system utilization, but application -performance will likely suffer due to competition for resources within a node. - -.TP -\fB\-\-exclusive\fR -The job allocation cannot share nodes with other running jobs. This is -the oposite of \-\-shared, whichever option is seen last on the command line -will win. (The default shared/exclusive behaviour depends on system -configuration.) - -.TP -\fB\-t\fR, \fB\-\-time\fR[=]<\fIminutes\fR> -Set a limit, in minites, on the total run time of the job allocation. -If the requested time limit exceeds the partition's time limit, the -job will be left in a PENDING state (possibly indefinitely). The default -time limit is the partition's time limit. When the time limit is reached, -the each task in each job step is sent SIGTERM followed by SIGKILL. The -interval between signals is specified by the SLURM configuration parameter -\fBKillWait\fR. A time limit of zero represents unlimited time. - -.TP -\fB\-I\fR,\fB\-\-immediate\fR -Grab the requested resources immediately, or abort if the resources are not -currently available. The \fIcommand\fR parameter will not be run if the resources -are not available. - -.TP -\fB\-J\fR, \fB\-\-job\-name\fR[=]<\fIjobname\fR> -Specify a name for the job allocation. The specified name will appear along with -the job id number when querying running jobs on the system. The default job -name is the name of the "command" specified on the command line. - -.TP -\fB\-W\fR, \fB\-\-wait\fR[=]<\fIseconds\fR> -If the resources needed to satisy a job allocation are not immediately -available, the job allocation is enqueued and is said to be PENDING. This -option tells salloc how long (in seconds) to wait for the allocation to be -granted before giving up. When the wait limit has been reached, salloc -will exit without running the \fIcommand\fR parameter. By default, salloc -will wait indefinitely. (The \-\-immediate option makes \-\-wait moot.) - -.TP -\fB\-p\fR, \fB\-\-partition\fR[=]<\fIpartition name\fR> -Request a specific partition for the resource allocation. If not specified, -the default behaviour is to allow the slurm controller to select the default -partition as designated by the system administrator. - -.TP -\fB\-\-contiguous\fR -Demand a contiguous range of nodes. The default is "yes". Specify -\-\-contiguous=no if a contiguous range of nodes is not required. - -.TP -\fB\-\-mail\-type\fR=\fItype\fR -Notify user by email when certain event types occur. -Valid \fItype\fR values are BEGIN, END, FAIL, ALL (any state change). -The user to be notified is indicated with \fB\-\-mail\-user\fR. - -.TP -\fB\-\-mail\-user\fR=\fIuser\fR -User to receive email notification of state changes as defined by -\fB\-\-mail\-type\fR. -The default value is the username of the submitting user. - -.TP -\fB\-\-uid\fR[=]<\fIuser\fR> -Attempt to submit and/or run a job as \fIuser\fR instead of the -invoking user id. The invoking user's credentials will be used -to check access permissions for the target partition. User root -may use this option to run jobs as a normal user in a RootOnly -partition for example. If run as root, \fBsalloc\fR will drop -its permissions to the uid specified after node allocation is -successful. \fIuser\fR may be the user name or numerical user ID. - -.TP -\fB\-\-gid\fR[=]<\fIgroup\fR> -If \fBsalloc\fR is run as root, and the \fB\-\-gid\fR option is used, -submit the job with \fIgroup\fR's group access permissions. \fIgroup\fR -may be the group name or the numerical group ID. - -.TP -\fB\-c\fR, \fB\-\-cpus\-per\-task\fR[=]<\fIncpus\fR> -Advise the SLURM controller that ensuing job steps will require \fIncpus\fR -number of processors per task. Without this option, the controller will -just try to allocate one processor per task. - -For instance, -consider an application that has 4 tasks, each requiring 3 processors. If our -cluster is comprised of quad\-processors nodes and we simply ask for -12 processors, the controller might give us only 3 nodes. However, by using -the \-\-cpus\-per\-task=3 options, the controller knows that each task requires -3 processors on the same node, and the controller will grant an allocation -of 4 nodes, one for each of the 4 tasks. - -.TP -\fB\-K\fR, \fB\-\-kill\-command\fR[=\fIsignal\fR] -salloc always runs a user\-specified command once the allocation is -granted. salloc will wait indefinitely for that command to exit. -If you specify the \-\-kill\-command option salloc will send a signal to -your command any time that the SLURM controller tells salloc that its job -allocation has been revoked. The job allocation can be revoked for a -couple of reasons: someone used \fBscancel\fR to revoke the allocation, -or the allocation reached its time limit. If you do not specify a signal -name or number, the default signal is SIGTERM. - -.TP -\fB\-\-bell\fR -Force salloc to ring the terminal bell when the job allocation is granted. -By default, salloc only rings the bell if the allocation is pending for more -than ten seconds. - -.TP -\fB\-\-no\-bell\fR -Silence salloc's use of the terminal bell. - -.TP -\fB\-\-mincpus\fR[=]<\fIn\fR> -Specify minimum number of cpus per node. - -.TP -\fB\-\-mem\fR[=]<\fIMB\fR> -Specify a minimum amount of real memory. - -.TP -\fB\-\-tmp\fR[=]<\fIMB\fR> -Specify a minimum amount of temporary disk space. - -.TP -\fB\-C\fR, \fB\-\-constraint\fR[=]<\fIlist\fR> -Specify a list of constraints. -The constraints are features that have been assigned to the nodes by -the slurm administrator. -The \fIlist\fR of constraints may include multiple features separated -by ampersand (AND) and/or vertical bar (OR) operators. -For example: \fB\-\-constraint="opteron&video"\fR or -\fB\-\-constraint="fast|faster"\fR. -If no nodes have the requested features, then the job will be rejected -by the slurm job manager. - -.TP -\fB\-w\fR, \fB\-\-nodelist\fR[=]<\fInode name list\fR> -Request a specific list of node names. The list may be specified as a -comma\-separated list of node names, or a range of node names -(e.g. mynode[1\-5,7,...]). Duplicate node names in the list will be ignored. -The order of the node names in the list is not important; the node names -will be sorted my SLURM. - -.TP -\fB\-F\fR, \fB\-\-nodefile\fR[=]<\fInode file\fR> -Much like \-\-nodelist, but the list is contained in a file of name -\fInode file\fR. The node names of the list may also span multiple lines -in the file. Duplicate node names in the file will be ignored. -The order of the node names in the list is not important; the node names -will be sorted my SLURM. - -.TP -\fB\-x\fR, \fB\-\-exclude\fR[=]<\fInode name list\fR> -Explicitly exclude certain nodes from the resources granted to the job. - -.TP -\fB\-D\fR, \fB\-\-workdir\fR[=]<\fIdirectory\fR> -Set the working directory of the batch script to \fIdirectory\fR before -it it executed. - -.TP -\fB\-k\fR, \fB\-\-no\-kill\fR -Do not automatically terminate a job of one of the nodes it has been -allocated fails. The user will assume the responsibilities for fault\-tolerance -should a node fail. When there is a node failure, any active job steps (usually -MPI jobs) on that node will almost certainly suffer a fatal error, but with -\-\-no\-kill, the job allocation will not be revoked so the user may launch -new job steps on the remaining nodes in their allocation. - -By default SLURM terminates the entire job allocation if any node fails in its -range of allocated nodes. - -.TP -\fB\-U\fR, \fB\-\-account\fR[=]<\fIaccount\fR> -Change resource use by this job to specified account. -The \fIaccount\fR is an arbitrary string. The account name may -be changed after job submission using the \fBscontrol\fR -command. - -.TP -\fB\-\-begin\fR[=]<\fItime\fR> -Submit the batch script to the SLURM controller immediately, like normal, but -tell the controller to defer the allocation of the job until the specified time. - -Time may be of the form \fIHH:MM:SS\fR to run a job at -a specific time of day (seconds are optional). -(If that time is already past, the next day is assumed.) -You may also specify \fImidnight\fR, \fInoon\fR, or -\fIteatime\fR (4pm) and you can have a time\-of\-day suffixed -with \fIAM\fR or \fIPM\fR for running in the morning or the evening. -You can also say what day the job will be run, by giving -a date in the form \fImonth\-name\fR day with an optional year, -or giving a date of the form \fIMMDDYY\fR or \fIMM/DD/YY\fR -or \fIDD.MM.YY\fR. You can also -give times like \fInow + count time\-units\fR, where the time\-units -can be \fIminutes\fR, \fIhours\fR, \fIdays\fR, or \fIweeks\fR -and you can tell SLURM to run the job today with the keyword -\fItoday\fR and to run the job tomorrow with the keyword -\fItomorrow\fR. -The value may be changed after job submission using the -\fBscontrol\fR command. - -.TP -\fB\-\-comment\fR -An arbitrary comment. - -.TP -\fB\-\-nice\fR[=]<\fIadjustment\fR> -Run the job with an adjusted scheduling priority. With no adjustment -value the scheduling priority is decreased by 100. The adjustment range -is from \-10000 (highest priority) to 10000 (lowest priority). Only -privileged users can specify a negative adjustment. NOTE: This option -is presently ignored if SchedulerType=sched/maui. - -.TP -\fB\-\-jobid\fR -Allocate resources as the specified job id. -NOTE: Only valid for user root. - -.TP -\fB\-q\fR, \fB\-\-quiet\fR -Suppress informational messages from salloc. Errors will still be displayed. - -.TP -\fB\-v\fR, \fB\-\-verbose\fR -Increase the verbosity of salloc's informational messages. Multiple \-v's -will further increase salloc's verbosity. - -.TP -\fB\-h\fR, \fB\-\-help\fR -Display help information and exit. - -.TP -\fB\-u\fR, \fB\-\-usage\fR -Display brief usage message and exit. - -.TP -\fB\-V\fR, \fB\-\-version\fR -Display version information and exit. - -.PP -The following options support Blue Gene systems, but may be -applicable to other systems as well. -.TP -\fB\-g\fR, \fB\-\-geometry\fR[=]<\fIXxYxZ\fR> -Specify the geometry requirements for the job. The three numbers -represent the required geometry giving dimensions in the X, Y and -Z directions. For example "\-\-geometry=2x3x4", specifies a block -of nodes having 2 x 3 x 4 = 24 nodes (actually base partions on -Blue Gene). - -.TP -\fB\-\-conn\-type\fR[=]<\fItype\fR> -Require the partition connection type to be of a certain type. -On Blue Gene the acceptable of \fItype\fR are MESH, TORUS and NAV. -If NAV, or if not set, then SLURM will try to fit a TORUS else MESH. -You should not normally set this option. -SLURM will normally allocate a TORUS if possible for a given geometry. - -.TP -\fB\-R\fR, \fB\-\-no\-rotate\fR -Disables rotation of the job's requested geometry in order to fit an -appropriate partition. -By default the specified geometry can rotate in three dimensions. - -Output version information and exit. - -.SH "INPUT ENVIRONMENT VARIABLES" -.PP -Upon startup, salloc will read and handle the options set in the following -environment variables. Note: Command line options always override environment -variables settings. - -.TP 22 -\fBSALLOC_ACCOUNT\fR -Same as \fB\-\-account\fR. -.TP -\fBSALLOC_BELL\fR -Same as \fB\-\-bell\fR. -.TP -\fBSALLOC_NO_BELL\fR -Same as \fB\-\-no\-bell\fR. -.TP -\fBSALLOC_CONN_TYPE\fR -Same as \fB\-\-conn\-type\fR. -.TP -\fBSALLOC_DEBUG\fR -Same as \fB\-v\fR or \fB\-\-verbose\fR. -.TP -\fBSALLOC_GEOMETRY\fR -Same as \fB\-g\fR or \fB\-\-geometry\fR. -.TP -\fBSALLOC_IMMEDIATE\fR -Same as \fB\-I\fR or \fB\-\-immediate\fR. -.TP -\fBSALLOC_JOBID\fR -Same as \fB\-\-jobid\fR. -.TP -\fBSALLOC_NO_ROTATE\fR -Same as \fB\-R\fR or \fB\-\-no\-rotate\fR. -.TP -\fBSALLOC_PARTITION\fR -Same as \fB\-p\fR or \fB\-\-partition\fR. -.TP -\fBSALLOC_TIMELIMIT\fR -Same as \fB\-t\fR or \fB\-\-time\fR. -.TP -\fBSALLOC_WAIT\fR -Same as \fB\-W\fR or \fB\-\-wait\fR. - -.SH "OUTPUT ENVIRONMENT VARIABLES" -.PP -salloc will set the following environment variables in the environment of -the executed program: - -.TP -\fBSLURM_JOB_ID\fR (and \fBSLURM_JOBID\fR for backwards compatibility) -The ID of the job allocation. -.TP -\fBSLURM_JOB_CPUS_PER_NODE\fR -Count of processors available to the job on this node. -Note the select/linear plugin allocates entire nodes to -jobs, so the value indicates the total count of CPUs on each node. -The select/cons_res plugin allocates individual processors -to jobs, so this number indicates the number of processors -on each node allocated to the job allocation. -.TP -\fBSLURM_JOB_NODELIST\fR (and \fBSLURM_NODELIST\fR for backwards compatibility) -List of nodes allocated to the job. -.TP -\fBSLURM_JOB_NUM_NODES\fR (and \fBSLURM_NNODES\fR for backwards compatibility) -Total number of nodes in the job allocation. -.TP -\fBSLURM_TASKS_PER_NODE\fR -Number of tasks to be initiated on each node. Values are -comma separated and in the same order as SLURM_NODELIST. -If two or more consecutive nodes are to have the same task -count, that count is followed by "(x#)" where "#" is the -repetition count. For example, "SLURM_TASKS_PER_NODE=2(x3),1" -indicates that the first three nodes will each execute three -tasks and the fourth node will execute one task. -.TP -\fBMPIRUN_PARTITION\fR -The block name on Blue Gene systems only. -.TP -\fBMPIRUN_NOALLOCATE\fR -Do not allocate a block on Blue Gene systems only. -.TP -\fBMPIRUN_NOFREE\fR -Do not free a block on Blue Gene systems only. - -.SH "SIGNALS" -.LP -While salloc is waiting for a PENDING job allocation, most signals will cause salloc to revoke the allocation request and exit. - -However, if the allocation has been granted and salloc has already started the command speficied in its command line parameters salloc will ignore most signals. salloc will not exit or release the allocation until the command exits. The noteable exception is SIGHUP; a HUP signal will cause salloc to release the allocation and exit without waiting for the command to finish. -.SH "EXAMPLES" -.LP -To get an allocation, and open a new xterm in which slaunch commands may be typed interactively: -.IP -$ salloc \-N16 xterm -.br -salloc: Granted job allocation 65537 -.br -(at this point the xterm appears, and salloc waits for xterm to exit) -.br -salloc: Relinquishing job allocation 65537 -.LP -To grab an allocation of nodes and launch a parallel application on one command line (See the \fBsalloc\fR man page for more examples): -.IP -salloc \-N5 slaunch \-n10 myprogram - -.SH "COPYING" -Copyright (C) 2006 The Regents of the University of California. -Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). -UCRL\-CODE\-217948. -.LP -This file is part of SLURM, a resource management program. -For details, see . -.LP -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. -.LP -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -.SH "SEE ALSO" -.LP -sinfo(1), slaunch(1), sattach(1), sbatch(1), squeue(1), scancel(1), scontrol(1), slurm.conf(5), sched_setaffinity(2), numa(3) diff --git a/executable_names/doc/man/man1/sattach.1 b/executable_names/doc/man/man1/sattach.1 deleted file mode 100644 index b3a495aecb..0000000000 --- a/executable_names/doc/man/man1/sattach.1 +++ /dev/null @@ -1,89 +0,0 @@ -.TH "sattach" "1" "SLURM 1.2" "September 2006" "SLURM Commands" -.SH "NAME" -.LP -sattach \- Attach to a SLURM job step. -.SH "SYNOPSIS" -.LP -sattach [\fIoptions\fP] -.SH "DESCRIPTION" -.LP -sattach attaches to a running SLURM job step. By attaching, it makes available -the IO streams of all of the tasks of a running SLURM job step. It also -suitable for use with a parallel debugger like TotalView. - -.SH "OPTIONS" -.LP - -.TP -\fB\-\-input\-filter\fR[=]<\fItask number\fR> -.PD 0 -.TP -\fB\-\-output\-filter\fR[=]<\fItask number\fR> -.PD 0 -.TP -\fB\-\-error\-filter\fR[=]<\fItask number\fR> -.PD -Only transmit standard input to a single task, or print the standard output -or standard error from a single task. The filtering is performed locally in -sattach. - -.TP -\fB\-l\fR, \fB\-\-label\fR -Prepend each line of task standard output or standard error with the task -number of its origin. - -.TP -\fB\-\-layout\fR -Contacts the slurmctld to obtain the task layout information for the job step, -prints the task layout information, and then exits without attaching to the -job step. - -.TP -\fB\-q\fR, \fB\-\-quiet\fR -Suppress informational messages from sattach. Errors will still be displayed. - -.TP -\fB\-v\fR, \fB\-\-verbose\fR -Increase the verbosity of sattach's informational messages. Multiple \-v's -will further increase slaunch's verbosity. - -.TP -\fB\-h\fR, \fB\-\-help\fR -Display help information and exit. - -.TP -\fB\-u\fR, \fB\-\-usage\fR -Display brief usage message and exit. - -.TP -\fB\-V\fR, \fB\-\-version\fR -Display SLURM version number and exit. - - -.SH "EXAMPLES" -.LP -sattach 15.0 - -sattach \-\-output\-filter 5 65386.15 - -.SH "COPYING" -Copyright (C) 2006 The Regents of the University of California. -Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). -UCRL\-CODE\-217948. -.LP -This file is part of SLURM, a resource management program. -For details, see . -.LP -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. -.LP -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -.SH "SEE ALSO" -.LP -sinfo(1), slaunch(1), salloc(1), sbatch(1), squeue(1), scancel(1), scontrol(1), slurm.conf(5), sched_setaffinity(2), numa(3) diff --git a/executable_names/doc/man/man1/sbatch.1 b/executable_names/doc/man/man1/sbatch.1 deleted file mode 100644 index 00f7f6af7e..0000000000 --- a/executable_names/doc/man/man1/sbatch.1 +++ /dev/null @@ -1,488 +0,0 @@ -.TH "sbatch" "1" "SLURM 1.2" "September 2006" "SLURM Commands" -.SH "NAME" -.LP -sbatch \- Submit a batch script to SLURM. -.SH "SYNOPSIS" -.LP -sbatch [\fIoptions\fP] [\fIscript\fP] -.SH "DESCRIPTION" -.LP -sbatch submits a batch script to SLURM. The batch script may be given to -sbatch through a file name on the command line, or if no file name is specified, -sbatch will read in a script from standard input. - -sbatch exits immediately after the script is successfully transferred to the -SLURM controller and assigned a SLURM job ID. The batch script is not -necessarily granted resources immediately, it may sit in the queue of pending -jobs for some time before its required resources become available. - -When the job allocation is finally granted for the batch script, SLURM -runs a single copy of the batch script on the first node in the set of -allocated nodes. -.SH "OPTIONS" -.LP - -.TP -\fB\-N\fR, \fB\-\-nodes\fR[=]<\fInumber|[min]\-[max]\fR> -Specify the number of nodes to be used by this job step. This option accepts -either a single number, or a range of possible node counts. If a single number -is used, such as "\-N 4", then the allocation is asking for four and ONLY four -nodes. If a range is specified, such as "\-N 2\-6", SLURM controller may -grant the batch job anywhere from 2 to 6 nodes. When using a range, either of -the min or max options may be omitted. For instance, "\-N 10\-" means -"no fewer than 10 nodes", and "\-N \-20" means "no more than 20 nodes". The -default value of this option is one node, but other command line options -may implicitly set the default node count to a higher value. - -.TP -\fB\-n\fR, \fB\-\-tasks\fR[=]<\fInumber\fR> -sbatch does not launch tasks, it requests an allocation of resources and submits -a batch script. However this \-\-tasks option advizes the SLURM controller -that job steps run within this allocation will launch a maximum of \fInumber\fR -tasks. This option, possibly with collaboration with the \-\-cpus\-per\-task -option, will directly impact the number of processors granted to the job -allocation. - -.TP -\fB\-d\fR, \fB\-\-dependency\fR[=]<\fIjobid\fR> -Defer the start of this job until the specified \fIjobid\fR has completed. -Many jobs can share the same dependency and these jobs may even belong to -different users. The value may be changed after job submission using the -scontrol command. - -.TP -\fB\-s\fR, \fB\-\-share\fR -The job allocation can share nodes with other running jobs. (The default -shared/exclusive behaviour depends on system configuration.) -This may result the allocation being granted sooner than if the \-\-shared -option was not set and allow higher system utilization, but application -performance will likely suffer due to competition for resources within a node. - -.TP -\fB\-\-exclusive\fR -The job allocation cannot share nodes with other running jobs. This is -the oposite of \-\-shared, whichever option is seen last on the command line -will win. (The default shared/exclusive behaviour depends on system -configuration.) - -.TP -\fB\-t\fR, \fB\-\-time\fR[=]<\fIminutes\fR> -Set a limit, in minites, on the total run time of the job allocation. -If the requested time limit exceeds the partition's time limit, the -job will be left in a PENDING state (possibly indefinitely). The default -time limit is the partition's time limit. When the time limit is reached, -the each task in each job step is sent SIGTERM followed by SIGKILL. The -interval between signals is specified by the SLURM configuration parameter -\fBKillWait\fR. A time limit of zero represents unlimited time. - -.TP -\fB\-I\fR,\fB\-\-immediate\fR -The batch script will only be submitted to the controller if the resources -necessary to grant its job allocation are immediately available. If the -job allocation will have to wait in a queue of pending jobs, the batch script -will not be submitted. - -.TP -\fB\-p\fR, \fB\-\-partition\fR[=]<\fIpartition name\fR> -Request a specific partition for the resource allocation. If not specified, the -default behaviour is to allow the slurm controller to select the default -partition as designated by the system administrator. - -.TP -\fB\-\-contiguous\fR -Demand a contiguous range of nodes. The default is "yes". Specify -\-\-contiguous=no if a contiguous range of nodes is not required. - -.TP -\fB\-\-mail\-type\fR=\fItype\fR -Notify user by email when certain event types occur. -Valid \fItype\fR values are BEGIN, END, FAIL, ALL (any state change). -The user to be notified is indicated with \fB\-\-mail\-user\fR. - -.TP -\fB\-\-mail\-user\fR=\fIuser\fR -User to receive email notification of state changes as defined by -\fB\-\-mail\-type\fR. -The default value is the username of the submitting user. - -.TP -\fB\-\-uid\fR[=]<\fIuser\fR> -Attempt to submit and/or run a job as \fIuser\fR instead of the -invoking user id. The invoking user's credentials will be used -to check access permissions for the target partition. User root -may use this option to run jobs as a normal user in a RootOnly -partition for example. If run as root, \fBsbatch\fR will drop -its permissions to the uid specified after node allocation is -successful. \fIuser\fR may be the user name or numerical user ID. - -.TP -\fB\-\-gid\fR[=]<\fIgroup\fR> -If \fBsbatch\fR is run as root, and the \fB\-\-gid\fR option is used, -submit the job with \fIgroup\fR's group access permissions. \fIgroup\fR -may be the group name or the numerical group ID. - -.TP -\fB\-J\fR, \fB\-\-job\-name\fR[=]<\fIjobname\fR> -Specify a name for the job allocation. The specified name will appear along with -the job id number when querying running jobs on the system. The default -is the name of the batch script, or just "sbatch" if the script is -read on sbatch's standard input. - -.TP -\fB\-c\fR, \fB\-\-cpus\-per\-task\fR[=]<\fIncpus\fR> -Advise the SLURM controller that ensuing job steps will require \fIncpus\fR -number of processors per task. Without this option, the controller will -just try to allocate one processor per task. - -For instance, -consider an application that has 4 tasks, each requiring 3 processors. If our -cluster is comprised of quad\-processors nodes and we simply ask for -12 processors, the controller might give us only 3 nodes. However, by using -the \-\-cpus\-per\-task=3 options, the controller knows that each task requires -3 processors on the same node, and the controller will grant an allocation -of 4 nodes, one for each of the 4 tasks. - -.TP -\fB\-\-mincpus\fR[=]<\fIn\fR> -Specify minimum number of cpus per node. - -.TP -\fB\-\-mem\fR[=]<\fIMB\fR> -Specify a minimum amount of real memory. - -.TP -\fB\-\-tmp\fR[=]<\fIMB\fR> -Specify a minimum amount of temporary disk space. - -.TP -\fB\-C\fR, \fB\-\-constraint\fR[=]<\fIlist\fR> -Specify a list of constraints. -The constraints are features that have been assigned to the nodes by -the slurm administrator. -The \fIlist\fR of constraints may include multiple features separated -by ampersand (AND) and/or vertical bar (OR) operators. -For example: \fB\-\-constraint="opteron&video"\fR or -\fB\-\-constraint="fast|faster"\fR. -If no nodes have the requested features, then the job will be rejected -by the slurm job manager. - -.TP -\fB\-w\fR, \fB\-\-nodelist\fR[=]<\fInode name list\fR> -Request a specific list of node names. The list may be specified as a -comma\-separated list of node names, or a range of node names -(e.g. mynode[1\-5,7,...]). Duplicate node names in the list will be ignored. -The order of the node names in the list is not important; the node names -will be sorted my SLURM. -.TP -\fB\-F\fR, \fB\-\-nodefile\fR[=]<\fInode file\fR> -Much like \-\-nodelist, but the list is contained in a file of name -\fInode file\fR. The node names of the list may also span multiple lines -in the file. Duplicate node names in the file will be ignored. -The order of the node names in the list is not important; the node names -will be sorted my SLURM. - -.TP -\fB\-x\fR, \fB\-\-exclude\fR[=]<\fInode name list\fR> -Explicitly exclude certain nodes from the resources granted to the job. - -.TP -\fB\-D\fR, \fB\-\-workdir\fR[=]<\fIdirectory\fR> -Set the working directory of the batch script to \fIdirectory\fR before -it it executed. - -.TP -\fB\-k\fR, \fB\-\-no\-kill\fR -Do not automatically terminate a job of one of the nodes it has been -allocated fails. The user will assume the responsibilities for fault\-tolerance -should a node fail. When there is a node failure, any active job steps (usually -MPI jobs) on that node will almost certainly suffer a fatal error, but with -\-\-no\-kill, the job allocation will not be revoked so the user may launch -new job steps on the remaining nodes in their allocation. - -By default SLURM terminates the entire job allocation if any node fails in its -range of allocated nodes. - -.TP -\fB\-I\fR, \fB\-\-input\fR[=]<\fIfilename pattern\fR> -.PD 0 -.TP -\fB\-O\fR, \fB\-\-output\fR[=]<\fIfilename pattern\fR> -.PD 0 -.TP -\fB\-E\fR, \fB\-\-error\fR[=]<\fIfilename pattern\fR> -.PD -Instruct SLURM to connect the batch script's standard input, standard output, -or standard error directly to the file name specified -in the "\fIfilename pattern\fR". - -By default, "/dev/null" is open on the batch script's standard input and both -standard output and standard error are directed to a file of the name -"slurm\-%j.out", where the "%j" is replaced with the job allocation number, as -described below. - -The filename pattern may contain one or more replacement symbols, which are -a percent sign "%" followed by a letter (e.g. %t). - -Supported replacement symbols are: -.PD 0 -.RS 10 -.TP -\fB%j\fR -Job allocation number. -.PD 0 -.TP -\fB%N\fR -Node name. (Will result in a separate file per node.) -.RS \-10 - -.TP -\fB\-U\fR, \fB\-\-account\fR[=]<\fIaccount\fR> -Change resource use by this job to specified account. -The \fIaccount\fR is an arbitrary string. The account name may -be changed after job submission using the \fBscontrol\fR -command. - -.TP -\fB\-\-begin\fR[=]<\fItime\fR> -Submit the batch script to the SLURM controller immediately, like normal, but -tell the controller to defer the allocation of the job until the specified time. - -Time may be of the form \fIHH:MM:SS\fR to run a job at -a specific time of day (seconds are optional). -(If that time is already past, the next day is assumed.) -You may also specify \fImidnight\fR, \fInoon\fR, or -\fIteatime\fR (4pm) and you can have a time\-of\-day suffixed -with \fIAM\fR or \fIPM\fR for running in the morning or the evening. -You can also say what day the job will be run, by giving -a date in the form \fImonth\-name\fR day with an optional year, -or giving a date of the form \fIMMDDYY\fR or \fIMM/DD/YY\fR -or \fIDD.MM.YY\fR. You can also -give times like \fInow + count time\-units\fR, where the time\-units -can be \fIminutes\fR, \fIhours\fR, \fIdays\fR, or \fIweeks\fR -and you can tell SLURM to run the job today with the keyword -\fItoday\fR and to run the job tomorrow with the keyword -\fItomorrow\fR. -The value may be changed after job submission using the -\fBscontrol\fR command. - -.TP -\fB\-\-comment\fR -An arbitrary comment. - -.TP -\fB\-\-nice\fR[=]<\fIadjustment\fR> -Run the job with an adjusted scheduling priority. With no adjustment -value the scheduling priority is decreased by 100. The adjustment range -is from \-10000 (highest priority) to 10000 (lowest priority). Only -privileged users can specify a negative adjustment. NOTE: This option -is presently ignored if SchedulerType=sched/maui. - -.TP -\fB\-\-no\-requeue\fR -Specifies that the batch job should not be requeued. -Setting this option will prevent system administrators from being able -to restart the job (for example, after a scheduled downtime). -When a job is requeued, the batch script is initiated from its beginning. - -.TP -\fB\-\-jobid\fR -Allocate resources as the specified job id. -NOTE: Only valid for user root. - -.TP -\fB\-q\fR, \fB\-\-quiet\fR -Suppress informational messages from sbatch. Errors will still be displayed. - -.TP -\fB\-v\fR, \fB\-\-verbose\fR -Increase the verbosity of sbatch's informational messages. Multiple \-v's -will further increase sbatch's verbosity. - -.TP -\fB\-h\fR, \fB\-\-help\fR -Display help information and exit. - -.TP -\fB\-u\fR, \fB\-\-usage\fR -Display brief usage message and exit. - -.TP -\fB\-V\fR, \fB\-\-version\fR -Display version information and exit. - -.PP -The following options support Blue Gene systems, but may be -applicable to other systems as well. -.TP -\fB\-g\fR, \fB\-\-geometry\fR[=]<\fIXxYxZ\fR> -Specify the geometry requirements for the job. The three numbers -represent the required geometry giving dimensions in the X, Y and -Z directions. For example "\-\-geometry=2x3x4", specifies a block -of nodes having 2 x 3 x 4 = 24 nodes (actually base partions on -Blue Gene). - -.TP -\fB\-\-conn\-type\fR[=]<\fItype\fR> -Require the partition connection type to be of a certain type. -On Blue Gene the acceptable of \fItype\fR are MESH, TORUS and NAV. -If NAV, or if not set, then SLURM will try to fit a TORUS else MESH. -You should not normally set this option. -SLURM will normally allocate a TORUS if possible for a given geometry. - -.TP -\fB\-R\fR, \fB\-\-no\-rotate\fR -Disables rotation of the job's requested geometry in order to fit an -appropriate partition. -By default the specified geometry can rotate in three dimensions. - - -.SH "INPUT ENVIRONMENT VARIABLES" -.PP -Upon startup, sbatch will read and handle the options set in the following -environment variables. Note that environment variables will override any -options set in a batch script, and command line options will override any -environment variables. - -.TP 22 -\fBSBATCH_ACCOUNT\fR -Same as \fB\-\-account\fR. -.TP -\fBSBATCH_CONN_TYPE\fR -Same as \fB\-\-conn\-type\fR. -.TP -\fBSBATCH_DEBUG\fR -Same as \fB\-v\fR or \fB\-\-verbose\fR. -.TP -\fBSBATCH_GEOMETRY\fR -Same as \fB\-g\fR or \fB\-\-geometry\fR. -.TP -\fBSBATCH_IMMEDIATE\fR -Same as \fB\-I\fR or \fB\-\-immediate\fR. -.TP -\fBSBATCH_JOBID\fR -Same as \fB\-\-jobid\fR. -.TP -\fBSBATCH_JOB_NAME\fR -Same as \fB\-J\fR or \fB\-\-job\-name\fR. -.TP -\fBSBATCH_NO_REQUEUE\fR -Same as \fB\-\-no\-requeue\fR. -.TP -\fBSBATCH_NO_ROTATE\fR -Same as \fB\-R\fR or \fB\-\-no\-rotate\fR. -.TP -\fBSBATCH_PARTITION\fR -Same as \fB\-p\fR or \fB\-\-partition\fR. -.TP -\fBSBATCH_TIMELIMIT\fR -Same as \fB\-t\fR or \fB\-\-time\fR. - -.SH "OUTPUT ENVIRONMENT VARIABLES" -.PP -The SLURM controller will set the following variables in the environment of -the batch script. - -.TP -\fBSLURM_JOB_ID\fR (and \fBSLURM_JOBID\fR for backwards compatibility) -The ID of the job allocation. -.TP -\fBSLURM_JOB_CPUS_PER_NODE\fR -Count of processors available to the job on this node. -Note the select/linear plugin allocates entire nodes to -jobs, so the value indicates the total count of CPUs on the node. -The select/cons_res plugin allocates individual processors -to jobs, so this number indicates the number of processors -on this node allocated to the job. -.TP -\fBSLURM_JOB_NODELIST\fR (and \fBSLURM_NODELIST\fR for backwards compatibility) -List of nodes allocated to the job. -.TP -\fBSLURM_JOB_NUM_NODES\fR (and \fBSLURM_NNODES\fR for backwards compatibility) -Total number of nodes in the job's resource allocation. -.TP -\fBSLURM_TASKS_PER_NODE\fR -Number of tasks to be initiated on each node. Values are -comma separated and in the same order as SLURM_NODELIST. -If two or more consecutive nodes are to have the same task -count, that count is followed by "(x#)" where "#" is the -repetition count. For example, "SLURM_TASKS_PER_NODE=2(x3),1" -indicates that the first three nodes will each execute three -tasks and the fourth node will execute one task. -.TP -\fBMPIRUN_PARTITION\fR -The block name on Blue Gene systems only. -.TP -\fBMPIRUN_NOALLOCATE\fR -Do not allocate a block on Blue Gene systems only. -.TP -\fBMPIRUN_NOFREE\fR -Do not free a block on Blue Gene systems only. - -.SH "EXAMPLES" -.LP -Specify a batch script by filename on the command line: -.IP -$ cat myscript -.br -#!/bin/sh -.br -slaunch hostname |sort -.br -$ sbatch \-N4 myscript -.br -salloc: Granted job allocation 65537 -.br -$ cat slurm\-65537.out -.br -host1 -.br -host2 -.br -host3 -.br -host4 - -.LP -Pass a batch script to sbatch on standard input: -.IP -morrone:~$ sbatch \-N4 < #!/bin/sh -.br -> slaunch hostname |sort -.br -> EOF -.br -sbatch: Submitted batch job 65541 -.br -$ cat slurm\-65541.out -.br -host1 -.br -host2 -.br -host3 -.br -host4 - -.SH "COPYING" -Copyright (C) 2006 The Regents of the University of California. -Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). -UCRL\-CODE\-217948. -.LP -This file is part of SLURM, a resource management program. -For details, see . -.LP -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. -.LP -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -.SH "SEE ALSO" -.LP -sinfo(1), slaunch(1), sattach(1), salloc(1), squeue(1), scancel(1), scontrol(1), slurm.conf(5), sched_setaffinity(2), numa(3) diff --git a/executable_names/doc/man/man1/sbcast.1 b/executable_names/doc/man/man1/sbcast.1 deleted file mode 100644 index 55926f0c9b..0000000000 --- a/executable_names/doc/man/man1/sbcast.1 +++ /dev/null @@ -1,108 +0,0 @@ -.TH SBCAST "1" "April 2006" "sbcast 1.1" "Slurm components" - -.SH "NAME" -sbcast \- transmit a file to the nodes allocated to a SLURM job. - -.SH "SYNOPSIS" -\fBsbcast\fR [\-CfpsvV] SOURCE DEST - -.SH "DESCRIPTION" -\fBsbcast\fR is used to transmit a file to all nodes allocated -to the currenly active SLURM job. -This command should only be executed from within a SLURM batch -job or within the shell spawned after a SLURM job\'s resource -allocation. -\fBSOURCE\fR is the name of a file on the current node. -\fBDEST\fR should be the fully qualified pathname for the -file copy to be created on each node. -\fBDEST\fR should be on a file system local to that node. -Note that parallel file systems may provide better performance -than \fBsbcast\fR can provide. - -.SH "OPTIONS" -.TP -\fB\-C\fR, \fB\-\-compress\fR -Compress the file being transmitted. -.TP -\fB\-f\fR, \fB\-\-force\fR -If the destination file already exists, replace it. -.TP -\fB\-F\fR \fInumber\fR, \fB\-\-fanout\fR=\fInumber\fR -Specify the fanout of messages used for file transfer. -Maximum value is currently eight. -.TP -\fB\-p\fR, \fB\-\-preserve\fR -Preserves modification times, access times, and modes from the -original file. -.TP -\fB\-s\fR \fIsize\fR, \fB\-\-size\fR=\fIsize\fR -Specify the block size used for file broadcast. -The size can have a suffix of \fIk\fR or \fIm\fR for kilobytes -or megabytes respecitively (defaults to bytes). -This size subject to rounding and range limits to maintain -good performance. This value may need to be set on systems -with very limited memory. -.TP -\fB\-v\fR, \fB\-\-verbose\fR -Provide detailed event logging through program execution. -.TP -\fB\-V\fR, \fB\-\-version\fR -Print version information and exit. - -.SH "ENVIRONMENT VARIABLES" -.PP -Some \fBsbcast\fR options may be set via environment variables. -These environment variables, along with their corresponding options, -are listed below. (Note: Command line options will always override -these settings.) -.TP 20 -\fBSBCAST_COMPRESS\fR -\fB\-C, \-\-compress\fR -.TP -\fBSBCAST_FANOUT\fR -\fB\-F\fB \fInumber\fR, fB\-\-fanout\fR=\fInumber\fR -.TP -\fBSBCAST_FORCE\fR -\fB\-f, \-\-force\fR -.TP -\fBSBCAST_PRESERVE\fR -\fB\-p, \-\-preserve\fR -.TP -\fBSBCAST_SIZE\fR -\fB\-s\fR \fIsize\fR, \fB\-\-size\fR=\fIsize\fR - -.SH "EXAMPLE" - -Using a batch script, transmit local file \fBmy.prog\fR to -\fB/tmp/my.proc\fR on the local nodes and then execute it. - -.nf -> cat my.job -#!/bin/bash -sbcast my.prog /tmp/my.prog -srun /tmp/my.prog - -> srun \-\-nodes=8 \-\-batch my.job -srun: jobid 12345 submitted -.fi - -.SH "COPYING" -Copyright (C) 2006 The Regents of the University of California. -Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). -UCRL\-CODE\-217948. -.LP -This file is part of SLURM, a resource management program. -For details, see . -.LP -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. -.LP -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -.SH "SEE ALSO" -\fBsrun\fR(1) diff --git a/executable_names/doc/man/man1/scancel.1 b/executable_names/doc/man/man1/scancel.1 deleted file mode 100644 index 046b3fc4db..0000000000 --- a/executable_names/doc/man/man1/scancel.1 +++ /dev/null @@ -1,133 +0,0 @@ -.TH SCANCEL "1" "December 2005" "scancel 1.0" "Slurm components" -.SH "NAME" -scancel \- Used to signal jobs or job steps that are under the control of Slurm. -.SH "SYNOPSIS" -\fBscancel\fR [\fIOPTIONS\fR...] [\fIjob_id\fR[.\fIstep_id\fR]] [\fIjob_id\fR[.\fIstep_id\fR]...] -.SH "DESCRIPTION" -\fBscancel\fR is used to signal or cancel jobs or job steps. An arbitrary number -of jobs or job steps may be signaled using job specification filters or a -space separated list of specific job and/or job step IDs. A job or job step -can only be signaled by the owner of that job or user root. If an attempt is -made by an unauthorized user to signal a job or job step, an error message will -be printed and the job will not be signaled. -.TP -OPTIONS -.TP -\fB\-\-help\fR -Print a help message describing all \fBscancel\fR options. -.TP -\fB\-\-usage\fR -Print a brief help message listing the \fBscancel\fR options. -.TP -\fB\-b\fR, \fB\-\-batch\fR -Signal only the batch job shell. -.TP -\fB\-i\fR, \fB\-\-interactive\fR -Interactive mode. Confirm each job_id.step_id before performing the cancel operation. -.TP -\fB\-n\fR, \fB\-\-name\fR=\fIjob_name\fR -The name of jobs to be signaled. -.TP -\fB\-p\fR, \fB\-\-partition\fR=\fIpartition_name\fR -The name of the partition from which jobs are to be signaled. -.TP -\fB\-q\fR, \fB\-\-quiet\fR -Do not report an error if the specified job is already completed. -This option is incompatible with the \fB\-\-verbose\fR option. -.TP -\fB\-s\fR, \fB\-\-signal\fR=\fIsignal_name\fR -The name or number of the signal to be send. Default value is "KILL". -.TP -\fB\-t\fR, \fB\-\-state\fR=\fIjob_state_name\fR -The state of the jobs are to be signaled. \fIjob_state_name\fR may have a value of -either "PENDING", "RUNNING" or "SUSPENDED". -.TP -\fB\-u\fR, \fB\-\-user\fR=\fIuser_name\fR -The name of the user whose jobs are to be signaled. -.TP -\fB\-v\fR, \fB\-\-verbose\fR -Print additional logging. Multiple v's increase logging detail. -This option is incompatible with the \fB\-\-quiet\fR option. -.TP -\fB\-V\fR, \fB\-\-Version\fR -Print the version number of the scontrol command. -.TP -ARGUMENTS -.TP -\fIjob_id\fP -The Slurm job ID of the job to have one or more of its steps signaled. -.TP -\fIstep_id\fP -The step ID of the job step to be signaled. If none is provided and the -\fB\-\-batch\fR option is not used, then all jobs steps associated with -the provided job_id will be signaled. -.SH "ENVIRONMENT VARIABLES" -.PP -Some \fBscancel\fR options may be set via environment variables. These -environment variables, along with their corresponding options, are listed below. -(Note: commandline options will always override these settings) -.TP 20 -\fBSCANCEL_BATCH\fR -\fB\-b, \-\-batch\fR -.TP 20 -\fBSCANCEL_INTERACTIVE\fR -\fB\-i\fR, \fB\-\-interactive\fR -.TP 20 -\fBSCANCEL_NAME\fR -\fB\-n\fR, \fB\-\-name\fR=\fIjob_name\fR -.TP 20 -\fBSCANCEL_PARTITION\fR -\fB\-p\fR, \fB\-\-partition\fR=\fIpartition_name\fR -.TP 20 -\fBSCANCEL_STATE\fR -\fB\-t\fR, \fB\-\-state\fR=\fIjob_state_name\fR -.TP 20 -\fBSCANCEL_USER\fR -\fB\-u\fR, \fB\-\-user\fR=\fIuser_name\fR -.TP 20 -\fBSCANCEL_VERBOSE\fR -\fB\-v\fR, \fB\-\-verbose\fR -.TP 20 -\fBSLURM_CONF\fR -The location of the SLURM configuration file. - -.SH "NOTES" -.LP -If multiple filters are supplied (e.g. \fB\-\-partition\fR and \fB\-\-name\fR) only the -jobs satisfying all of the filtering options will be signaled. -.LP -If a signal value of "KILL" (the default value) is to be sent to an entire job, this will -result in the job's termination and its resource allocation being released. -.LP -Cancelling a job step will not result in a job being terminated. -The job must be cancelled to release a resource allocation. -.SH "EXAMPLES" -.TP -Send SIGTERM to steps 1 and 3 of job 1234: -scancel \-\-signal=TERM 1234.1 1234.3 -.TP -Cancel job 1234 along with all of its steps: -scancel 1234 -.TP -Cancel job all pending jobs belonging to user "bob" in partition "debug": -scancel \-\-state=PENDING \-\-user=bob \-\-partition=debug -.SH "COPYING" -Copyright (C) 2002 The Regents of the University of California. -Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). -UCRL\-CODE\-217948. -.LP -This file is part of SLURM, a resource management program. -For details, see . -.LP -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. -.LP -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -.SH "SEE ALSO" -\fBslurm_kill_job\fR(3), \fBslurm_kill_job_step\fR(3) diff --git a/executable_names/doc/man/man1/scontrol.1 b/executable_names/doc/man/man1/scontrol.1 deleted file mode 100644 index 129ad7c066..0000000000 --- a/executable_names/doc/man/man1/scontrol.1 +++ /dev/null @@ -1,471 +0,0 @@ -.TH SCONTROL "1" "October 2006" "scontrol 1.2" "Slurm components" - -.SH "NAME" -scontrol \- Used view and modify Slurm configuration and state. - -.SH "SYNOPSIS" -\fBscontrol\fR [\fIOPTIONS\fR...] [\fICOMMAND\fR...] -.SH "DESCRIPTION" -\fBscontrol\fR is used to view or modify Slurm configuration including: job, -job step, node, partition, and overall system configuration. Most of the -commands can only be executed by user root. If an attempt to view or modify -configuration information is made by an unauthorized user, an error message -will be printed and the requested action will not occur. If no command is -entered on the execute line, \fBscontrol\fR will operate in an interactive -mode and prompt for input. It will continue prompting for input and executing -commands until explicitly terminated. If a command is entered on the execute -line, \fBscontrol\fR will execute that command and terminate. All commands -and options are case\-insensitive, although node names and partition names -are case\-sensitive (node names "LX" and "lx" are distinct). Commands can -be abbreviated to the extent that the specification is unique. - -.TP -\fBOPTIONS\fR -.TP -\fB\-a\fR, \fB\-\-all\fR -When the \fIshow\fR command is used, then display all partitions, their jobs -and jobs steps. This causes information to be displayed about partitions -that are configured as hidden and partitions that are unavailable to user's -group. -.TP -\fB\-h\fR, \fB\-\-help\fR -Print a help message describing the usage of scontrol. -.TP -\fB\-\-hide\fR -Do not display information about hidden partitions, their jobs and job steps. -By default, neither partitions that are configured as hidden nor those partitions -unavailable to user's group will be displayed (i.e. this is the default behavior). -.TP -\fB\-o\fR, \fB\-\-oneliner\fR -Print information one line per record. -.TP -\fB\-q\fR, \fB\-\-quiet\fR -Print no warning or informational messages, only fatal error messages. -.TP -\fB\-v\fR, \fB\-\-verbose\fR -Print detailed event logging. This includes time\-stamps on data structures, -record counts, etc. -.TP -\fB\-V\fR , \fB\-\-version\fR -Print version information and exit. -.TP -\fBCOMMANDS\fR -.TP -\fIall\fP -Show all partitiion, their jobs and jobs steps. This causes information to be -displayed about partitions that are configured as hidden and partitions that -are unavailable to user's group. -.TP -\fIabort\fP -Instruct the Slurm controller to terminate immediately and generate a core file. -.TP -\fIcheckpoint\fP \fICKPT_OP\fP \fIID\fP -Perform a checkpoint activity on the job step(s) with the specified identification. -\fICKPT_OP\fP may be -\fIdisable\fP (disable future checkpoints), -\fIenable\fP (enable future checkpoints),, -\fIable\fP (test if presently not disabled, report start time if checkpoint in progress), -\fIcreate\fP (create a checkpoint and continue the job step), -\fIvacate\fP (create a checkpoint and terminate the job step), -\fIerror\fP (report the result for the last checkpoint request, error code and message), or -\fIrestart\fP (restart execution of the previously checkpointed job steps). -\fIID\fP can be used to identify a specific job (e.g. "", -which applies to all of its existing steps) -or a specific job step (e.g. "."). -.TP -\fIcompleting\fP -Display all jobs in a COMPLETING state along with associated nodes in either a -COMPLETING or DOWN state. -.TP -\fIdelete\fP \fISPECIFICATION\fP -Delete the entry with the specified \fISPECIFICATION\fP. -The only supported \fISPECIFICATION\fP presently is of the form -\fIPartitionName=\fP. -.TP -\fIexit\fP -Terminate the execution of scontrol. -.TP -\fIhelp\fP -Display a description of scontrol options and commands. -.TP -\fIhide\fP -Do not display partitiion, job or jobs step information for partitions that are -configured as hidden or partitions that are unavailable to the user's group. -This is the default behavior. -.TP -\fIoneliner\fP -Print information one line per record. -.TP -\fIpidinfo\fP \fIPROC_ID\fP -Print the Slurm job id and scheduled termination time corresponding to the -supplied process id, \fIPROC_ID\fP, on the current node. This will only -work for processes which Slurm spawns and their descendants. -.TP -\fIping\fP -Ping the primary and secondary slurmctld daemon and report if -they are responding. -.TP -\fIquiet\fP -Print no warning or informational messages, only fatal error messages. -.TP -\fIquit\fP -Terminate the execution of scontrol. -.TP -\fIreconfigure\fP -Instruct all Slurm daemons to re\-read the configuration file. -This command does not restart the daemons. -This mechanism would be used to modify configuration parameters (Epilog, -Prolog, SlurmctldLogFile, SlurmdLogFile, etc.) register the physical -addition or removal of nodes from the cluster or recognize the change -of a node's configuration, such as the addition of memory or processors. -The Slurm controller (slurmctld) forwards the request all other daemons -(slurmd daemon on each compute node). Running jobs continue execution. -Most configuration parameters can be changed by just running this command, -however, SLURM daemons should be shutdown and restarted if any of these -parameters are to be changed: AuthType, BackupAddr, BackupController, -ControlAddr, ControlMach, PluginDir, StateSaveLocation, SlurmctldPort -or SlurmdPort. -.TP -\fIresume\fP \fIjob_id\fP -Resume a previously suspended job. -.TP -\fIrequeue\fP \fIjob_id\fP -Requeue a running or pending SLURM batch job. -.TP -\fIshow\fP \fIENTITY\fP \fIID\fP -Display the state of the specified entity with the specified identification. -\fIENTITY\fP may be \fIconfig\fP, \fIdaemons\fP, \fIjob\fP, \fInode\fP, -\fIpartition\fP or \fIstep\fP. -\fIID\fP can be used to identify a specific element of the identified -entity: the configuration parameter name, job ID, node name, partition name, -or job step ID for entities \fIconfig\fP, \fIjob\fP, \fInode\fP, \fIpartition\fP, -and \fIstep\fP respectively. -Multiple node names may be specified using simple node range expressions -(e.g. "lx[10\-20]"). All other \fIID\fP values must identify a single -element. The job step ID is of the form "job_id.step_id", (e.g. "1234.1"). -By default, all elements of the entity type specified are printed. -.TP -\fIshutdown\fP -Instruct all Slurm daemons to save current state and terminate. -The Slurm controller (slurmctld) forwards the request all other daemons -(slurmd daemon on each compute node). -.TP -\fIsuspend\fP \fIjob_id\fP -Suspend a running job. -Use the \fIresume\fP command to resume its execution. -User processes must stop on receipt of SIGSTOP signal and resume -upon receipt of SIGCONT for this operation to be effective. -Not all architectures and configurations support job suspension. -.TP -\fIupdate\fP \fISPECIFICATION\fP -Update job, node or partition configuration per the supplied specification. -\fISPECIFICATION\fP is in the same format as the Slurm configuration file -and the output of the \fIshow\fP command described above. It may be desirable -to execute the \fIshow\fP command (described above) on the specific entity -you which to update, then use cut\-and\-paste tools to enter updated configuration -values to the \fIupdate\fP. Note that while most configuration values can be -changed using this command, not all can be changed using this mechanism. In -particular, the hardware configuration of a node or the physical addition or -removal of nodes from the cluster may only be accomplished through editing -the Slurm configuration file and executing the \fIreconfigure\fP command -(described above). -.TP -\fIverbose\fP -Print detailed event logging. This includes time\-stamps on data structures, -record counts, etc. -.TP -\fIversion\fP -Display the version number of scontrol being executed. -.TP -\fI!!\fP -Repeat the last command executed. -.TP -\fBSPECIFICATIONS FOR SHOW AND UPDATE COMMANDS, JOBS\fR -.TP -\fIAccount\fP= -Account name to be changed for this job's resource use. -Value may be cleared with blank data value, "Account=". -.TP -\fIContiguous\fP= -Set the job's requirement for contiguous (consecutive) nodes to be allocated. -Possible values are"YES" and "NO". -.TP -\fIDependency\fP= -Defer job's initiation until specified job_id completes. -Cancel dependency with job_id value of "0", "Depedency=0". -.TP -\fIExitCode\fP=: -Exit status reported for the job by the wait() function. -The first number is the exit code, typically as set by the exit() function. -The second number of the signal that caused the process to terminate if -it was terminated by a signal. -.TP -\fIFeatures\fP= -Set the job's required features on nodes specified value. Multiple values -may be comma separated if all features are required (AND operation) or -separated by "|" if any of the specified features are required (OR operation). -Value may be cleared with blank data value, "Features=". -.TP -\fIJobId\fP= -Identify the job to be updated. This specification is required. -.TP -\fIMinMemory\fP= -Set the job's minimum real memory required per nodes to the specified value. -.TP -\fIMinProcs\fP= -Set the job's minimum number of processors per nodes to the specified value. -.TP -\fIMinSockets\fP= -Set the job's minimum number of sockets per node to the specified value. -.TP -\fIMinCores\fP= -Set the job's minimum number of cores per socket to the specified value. -.TP -\fIMinThreads\fP= -Set the job's minimum number of threads per core to the specified value. -.TP -\fIMinTmpDisk\fP= -Set the job's minimum temporary disk space required per nodes to the specified value. -.TP -\fIName\fP= -Set the job's name to the specified value. -.TP -\fIPartition\fP= -Set the job's partition to the specified value. -.TP -\fIPriority\fP= -Set the job's priority to the specified value. -Note that a job priority of zero prevents the job from ever being scheduled. -By setting a job's priority to zero it is held. -Set the priority to a non\-zero value to permit it to run. -.TP -\fINice\fP[=delta] -Adjust job's priority by the specified value. Default value is 100. -.TP -\fIReqProcs\fP= -Set the job's count of required processes to the specified value. -.TP -\fIReqNodeList\fP= -Set the job's list of required node. Multiple node names may be specified using -simple node range expressions (e.g. "lx[10\-20]"). -Value may be cleared with blank data value, "ReqNodeList=". -.TP -\fIReqNodes\fP= -Set the job's count of required nodes to the specified value. -.TP -\fIReqSockets\fP= -Set the job's count of required sockets to the specified value. -.TP -\fIReqCores\fP= -Set the job's count of required cores to the specified value. -.TP -\fIReqThreads\fP= -Set the job's count of required threads to the specified value. -.TP -\fIShared\fP= -Set the job's ability to share nodes with other jobs. Possible values are -"YES" and "NO". -.TP -\fIStartTime\fP= -Set the job's earliest initiation time. -It accepts times of the form \fIHH:MM:SS\fR to run a job at -a specific time of day (seconds are optional). -(If that time is already past, the next day is assumed.) -You may also specify \fImidnight\fR, \fInoon\fR, or -\fIteatime\fR (4pm) and you can have a time\-of\-day suffixed -with \fIAM\fR or \fIPM\fR for running in the morning or the evening. -You can also say what day the job will be run, by giving -a date in the form \fImonth\-name\fR day with an optional year, -or giving a date of the form \fIMMDDYY\fR or \fIMM/DD/YY\fR -or \fIDD.MM.YY\fR. You can also -give times like \fInow + count time\-units\fR, where the time\-units -can be \fIminutes\fR, \fIhours\fR, \fIdays\fR, or \fIweeks\fR -and you can tell SLURM to run the job today with the keyword -\fItoday\fR and to run the job tomorrow with the keyword -\fItomorrow\fR. -.TP -\fITimeLimit\fP= -Set the job's time limit to the specified value. -.TP -\fIConnection\fP= -Reset the node connection type. -Possible values on Blue Gene are "MESH", "TORUS" and "NAV" -(mesh else torus). -.TP -\fIGeometry\fP= -Reset the required job geometry. -On Blue Gene the value should be three digits separated by -"x" or ",". The digits represent the allocation size in -X, Y and Z dimentions (e.g. "2x3x4"). -.TP -\fIRotate\fP= -Permit the job's geometry to be rotated. -Possible values are "YES" and "NO". - -.TP -\fBSPECIFICATIONS FOR UPDATE COMMAND, NODES\fR -.TP -\fINodeName\fP= -Identify the node(s) to be updated. Multiple node names may be specified using -simple node range expressions (e.g. "lx[10\-20]"). This specification is required. -.TP -\fIReason\fP= -Identify the reason the node is in a "DOWN" or "DRAINED" or "DRAINING" state. -Use quotes to enclose a reason having more than one word. -.TP -\fIState\fP= -Identify the state to be assigned to the node. Possible values are "NoResp", -"DRAIN" "RESUME", "DOWN", "IDLE", "ALLOC", and "ALLOCATED". -"RESUME is not an actual node state, but will return a DRAINED, DRAINING, -or DOWN node to service, either IDLE or ALLOCATED state as appropriate. -Setting a node "DOWN" will cause all running and suspended jobs on that -node to be terminated. -If you want to remove a node from service, you typically want to set -it's state to "DRAIN". -The "NoResp" state will only set the "NoResp" flag for a node without -changing its underlying state. -.TP -\fBSPECIFICATIONS FOR UPDATE AND DELETE COMMANDS, PARTITIONS\fR -.TP -\fIAllowGroups\fP= -Identify the user groups which may use this partition. -Multiple groups may be specified in a comma separated list. -To permit all groups to use the partition specify "AllowGroups=ALL". -.TP -\fIDefault\fP= -Specify if this partition is to be used by jobs which do not explicitly -identify a partition to use. Possible values are"YES" and "NO". -.TP -\fIHidden\fP= -Specify if the partition and its jobs should be hidden from view. -Hidden partitions will by default not be reported by SLURM APIs -or commands. -Possible values are"YES" and "NO". -.TP -\fINodes\fP= -Identify the node(s) to be associated with this partition. Multiple node names -may be specified using simple node range expressions (e.g. "lx[10\-20]"). -Note that jobs may only be associated with one partition at any time. -Specify a blank data value to remove all nodes from a partition: "Nodes=". -.TP -\fIPartitionName\fP= -Identify the partition to be updated. This specification is required. -.TP -\fIRootOnly\fP= -Specify if only allocation requests initiated by user root will be satisfied. -This can be used to restrict control of the partition to some meta\-scheduler. -Possible values are"YES" and "NO". -.TP -\fIShared\fP= -Specify if nodes in this partition can be shared by multiple jobs. -Possible values are"YES", "NO" and "FORCE". -.TP -\fIState\fP= -Specify if jobs can be allocated nodes in this partition. -Possible values are"UP" and "DOWN". -If a partition allocated nodes to running jobs, those jobs will continue -execution even after the partition's state is set to "DOWN". The jobs -must be explicitly canceled to force their termination. -.TP -\fIMaxNodes\fP= -Set the maximum number of nodes which will be allocated to any single job -in the partition. Specify a number or "INFINITE". -.TP -\fIMinNodes\fP= -Set the minimum number of nodes which will be allocated to any single job -in the partition. -.TP -\fBSPECIFICATIONS FOR UPDATE, BLOCK \fR -.TP -Bluegene systems only! -.TP -\fIBlockName\fP= -Identify the bluegene block to be updated. This specification is required. -.TP -\fIState\fP= -This will update the state of a bluegene block to either FREE or ERROR. -(i.e. update BlockName=RMP0 STATE=ERROR) State error will not allow jobs -to run on the block. \fBWARNING!!!!\fR This will cancel any -running job on the block! -.TP -.SH "ENVIRONMENT VARIABLES" -.PP -Some \fBscontrol\fR options may -be set via environment variables. These environment variables, -along with their corresponding options, are listed below. (Note: -Commandline options will always override these settings.) -.TP 20 -\fBSCONTROL_ALL\fR -\fB\-a, \-\-all\fR -.TP -\fBSLURM_CONF\fR -The location of the SLURM configuration file. - -.SH "EXAMPLE" -.eo -.br -# scontrol -.br -scontrol: show part class -.br -PartitionName=class TotalNodes=10 TotalCPUs=20 RootOnly=NO -.br - Default=NO Shared=NO State=UP MaxTime=30 Hidden=NO -.br - MinNodes=1 MaxNodes=2 AllowGroups=students -.br - Nodes=lx[0031\-0040] NodeIndices=31,40,\-1 -.br -scontrol: update PartitionName=class MaxTime=99 MaxNodes=4 -.br -scontrol: show job 65539 -.br -JobId=65539 UserId=1500 JobState=PENDING TimeLimit=100 -.br - Priority=100 Partition=batch Name=job01 NodeList=(null) -.br - StartTime=0 EndTime=0 Shared=0 ReqProcs=1000 -.br - ReqNodes=400 Contiguous=1 MinProcs=4 MinMemory=1024 -.br - MinTmpDisk=2034ReqNodeList=lx[3000\-3003] -.br - Features=(null) JobScript=/bin/hostname -.br -scontrol: update JobId=65539 TimeLimit=200 Priority=500 -.br -scontrol: quit -.ec - -.SH "COPYING" -Copyright (C) 2002 The Regents of the University of California. -Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). -UCRL\-CODE\-217948. -.LP -This file is part of SLURM, a resource management program. -For details, see . -.LP -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. -.LP -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. -.SH "FILES" -.LP -/etc/slurm.conf -.SH "SEE ALSO" -\fBscancel\fR(1), \fBsinfo\fR(1), \fBsqueue\fR(1), -\fBslurm_checkpoint\fR(3), -\fBslurm_delete_partition\fR(3), -\fBslurm_load_ctl_conf\fR(3), -\fBslurm_load_jobs\fR(3), \fBslurm_load_node\fR(3), -\fBslurm_load_partitions\fR(3), -\fBslurm_reconfigure\fR(3), \fBslurm_requeue\fR(3), \fBslurm_resume\fR(3), -\fBslurm_shutdown\fR(3), \fBslurm_suspend\fR(3), -\fBslurm_update_job\fR(3), \fBslurm_update_node\fR(3), -\fBslurm_update_partition\fR(3), -\fBslurm.conf\fR(5) diff --git a/executable_names/doc/man/man1/sinfo.1 b/executable_names/doc/man/man1/sinfo.1 deleted file mode 100644 index 9e29645728..0000000000 --- a/executable_names/doc/man/man1/sinfo.1 +++ /dev/null @@ -1,481 +0,0 @@ -.TH SINFO "1" "October 2006" "sinfo 1.2" "Slurm components" - -.SH "NAME" -sinfo \- view information about SLURM nodes and partitions. - -.SH "SYNOPSIS" -\fBsinfo\fR [\fIOPTIONS\fR...] -.SH "DESCRIPTION" -\fBsinfo\fR is used to view partition and node information for a -system running SLURM. - -.SH "OPTIONS" -.TP -\fB\-a\fR, \fB\-\-all\fR -Display information about all partions. This causes information to be -displayed about partitions that are configured as hidden and partitions that -are unavailable to user's group. -.TP -\fB\-b\fR, \fB\-\-bgl\fR -Display information about bglblocks (on Blue Gene systems only). -.TP -\fB\-\-help\fR -Print a message describing all \fBsinfo\fR options. -.TP -\fB\-\-hide\fR -Do not display information about hidden partitions. By default, partitions -that are configured as hidden or are not available to the user's group -will not be displayed (i.e. this is the default behavior). -.TP -\fB\-\-usage\fR -Print a brief message listing the \fBsinfo\fR options. -.TP -\fB\-d\fR, \fB\-\-dead\fR -If set only report state information for non\-responding (dead) nodes. -.TP -\fB\-e\fR, \fB\-\-exact\fR -If set, do not group node information on multiple nodes unless -their configurations to be reported are identical. Otherwise -cpu count, memory size, and disk space for nodes will be listed -with the minimum value followed by a "+" for nodes with the -same partition and state (e.g., "250+"). -.TP -\fB\-h\fR, \fB\-\-noheader\fR -Do not print a header on the output. -.TP -\fB\-i \fR, \fB\-\-iterate=\fR -Print the state on a periodic basis. -Sleep for the indicated number of seconds between reports. -By default, prints a time stamp with the header. -.TP -\fB\-l\fR, \fB\-\-long\fR -Print more detailed information. -This is ignored if the \fB\-\-format\fR option is specified. -.TP -\fB\-n \fR, \fB\-\-nodes=\fR -Print information only about the specified node(s). -Multiple nodes may be comma separated or expressed using a -node range expression. For example "linux[00\-07]" would -indicate eight nodes, "linux00" through "linux07." -.TP -\fB\-N\fR, \fB\-\-Node\fR -Print information in a node\-oriented format. -The default is to print information in a partition\-oriented format. -This is ignored if the \fB\-\-format\fR option is specified. -.TP -\fB\-o \fR, \fB\-\-format=\fR -Specify the information to be displayed using an \fBsinfo\fR -format string. Format strings transparently used by \fBsinfo\fR -when running with various options are -.RS -.TP 15 -.I "default" -"%9P %5a %.10l %.5D %6t %N" -.TP -.I "\-\-summarize" -"%9P %5a %.10l %15F %N" -.TP -.I "\-\-long" -"%9P %5a %.10l %.8s %4r %5h %10g %.5D %11T %N" -.TP -.I "\-\-Node" -"%#N %.5D %9P %6t" -.TP -.I "\-\-long \-\-Node" -"%#N %.5D %9P %11T %.4c %.8z %.6m %.8d %.6w %8f %R" -.TP -.I "\-\-list\-reasons" -"%35R %N" -.TP -.I "\-\-long \-\-list\-reasons" -"%50R %6t %N" -.RE - -.IP -In the above format strings the use of "#" represents the -maximum length of an node list to be printed. -.IP -The field specifications available include: -.RS -.TP 4 -\fB%a\fR -State/availability of a partition -.TP -\fB%A\fR -Number of nodes by state in the format "allocated/idle". -Do not use this with a node state option ("%t" or "%T") or -the different node states will be placed on separate lines. -.TP -\fB%c\fR -Number of CPUs per node -.TP -\fB%d\fR -Size of temporary disk space per node in megabytes -.TP -\fB%D\fR -Number of nodes -.TP -\fB%f\fR -Features associated with the nodes -.TP -\fB%F\fR -Number of nodes by state in the format -"allocated/idle/other/total". Do not use this with a node -state option ("%t" or "%T") or the different node states will -be placed on separate lines. -.TP -\fB%g\fR -Groups which may use the nodes -.TP -\fB%h\fR -Jobs may share nodes, "yes", "no", or "force" -.TP -\fB%l\fR -Maximum time for any job in the format "days\-hours:minutes:seconds" -.TP -\fB%m\fR -Size of memory per node in megabytes -.TP -\fB%N\fR -List of node names -.TP -\fB%P\fR -Partition name -.TP -\fB%r\fR -Only user root may initiate jobs, "yes" or "no" -.TP -\fB%R\fR -The reason a node is unavailable (down, drained, or draining states) -.TP -\fB%s\fR -Maximum job size in nodes -.TP -\fB%t\fR -State of nodes, compact form -.TP -\fB%T\fR -State of nodes, extended form -.TP -\fB%w\fR -Scheduling weight of the nodes -.TP -\fB%X\fR -Number of sockets per node -.TP -\fB%Y\fR -Number of cores per socket -.TP -\fB%Z\fR -Number of threads per core -.TP -\fB%z\fR -Extended processor information: number of sockets, cores, threads (S:C:T) per node -.TP -\fB%.<*>\fR -right justification of the field -.TP -\fB%<*>\fR -size of field -.RE -.TP -\fB\-r\fR, \fB\-\-responding\fR -If set only report state information for responding nodes. -.TP -\fB\-R\fR, \fB\-\-list\-reasons\fR -List reasons nodes are down or drained. When nodes are in -these states SLURM supports optional inclusion of a "reason" -string by an administrator. This option will display the first -35 characters of the reason field and list of nodes with that -reason for all nodes that are, by default, down, drained, or -draining. This option may be used with other node filtering -options (e.g. \fB\-r\fR, \fB\-d\fR, \fB\-t\fR, \fB\-n\fR), -however, combinations of these options that result in a list of -nodes that are not down or drained will not produce any output. -When used with \fB\-l\fR the output additionally includes -the current node state. -.TP -\fB\-s\fR, \fB\-\-summarize\fR -List only a partition state summary with no node state details. -This is ignored if the \fB\-\-format\fR option is specified. -.TP -\fB\-S \fR, \fB\-\-sort=\fR -Specification of the order in which records should be reported. -This uses the same field specifciation as the . -Multiple sorts may be performed by listing multiple sort fields -separated by commas. The field specifications may be preceeded -by "+" or "\-" for assending (default) and desending order -respectively. The partition field specification, "P", may be -preceeded by a "#" to report partitions in the same order that -they appear in SLURM's configuration file, \fBslurm.conf\fR. -For example, a sort value of "+P,\-m" requests that records -be printed in order of increasing partition name and within a -partition by decreasing memory size. The default value of sort -is "#P,\-t" (partitions ordered as configured then decreasing -node state). If the \fB\-\-Node\fB option is selected, the -default sort value is "N" (increasing node name). -.TP -\fB\-t \fR , \fB\-\-states=\fR -List nodes only having the given state(s). Multiple states -may be comma separated and the comparison is case insensitive. -Possible values include (case insensitive): ALLOC, ALLOCATED, -COMP, COMPLETING, DOWN, DRAIN, DRAINED, DRNG, DRAINING, IDLE, -UNK, and UNKNOWN. By default nodes in the specified state are -reported whether they are responding or not. The \fB\-\-dead\fR -and \fB\-\-responding\fR options may be used to filtering nodes by -the responding flag. -.TP -\fB\-p \fR, \fB\-\-partition=\fR -Print information only about the specified partition. -.TP -\fB\-v\fR, \fB\-\-verbose\fR -Provide detailed event logging through program execution. -.TP -\fB\-V\fR, \fB\-\-version\fR -Print version information and exit. - -.SH "OUTPUT FIELD DESCRIPTIONS" -.TP -\fBAVAIL\fR -Partition state: \fBup\fR or \fBdown\fR. -.TP -\fBCPUS\fR -Count of CPUs (processors) on these nodes. -.TP -\fBS:C:T\fR -Count of sockets (S), cores (C), and threads (T) on these nodes. -.TP -\fBSOCKETS\fR -Count of sockets on these nodes. -.TP -\fBCORES\fR -Count of cores on these nodes. -.TP -\fBTHREADS\fR -Count of threads on these nodes. -.TP -\fBGROUPS\fR -Resource allocations in this partition are restricted to the -named groups. \fBall\fR indicates that all groups may use -this partition. -.TP -\fBJOB_SIZE\fR -Minimum and maximum node count that can be allocated to any -user job. A single number indicates the minimum and maximum -node count are the same. \fBinfinite\fR is used to identify -partitions without a maximum node count. -.TP -\fBTIMELIMIT\fR -Maximum time limit for any user job in -days\-hours:minutes:seconds. \fBinfinite\fR is used to identify -partitions without a job time limit. -.TP -\fBMEMORY\fR -Size of real memory in megabytes on these nodes. -.TP -\fBNODELIST\fR or \fBBP_LIST\fR (BlueGene systems only) -Names of nodes associated with this configuration/partition. -.TP -\fBNODES\fR -Count of nodes with this particular configuration. -.TP -\fBNODES(A/I)\fR -Count of nodes with this particular configuration by node -state in the form "available/idle". -.TP -\fBNODES(A/I/O/T)\fR -Count of nodes with this particular configuration by node -state in the form "available/idle/other/total". -.TP -\fBPARTITION\fR -Name of a partition. Note that the suffix "*" identifies the -default partition. -.TP -\fBROOT\fR -Is the ability to allocate resources in this partition -restricted to user root, \fByes\fR or \fBno\fR. -.TP -\fBSHARE\fR -Will jobs allocated resources in this partition share those -resources. \fBno\fR indicates resources are never shared. -\fBforce\fR indicates resources are always available to be -shared. \fByes\fR indicates resource may be shared or not -per job's resource allocation. -.TP -\fBSTATE\fR -State of the nodes. Possible states include: down, unknown, -idle, allocated, drained, draining, completing and their -abbreviated forms: down, unk, idle, alloc, drain, drng, and -comp respectively. Note that the suffix "*" identifies nodes -that are presently not responding. -.TP -\fBTMP_DISK\fR -Size of temporary disk space in megabytes on these nodes. - -.SH "NODE STATE CODES" -.PP -Node state codes are shortened as required for the field size. -If the node state code is followed by "*", this indicates the -node is presently not responding and will not be allocated -any new work. If the node remains non\-responsive, it will -be placed in the \fBDOWN\fR state (except in the case of -\fBDRAINED\fR, \fBDRAINING\fR, or \fBCOMPLETING\fR nodes). -.TP 12 -\fBALLOCATED\fR -The node has been allocated to one or more jobs. -.TP -\fBALLOCATED+\fR -The node is allocated to one or more active jobs plus -one or more jobs are in the process of COMPLETING. -.TP -\fBCOMPLETING\fR -All jobs associated with this node are in the process of -COMPLETING. This node state will be removed when -all of the job's processes have terminated and the SLURM -epilog program (if any) has terminated. See the \fBEpilog\fR -parameter description in the \fBslurm.conf\fR man page for -more information. -.TP -\fBDOWN\fR -The node is unavailable for use. SLURM can automatically -place nodes in this state if some failure occurs. System -administrators may also explicitly place nodes in this state. If -a node resumes normal operation, SLURM can automatically -return it to service. See the \fBReturnToService\fR -and \fBSlurmdTimeout\fR parameter descriptions in the -\fBslurm.conf\fR(5) man page for more information. -.TP -\fBDRAINED\fR -The node is unavailable for use per system administrator -request. See the \fBupdate node\fR command in the -\fBscontrol\fR(1) man page or the \fBslurm.conf\fR(5) man page -for more information. -.TP -\fBDRAINING\fR -The node is currently executing a job, but will not be allocated -to additional jobs. The node state will be changed to state -\fBDRAINED\fR when the last job on it completes. Nodes enter -this state per system administrator request. See the \fBupdate -node\fR command in the \fBscontrol\fR(1) man page or the -\fBslurm.conf\fR(5) man page for more information. -.TP -\fBIDLE\fR -The node is not allocated to any jobs and is available for use. -.TP -\fBUNKNOWN\fR -The SLURM controller has just started and the node's state -has not yet been determined. - -.SH "ENVIRONMENT VARIABLES" -.PP -Some \fBsinfo\fR options may -be set via environment variables. These environment variables, -along with their corresponding options, are listed below. (Note: -Commandline options will always override these settings.) -.TP 20 -\fBSINFO_ALL\fR -\fB\-a, \-\-all\fR -.TP -\fBSINFO_FORMAT\fR -\fB\-o , \-\-format=\fR -.TP -\fBSINFO_PARTITION\fR -\fB\-p , \-\-partition=\fR -.TP -\fBSINFO_SORT\fR -\fB\-S , \-\-sort=\fR -.TP -\fBSLURM_CONF\fR -The location of the SLURM configuration file. - -.SH "EXAMPLES" -.eo -Report basic node and partition configurations: - -.nf - -> sinfo -PARTITION AVAIL TIMELIMIT NODES STATE NODELIST -batch up infinite 2 alloc adev[8\-9] -batch up infinite 6 idle adev[10\-15] -debug* up 30:00 8 idle adev[0\-7] - -.fi - -Report partition summary information: -.nf - -> sinfo \-s -PARTITION AVAIL TIMELIMIT NODES(A/I/O/T) NODELIST -batch up infinite 2/6/0/8 adev[8\-15] -debug* up 30:00 0/8/0/8 adev[0\-7] - -.fi - -Report more complete information about the partition debug: -.nf - -> sinfo \-\-long \-\-partition=debug -PARTITION AVAIL TIMELIMIT JOB_SIZE ROOT SHARE GROUPS NODES STATE NODELIST -debug* up 30:00 8 no no all 8 idle dev[0\-7] -.fi - -Report only those nodes that are in state DRAINED: -.nf - -> sinfo \-\-states=drained -PARTITION AVAIL NODES TIMELIMIT STATE NODELIST -debug* up 2 30:00 drain adev[6\-7] - -.fi - -Report node\-oriented information with details and exact matches: -.nf - -> sinfo \-Nel -NODELIST NODES PARTITION STATE CPUS MEMORY TMP_DISK WEIGHT FEATURES REASON -adev[0\-1] 2 debug* idle 2 3448 38536 16 (null) (null) -adev[2,4\-7] 5 debug* idle 2 3384 38536 16 (null) (null) -adev3 1 debug* idle 2 3394 38536 16 (null) (null) -adev[8\-9] 2 batch allocated 2 246 82306 16 (null) (null) -adev[10\-15] 6 batch idle 2 246 82306 16 (null) (null) - -.fi - -Report only down, drained and draining nodes and their reason field: -.nf - -> sinfo \-R -REASON NODELIST -Memory errors dev[0,5] -Not Responding dev8 - -.fi -.ec - -.SH "COPYING" -Copyright (C) 2002\-2006 The Regents of the University of California. -Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). -UCRL\-CODE\-217948. -.LP -This file is part of SLURM, a resource management program. -For details, see . -.LP -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. -.LP -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -.SH "SEE ALSO" -\fBscontrol\fR(1), \fBsmap\fR(1), \fBsqueue\fR(1), -\fBslurm_load_ctl_conf\fR(3), \fBslurm_load_jobs\fR(3), \fBslurm_load_node\fR(3), -\fBslurm_load_partitions\fR(3), -\fBslurm_reconfigure\fR(3), \fBslurm_shutdown\fR(3), -\fBslurm_update_job\fR(3), \fBslurm_update_node\fR(3), -\fBslurm_update_partition\fR(3), -\fBslurm.conf\fR(5) diff --git a/executable_names/doc/man/man1/slaunch.1 b/executable_names/doc/man/man1/slaunch.1 deleted file mode 100644 index 1958c1233d..0000000000 --- a/executable_names/doc/man/man1/slaunch.1 +++ /dev/null @@ -1,676 +0,0 @@ -.\" $Id$ -.TH "slaunch" "1" "SLURM 1.2" "October 2006" "SLURM Commands" -.SH "NAME" -.LP -slaunch \- Launch a parallel application under a SLURM job allocation. -.SH "SYNOPSIS" -.LP -slaunch [\fIoptions\fP] <\fIcommand\fP> [\fIcommand args\fR] -.SH "DESCRIPTION" -.LP -slaunch launches a parallel application (a \fBjob step\fR in SLURM parlance) -on the nodes, or subset of nodes, in a \fBjob allocation\fR. A valid job -allocation is a prerequisite of running slaunch. The ID of the job allocation -may be passed to slaunch through either the \fB\-\-jobid\fR command line -parameter or the \fBSLAUNCH_JOBID\fR environment variable. The \fBsalloc\fR -and \fBsbatch\fR commands may be used to request a job allocation, and each -of those commands automatically set the \fBSLURM_JOB_ID\fR environment variable, -which is also understood by slaunch. Users should not set SLURM_JOB_ID on their -own; use SLAUNCH_JOBID instead. -.SH "OPTIONS" -.LP -.TP -\fB\-\-jobid\fR <\fIJOBID\fP> -The job allocation under which the parallel application should be launched. If slaunch is running under salloc or a batch script, slaunch can automatically determint the jobid from the SLURM_JOB_ID environment variable. Otherwise, you will need to tell slaunch which job allocation to use. -.TP -\fB\-n\fR, \fB\-\-tasks\fR[=]<\fInumber\fR> -Specify the number of processes to launch. The default is one process per node. -.TP -\fB\-N\fR, \fB\-\-nodes\fR[=]<\fInumber\fR> -Specify the number of nodes to be used by this job step. By default, -slaunch will use all of the nodes in the specified job allocation. -.TP -\fB\-r\fR, \fB\-\-relative\fR[=]<\fInumber\fR> -Specify the first node in the allocation on which this job step will be launched. Counting starts at zero, thus the first node in the job allocation is node 0. The option to \-\-relative may also be a negative number. \-1 is the last node in the allocation, \-2 is the next to last node, etc. By default, the controller will select the starting node (assuming that there are no other nodelist or task layout options that specify specific nodes). - -.TP -\fB\-c\fR, \fB\-\-cpus\-per\-task\fR[=]<\fIncpus\fR> -Specify that each task requires \fIncpus\fR number of CPUs. Useful for applications in which each task will launch multiple threads and can therefore benefit from there being free processors on the node. - -.TP -\fB\-J\fR, \fB\-\-name\fR[=]<\fIname\fR> -Set the name of the job step. By default, the job step's name will be the -name of the executable which slaunch is launching. - -.TP -\fB\-K\fR, \fB\-\-kill\-on\-bad\-exit\fR -Terminate the job step if any task exits with a non\-zero exit code. By default -slaunch will not terminate a job step because of a task with a non\-zero exit -code. - -.TP -\fB\-l\fR, \fB\-\-label\fR -Prepend each line of task standard output or standard error with the task -number of its origin. - -.TP -\fB\-u\fR, \fB\-\-unbuffered\fR -Do not line buffer standard output or standard error from remote tasks. -This option cannot be used with \-\-label. - -.TP -\fB\-C\fR, \fB\-\-overcommit\fR -Permit the allocation of more tasks to a node than there are available processors. -Normally SLURM will only allow up to N tasks on a node with N processors, but -this option will allow more than N tasks to be assigned to a node. - -.TP -\fB\-q\fR, \fB\-\-quiet\fR -Suppress informational messages from slaunch. Errors will still be displayed. - -.TP -\fB\-v\fR, \fB\-\-verbose\fR -Increase the verbosity of slaunch's informational messages. Multiple \-v's -will further increase slaunch's verbosity. - -.TP -\fB\-d\fR, \fB\-\-slurmd\-debug\fR[=]<\fIlevel\fR> -Specify a debug level for slurmd(8). \fIlevel\fR may be an integer value -between 0 [quiet, only errors are displayed] and 4 [verbose operation]. -The slurmd debug information is copied onto the stderr of -the job. By default only errors are displayed. - -.TP -\fB\-W\fR, \fB\-\-wait\fR[=]<\fIseconds\fR> -slaunch will wait the specified number of seconds after the first tasks exits -before killing all tasks in the job step. If the value is 0, slaunch will -wait indefinitely for all tasks to exit. The default value is give by the -WaitTime parameter in the slurm configuration file (see \fBslurm.conf(5)\fR). - -The \-\-wait option can be used to insure that a job step terminates in a timely -fashion in the event that one or more tasks terminate prematurely. - -.TP -\fB\-m\fR, \fB\-\-distribution\fR[=]<\fI(cyclic|block|arbitrary)\fR> -Select a task distribution pattern. (The default is cyclic.) -.RS -.TP -.B cyclic -The cyclic method distributes processes in a round\-robin fashion across -the allocated nodes. That is, task zero will be allocated to the first -node, task one to the second, and so on. -.TP -.B block -The block method of distribution will allocate tasks in\-order to -the cpus on a node. If the number of tasks exceeds the number of -cpus on all of the nodes in the allocation then all nodes will be -utilized. For example, consider an allocation of three nodes each with -two cpus. A four\-task block distribution request will distribute -those tasks to the nodes with tasks zero and one on the first -node, task two on the second node, and task three on the third node. -.TP -.B arbitrary -The arbitrary method of distribution allows the user to manually specify any -arbitrary layout of tasks on nodes. Normally the arbitrary task distribution -method will be invoked implicitly by using one of the options -\-\-task\-layout\-byid, \-\-task\-layout\-byname, or \-\-task\-layout\-file. -.RE - -.TP -\fB\-w\fR, \fB\-\-nodelist\-byname\fR[=]<\fInode name list\fR> -Request a specific list of node names. The list may be specified as a comma\-separated list of node names, or a range of node names (e.g. mynode[1\-5,7,...]). Duplicate node names are not permitted in the list. -The order of the node names in the list is not important; the node names -will be sorted my SLURM. -.TP -\fB\-L\fR, \fB\-\-nodelist\-byid\fR[=]<\fInode index list\fR> -Request a specific set of nodes in a job alloction on which to run the tasks of the job step. The list may be specified as a comma\-separated list relative node indices in the job allocation (e.g., "0,2\-5,\-2,8"). Duplicate indices are permitted, but are ignored. The order of the node indices in the list is not important; the node indices will be sorted my SLURM. - -.TP -\fB\-T\fR, \fB\-\-task\-layout\-byid\fR[=]<\fInode index list\fR> -Request a specific task layout using node indices within the job allocation. The node index list can contain duplicate indices, and the indices may appear in any order. The order of indices in the nodelist IS significant. Each node index in the list represents one task, with the Nth node index in the list designating on which node the Nth task should be launched. - -For example, given an allocation of nodes "linux[0\-15]" and a node index list "4,\-1,1\-3" task 0 will run on "linux4", task 1 will run on "linux15", task 2 on "linux1", task 3 on "linux2", and task 4 on "linux3". - -NOTE: This option implicitly sets the task distribution method to "arbitrary". Some network switch layers do not permit arbitrary task layout. - -.TP -\fB\-Y\fR, \fB\-\-task\-layout\-byname\fR[=]<\fInode name list\fR> -Request a specific task layout. The nodelist can contain duplicate node -names, and node names may appear in any order. The order of node names in -the nodelist IS significant. Each node name in the nodes list represents -one task, with the Nth node name in the nodelist designating on which node -the Nth task should be launched. For example, a nodelist of mynode[4,3,1\-2,4] -means that tasks 0 and 4 will run on mynode4, task 1 will run on mynode3, -task 2 will run on mynode1, and task 3 will run on mynode2. - -NOTE: This option implicitly sets the task distribution method to "arbitrary". -Some network switch layers do not permit arbitrary task layout. - -.TP -\fB\-F\fR, \fB\-\-task\-layout\-file\fR[=]<\fIfilename\fR> -Request a specific task layout. This option is much like the -\-\-task\-layout\-byname option, except that instead of a nodelist you -supply the name of a file. The file contains a nodelist that may span -multiple lines of the file. - -NOTE: This option implicitly sets the task distribution method to "arbitrary". -Some network switch layers do not permit arbitrary task layout. - -.TP -\fB\-i\fR, \fB\-\-slaunch\-input\fR[=]<\fIfilename pattern\fR> -.PD 0 -.TP -\fB\-o\fR, \fB\-\-slaunch\-output\fR[=]<\fIfilename pattern\fR> -.PD 0 -.TP -\fB\-e\fR, \fB\-\-slaunch\-error\fR[=]<\fIfilename pattern\fR> -.PD -Change slaunch's standard input, standard output, or standard error -to be a file of name "filename pattern". These options are similar to using -shell IO redirection capabilities, but with the additional ability to replace -certain symbols in the filename with useful SLURM information. Symbols are -listed below. - -By default, slaunch broadcasts its standard input over the network to the -standard input of all tasks. Likewise, standard output and standard error -from all tasks are collected over the network by slaunch and printed on -its standard output or standard error, respectively. If you want to see -traffic from fewer tasks, see the \-\-slaunch\-[input|output|error]\-filter -options. - -Supported replacement symbols are: -.PD 0 -.RS 10 -.TP -\fB%J\fR -Job allocation number and job step number in the form "jobid.stepid". For instance, "128.0". -.PD 0 -.TP -\fB%j\fR -Job allocation number. -.PD 0 -.TP -\fB%s\fR -Job step number. -.RE - -.TP -\fB\-\-slaunch\-input\-filter\fR[=]<\fItask number\fR> -.PD 0 -.TP -\fB\-\-slaunch\-output\-filter\fR[=]<\fItask number\fR> -.PD 0 -.TP -\fB\-\-slaunch\-error\-filter\fR[=]<\fItask number\fR> -.PD -Only transmit standard input to a single task, or print the standard output -or standard error from a single task. These options perform the filtering -locally in slaunch. All tasks are still capable of sending or receiving -standard IO over the network, so the "sattach" command can still access the -standard IO streams of the other tasks. (NOTE: for \-output and \-error, -the streams from all tasks WILL be transmitted to slaunch, but it will only -print the streams for the selected task. If your tasks print a great deal of -data to standard output or error, this can be performance limiting.) - -.TP -\fB\-I\fR, \fB\-\-task\-input\fR[=]<\fIfilename pattern\fR> -.PD 0 -.TP -\fB\-O\fR, \fB\-\-task\-output\fR[=]<\fIfilename pattern\fR> -.PD 0 -.TP -\fB\-E\fR, \fB\-\-task\-error\fR[=]<\fIfilename pattern\fR> -.PD -Instruct SLURM to connect each task's standard input, standard output, -or standard error directly to the file name specified -in the "\fIfilename pattern\fR". - -By default, the standard IO streams of all tasks are received and transmitted -over the network to commands like slaunch and sattach. These options disable -the networked standard IO streams and instead connect the standard IO streams -of the tasks directly to files on the local node of each task (although the file -may, of course, be located on a networked filesystem). - -Whether or not the tasks share a file depends on whether or not the file lives -on a local filesystem or a shared network filesytem, and on whether or not -the filename pattern expands to the same file name for each task. - -The filename pattern may -contain one or more replacement symbols, which are a percent sign "%" followed -by a letter (e.g. %t). - -Supported replacement symbols are: -.PD 0 -.RS 10 -.TP -\fB%J\fR -Job allocation number and job step number in the form "jobid.stepid". For instance, "128.0". -.PD 0 -.TP -\fB%j\fR -Job allocation number. -.PD 0 -.TP -\fB%s\fR -Job step number. -.PD 0 -.TP -\fB%N\fR -Node name. (Will result in a separate file per node.) -.PD 0 -.TP -\fB%n\fR -Relative node index number within the job step. All nodes used by the job step will be number sequentially starting at zero. (Will result in a separate file per node.) -.PD 0 -.TP -\fB%t\fR -Task rank number. (Will result in a separate file per task.) -.RE - -.TP -\fB\-D\fR, \fB\-\-workdir\fR[=]<\fIdirectory\fR> -Set the working directory of the tasks to \fIdirectory\fR before execution. -The default task working directory is slaunch's working directory. - -.TP -\fB\-\-mpi\fR[=]<\fImpi_type\fR> -Identify the type of MPI to be used. - -.TP -\fB\-\-uid\fR[=]<\fIuser\fR> -Attempt to submit and/or run a job as \fIuser\fR instead of the -invoking user id. The invoking user's credentials will be used -to check access permissions for the target partition. User root -may use this option to run jobs as a normal user in a RootOnly -partition for example. If run as root, \fBslaunch\fR will drop -its permissions to the uid specified after node allocation is -successful. \fIuser\fR may be the user name or numerical user ID. - -.TP -\fB\-\-gid\fR[=]<\fIgroup\fR> -If \fBslaunch\fR is run as root, and the \fB\-\-gid\fR option is used, -submit the job with \fIgroup\fR's group access permissions. \fIgroup\fR -may be the group name or the numerical group ID. - -.TP -\fB\-\-core\fR[=]<\fItype\fR> -Adjust corefile format for parallel job. If possible, slaunch will set -up the environment for the job such that a corefile format other than -full core dumps is enabled. If run with type = "list", slaunch will -print a list of supported corefile format types to stdout and exit. - -.TP -\fB\-\-propagate\fR[=\fIrlimits\fR] -Allows users to specify which of the modifiable (soft) resource limits -to propagate to the compute nodes and apply to their jobs. If -\fIrlimits\fR is not specified, then all resource limits will be -propagated. - -.TP -\fB\-\-prolog\fR[=]<\fIexecutable\fR> -\fBslaunch\fR will run \fIexecutable\fR just before launching the job step. -The command line arguments for \fIexecutable\fR will be the command -and arguments of the job step. If \fIexecutable\fR is "none", then -no prolog will be run. This parameter overrides the SrunProlog -parameter in slurm.conf. - -.TP -\fB\-\-epilog\fR[=]<\fIexecutable\fR> -\fBslaunch\fR will run \fIexecutable\fR just after the job step completes. -The command line arguments for \fIexecutable\fR will be the command -and arguments of the job step. If \fIexecutable\fR is "none", then -no epilog will be run. This parameter overrides the SrunEpilog -parameter in slurm.conf. - -.TP -\fB\-\-task\-prolog\fR[=]<\fIexecutable\fR> -The \fBslurmd\fR daemon will run \fIexecutable\fR just before launching -each task. This will be executed after any TaskProlog parameter -in slurm.conf is executed. -Besides the normal environment variables, this has SLURM_TASK_PID -available to identify the process ID of the task being started. -Standard output from this program of the form -"export NAME=value" will be used to set environment variables -for the task being spawned. - -.TP -\fB\-\-task\-epilog\fR[=]<\fIexecutable\fR> -The \fBslurmd\fR daemon will run \fIexecutable\fR just after each task -terminates. This will be before after any TaskEpilog parameter -in slurm.conf is executed. This is meant to be a very short\-lived -program. If it fails to terminate within a few seconds, it will -be killed along with any descendant processes. - -.TP -\fB\-\-comm\-hostname\fR[=]<\fIhostname|address\fR> -Specify the hostname or address to be used for PMI communications only -(MPCIH2 communication bootstrapping mechanism). -Defaults to short hostname of the node on which slaunch is running. - -.TP -\fB\-\-network\fR[=]<\fIoptions\fR> -(NOTE: this option is currently only of use on AIX systems.) -Specify the communication protocol to be used. -The interpretation of \fItype\fR is system dependent. -For AIX systems with an IBM Federation switch, the following -comma\-separated and case insensitive options are recongnized: -\fBIP\fR (the default is user\-space), \fBSN_ALL\fR, \fBSN_SINGLE\fR, -\fBBULK_XFER\fR and adapter names. For more information, on -IBM systems see \fIpoe\fR documenation on the environment variables -\fBMP_EUIDEVICE\fR and \fBMP_USE_BULK_XFER\fR. - -.TP -\fB\-\-multi\-prog\fR -This option allows one to launch tasks with different executables within -the same job step. When this option is present, slaunch no long accepts -the name of an executable "command" on the command line, instead it accepts -the name of a file. This file specifies which executables and command line -parameters should be used by each task in the job step. See the section -\fBMULTIPLE PROGRAMS FILE\fR below for an explanation of the multiple program -file syntax. - -.TP -\fB\-h\fR, \fB\-\-help\fR -Display help information and exit. - -.TP -\fB\-u\fR, \fB\-\-usage\fR -Display brief usage message and exit. - -.TP -\fB\-V\fR, \fB\-\-version\fR -Display version information and exit. - -.PP -Affinity/Multi\-core Options (when the task/affinity or task/numa -plugin is enabled): -.TP -\fB\-\-cpu_bind\fR=[{\fIquiet,verbose\fR},]\fItype\fR -Bind tasks to CPUs -.RS -.TP -.B q[uiet], -quietly bind before task runs (default) -.TP -.B v[erbose], -verbosely report binding before task runs -.TP -.B no[ne] -don't bind tasks to CPUs (default) -.TP -.B rank -bind by task rank -.TP -.B map_cpu: -bind by mapping CPU IDs to tasks as specified -where is ,,.... -CPU IDs are interpreted as decimal values unless they are preceded -with '0x' in which case they interpreted as hexadecimal values. -.TP -.B mask_cpu: -bind by setting CPU masks on tasks as specified -where is ,,.... -CPU masks are \fBalways\fR interpreted as hexadecimal values but can be -preceded with an optional '0x'. -.RE - -To have SLURM always report on the selected CPU binding for all srun commands -executed in a shell, you can also enable verbose mode separately from -the command line with: -.PP -.nf - setenv SLURM_CPU_BIND verbose -.fi -.PP -SLURM_CPU_BIND will not propagate into the tasks environment (binding -by default only affects the first srun). To propagate \-\-cpu_bind to -successive srun commands, first do the following in each task: -.PP -.nf - setenv SLURM_CPU_BIND \\ - ${SLURM_CPU_BIND_VERBOSE},${SLURM_CPU_BIND_TYPE}${SLURM_CPU_BIND_LIST} -.fi - -.PP -Affinity/Multi\-core Options (when the task/affinity plugin is enabled and -the NUMA memory functions are available): -.TP -\fB\-\-mem_bind\fR=[{\fIquiet,verbose\fR},]\fItype\fR -Bind tasks to memory. \fBNote that the resolution of CPU and memory binding -may differ on some architectures.\fR For example, CPU binding may be performed -at the level of the cores within a processor while memory binding will -be performed at the level of nodes, where the definition of "nodes" -may differ from system to system. \fBThe use of any type other than -"none" or "local" is not recommended.\fR -If you want greater control, try running a simple test code with the -options "\-\-cpu_bind=verbose,none \-\-mem_bind=verbose,none" to determine -the specific configuration. -.RS -.TP -.B q[uiet], -quietly bind before task runs (default) -.TP -.B v[erbose], -verbosely report binding before task runs -.TP -.B no[ne] -don't bind tasks to memory (default) -.TP -.B rank -bind by task rank (not recommended) -.TP -.B local -Use memory local to the processor in use -.TP -.B map_mem: -bind by mapping a node's memory to tasks as specified -where is ,,.... -CPU IDs are interpreted as decimal values unless they are preceded -with '0x' in which case they interpreted as hexadecimal values -(not recommended) -.TP -.B mask_mem: -bind by setting memory masks on tasks as specified -where is ,,.... -memory masks are \fBalways\fR interpreted as hexadecimal values but can be -preceded with an optional '0x' (not recommended) -.RE - -To have SLURM always report on the selected memory binding for all srun commands -executed in a shell, you can also enable verbose mode separately from -the command line with: -.PP -.PP -.nf - setenv SLURM_MEM_BIND verbose -.fi -.PP -SLURM_MEM_BIND will not propagate into the tasks environment (binding -by default only affects the first srun). To propagate \-\-mem_bind to -successive srun commands, first do the following in each task: -.PP -.nf - setenv SLURM_MEM_BIND \\ - ${SLURM_MEM_BIND_VERBOSE},${SLURM_MEM_BIND_TYPE}${SLURM_MEM_BIND_LIST} -.fi - -.SH "INPUT ENVIRONMENT VARIABLES" -.PP -Some slaunch options may be set via environment variables. -These environment variables, along with their corresponding options, -are listed below. -Note: Command line options will always override environment variables settings. -.TP 25 -\fBSLAUNCH_COMM_HOSTNAME\fR -Same as \fB\-\-comm\-hostname\fR. -.TP -\fBSLAUNCH_CORE_FORMAT\fR -Same as \fB\-\-core\fR. -.TP -\fBSLAUNCH_CPU_BIND\fR -Same as \fB\-\-cpu_bind\fR. -.TP -\fBSLAUNCH_DEBUG\fR -Same as \fB\-v\fR or \fB\-\-verbose\fR. -.TP -\fBSLAUNCH_DISTRIBUTION\fR -Same as \fB\-m\fR or \fB\-\-distribution\fR. -.TP -\fBSLAUNCH_JOBID\fR -Same as \fB\-\-jobid\fR. -.TP -\fBSLAUNCH_KILL_BAD_EXIT\fR -Same as \fB\-K\fR or \fB\-\-kill\-on\-bad\-exit\fR. -.TP -\fBSLAUNCH_LABELIO\fR -Same as \fB\-l\fR or \fB\-\-label\fR. -.TP -\fBSLAUNCH_MEM_BIND\fR -Same as \fB\-\-mem_bind\fR. -.TP -\fBSLAUNCH_MPI_TYPE\fR -Same as \fB\-\-mpi\fR. -.TP -\fBSLAUNCH_OVERCOMMIT\fR -Same as \fB\-C\fR or \fB\-\-overcomit\fR. -.TP -\fBSLAUNCH_WAIT\fR -Same as \fB\-W\fR or \fB\-\-wait\fR. -.TP -\fBSLURMD_DEBUG\fR -Same as \fB\-d\fR or \fB\-\-slurmd\-debug\fR - -.SH "OUTPUT ENVIRONMENT VARIABLES" -.PP -slaunch will set the following environment variables which will -appear in the environments of all tasks in the job step. Since slaunch -sets these variables itself, they will also be available to --prolog -and --epilog scripts. (Notice that the "backwards compatibility" environment -variables clobber some of the variables that were set by salloc or sbatch -at job allocation time. The newer SLURM_JOB_* and SLURM_STEP_* names do not -conflict, so any task in any job step can easily determine the parameters -of the job allocation.) -.TP -\fBSLURM_STEP_ID\fR (and \fBSLURM_STEPID\fR for backwards compatibility) -The ID of the job step within the job allocation. -.TP -\fBSLURM_STEP_NODELIST\fR -The list of nodes in the job step. -.TP -\fBSLURM_STEP_NUM_NODES\fR (and \fBSLURM_NNODES\fR for backwards compatibility) -The number of nodes used by the job step. -.TP -\fBSLURM_STEP_NUM_TASKS\fR (and \fBSLURM_NPROCS\fR for backwards compatibility) -The number of tasks in the job step. -.TP -\fBSLURM_STEP_TASKS_PER_NODE\fR (and \fBSLURM_TASKS_PER_NODE\fR for backwards compatibility) -The number of tasks on each node in the job step. -.TP -\fBSLURM_STEP_LAUNCHER_HOSTNAME\fR (and \fBSLURM_SRUN_COMM_HOST\fR for backwards compatibility) -.TP -\fBSLURM_STEP_LAUNCHER_PORT\fR (and \fBSLURM_SRUN_COMM_PORT\fR for backwards compatibility) - -.PP -Additionally, SLURM daemons will ensure that the the following variables are -set in the environments of all tasks in the job step. Many of the following -variables will have different values in each task's environment. (These -variables are not available to the slaunch --prolog and --epilog scripts.) - -.TP -\fBSLURM_NODEID\fR -Node ID relative to other nodes in the job step. Counting begins at zero. -.TP -\fBSLURM_PROCID\fR -Task ID relative to the other tasks in the job step. Counting begins at zero. -.TP -\fBSLURM_LOCALID\fR -Task ID relative to the other tasks on the same node which belong to the -same job step. Counting begins at zero. -.TP -\fBSLURMD_NODENAME\fR -The SLURM NodeName for the node on which the task is running. Depending -on how your system administrator has configured SLURM, the NodeName for a -node may not be the same as the node's hostname. When you use commands -such as \fBsinfo\fR and \fBsqueue\fR, or look at environment variables such -as SLURM_JOB_NODELIST and SLURM_STEP_NODELIST, you are seeing SLURM NodeNames. - -.SH "MULTIPLE PROGRAMS FILE" -Comments in the configuration file must have a "#" in collumn one. -The configuration file contains the following fields separated by white -space: -.TP -Task rank -One or more task ranks to use this configuration. -Multiple values may be comma separated. -Ranges may be indicated with two numbers separated with a '\-'. -To indicate all tasks, specify a rank of '*' (in which case you probably -should not be using this option). -.TP -Executable -The name of the program to execute. -May be fully qualified pathname if desired. -.TP -Arguments -Program arguments. -The expression "%t" will be replaced with the task's number. -The expression "%o" will be replaced with the task's offset within -this range (e.g. a configured task rank value of "1\-5" would -have offset values of "0\-4"). -Single quotes may be used to avoid having the enclosed values interpretted. -This field is optional. -.PP -For example: -.nf -################################################################### -# srun multiple program configuration file -# -# srun \-n8 \-l \-\-multi\-prog silly.conf -################################################################### -4\-6 hostname -1,7 echo task:%t -0,2\-3 echo offset:%o - -$ srun \-n8 \-l \-\-multi\-prog silly.conf -0: offset:0 -1: task:1 -2: offset:1 -3: offset:2 -4: linux15.llnl.gov -5: linux16.llnl.gov -6: linux17.llnl.gov -7: task:7 - -.fi - -.SH "EXAMPLES" -.LP -To launch a job step (parallel program) in an existing job allocation: -.IP -slaunch \-\-jobid 66777 \-N2 \-n8 myprogram - -.LP -To grab an allocation of nodes and launch a parallel application on one command line (See the \fBsalloc\fR man page for more examples): -.IP -salloc \-N5 slaunch \-n10 myprogram - -.SH "COPYING" -Copyright (C) 2006 The Regents of the University of California. -Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). -UCRL\-CODE\-217948. -.LP -This file is part of SLURM, a resource management program. -For details, see . -.LP -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. -.LP -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -.SH "SEE ALSO" -.LP -sinfo(1), sattach(1), salloc(1), sbatch(1), squeue(1), scancel(1), scontrol(1), slurm.conf(5), sched_setaffinity(2), numa(3) diff --git a/executable_names/doc/man/man1/slurm.1 b/executable_names/doc/man/man1/slurm.1 deleted file mode 100644 index 4e27f3f9a1..0000000000 --- a/executable_names/doc/man/man1/slurm.1 +++ /dev/null @@ -1,60 +0,0 @@ -.TH SLURM "1" "May 2005" "slurm 0.5" "Slurm system" - -.SH "NAME" -slurm \- SLURM system overview. - -.SH "DESCRIPTION" -The Simple Linux Utility for Resource Management (SLURM) is an open source, -fault\-tolerant, and highly scalable cluster management and job scheduling system -for large and small Linux clusters. SLURM requires no kernel modifications for -its operation and is relatively self\-contained. As a cluster resource manager, -SLURM has three key functions. First, it allocates exclusive and/or non\-exclusive -access to resources (compute nodes) to users for some duration of time so they -can perform work. Second, it provides a framework for starting, executing, and -monitoring work (normally a parallel job) on the set of allocated nodes. Finally, -it arbitrates conflicting requests for resources by managing a queue of pending -work. - -SLURM has a centralized manager, \fBslurmctld\fR, to monitor resources and -work. There may also be a backup manager to assume those responsibilities in the -event of failure. Each compute server (node) has a \fBslurmd\fR daemon, which -can be compared to a remote shell: it waits for work, executes that work, returns -status, and waits for more work. - -User tools include \fBsrun\fR to initiate jobs, -\fBscancel\fR to terminate queued or running jobs, \fBsinfo\fR to report system -status, and \fBsqueue\fR to report the status of jobs. There is also an administrative -tool \fBscontrol\fR available to monitor and/or modify configuration and state -information. APIs are available for all functions. - -SLURM configuration is maintained in the \fBslurm.conf\fR file. - -Man pages are available for all SLURM commands, daemons, APIs, plus the -\fBslurm.conf\fR file. -Extensive documenation is also available on the internet at -\fB\fR. - -.SH "COPYING" -Copyright (C) 2005 The Regents of the University of California. -Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). -UCRL\-CODE\-217948. -.LP -This file is part of SLURM, a resource management program. -For details, see . -.LP -SLURM is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2 of the License, or (at your option) -any later version. -.LP -SLURM is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -.SH "SEE ALSO" -\fBscancel\fR(1), \fBscontrol\fR(1), \fBsinfo\fR(1), \fBsmap\fR(1), -\fBsqueue\fR(1), \fBsrun\fR(1), -\fBslurm.conf\fR(5), -\fBslurmctld\fR(8), \fBslurmd\fR(8) - diff --git a/executable_names/doc/man/man1/smap.1 b/executable_names/doc/man/man1/smap.1 deleted file mode 100644 index d58131293f..0000000000 --- a/executable_names/doc/man/man1/smap.1 +++ /dev/null @@ -1,437 +0,0 @@ -.TH SMAP "1" "March 2006" "smap 1.1" "Slurm components" - -.SH "NAME" -smap \- graphically view information about SLURM jobs, partitions, and set -configurations parameters. - -.SH "SYNOPSIS" -\fBsmap\fR [\fIOPTIONS\fR...] -.SH "DESCRIPTION" -\fBsmap\fR is used to graphically view job, partition and node information -for a system running SLURM. -Note that information about nodes and partitions to which a user lacks -access will always be displayed to avoid obvious gaps in the output. -This is equivalent to the \fB\-\-all\fR option of the \fBsinfo\fR and -\fBsqueue\fR commands. - -.SH "OPTIONS" -.TP -\fB\-\-help\fR, -Print a message describing all \fBsmap\fR options. -.TP -\fB\-\-usage\fR -Print a brief message listing the \fBsmap\fR options. -.TP -\fB\-D

    #lvr*7%bs2 z=`z^X>=r0u&bs(<_`hbB+Z=-1V-wpPpS#4*edemZr@K=Aa3vlc!1PB3Hpxt_J)44G zagvx`&=R~8AxsHdKI&>yXSgxk-^AVGD%WVF;s7dlzirUtoh6_rueM!Z26(u5H~u8j z@mj()6|98dY4r56>9u=*Y%O=+PfU_M$9y|HXIm-oceJ`~`y3Kc)pj0Ud%aZ!T%U2} z{8=!m6>;U}e4C`Y{yM7x@3zL(d3oyX+*}{x*!7-xujzQ7f4=&gp zasmmD)6=YJnrvxH+D%ES)LCW?sAxu)|6@3qf;4Zovi4lH>BBb9-NO6g)rNTE+ViX3 zc8d{&e69OdzwLLW@n{Hm_vRAPvav}n@C$ik8e$#-@(o&G`PX~c`UD+OQcSLQ0HIRT zU14hixSQs)nl!`<7Z?8VqwG=f+ab;-^MpfT&82wxcOLAE0wNT~#4-yhAk_V||A1xZ zYTE?JqeRD%(S6R9>2L#NhN&NyLD3h@^d;krugX`@IGwO+_pS#Wl2aIJx}g(db=C=0 z!EeJE8iDP)G0jOXuMr_GvU~Rhv((*zV;nMr$aQC{%JtG!@b%%3nw+oagdCn%w`-Ha zq;vp`Xm%+ZNNOI^!CZ5oX`N?BsXZ&h6czkbd>cJgt(&N3D#tmtXvYzMVTJ+w4m$eu6^!EP#KHsv`ol6p6R8=#pzzJFu+DmB&>1s-exBdJ(w~aH|5YdXr*832tHV!2(SP6>O!WV7 zCj3j``0sR*|D%=YzsEEF9VPN_B7=#Z`QOj~7m>mAueziE!40vg@z3;-6!xp$VcRS$ z(Ywa>t_qdCSbSuRAhjJ4Eox&^Q}<<9CLW<_DVP*&WCXo^2=G{c6k+PaSS^8Y5Z*u* zF#E8;`^V*jMVCiMS&wD%@LzUn8;aW6*XPgP*PUZb%p;FJSJ$ph_h(ZTz((1xeEX|A zVjf(_KJ5Gfo&7l7j-}t=4C!@%Xw1j~ovTx;`zc%QA5k$jn=cnb9xl9Y_Sc6vLnxJ- z85fzI&(GcI;HfR(&wQUJLp9IaJonk&QnA=_CfVP;9~t|-GdwSEcbjzG>prz_de12? zTkBq8-_)Uw?bvu5pTnxAS3YmUTt3j(1lHbf5wEz|@Pl3yNPxs5uz3H-l48nXkK~Wlg4Te&*R|l z+aHvOaSSL+R~d`sruwfgxe4Iid|#>vnh)VW?VG}b{KnyiGJjF3VE+P&6yE^gn&v84 z^`%s!CL#KoruL#$T~t&AaR8-qm5lIV)99+F|79=Ofx5bN<<*pmNOJQVkwUugVTdsk zMSy(rnB-M}Ah<>!bnT=(UgU7Np{*g}7)|70Vi98{oGTrNukoq%sZg~9x@II$Xq6-i z8$&QiZBJ0TSAJDvVDR6OQaFlny?J};|DAX{+0XC`?%DaZHwxaSdzAN-2Om`W{=xNL z=o~05b`GluJ*q}Scbr|2y>1NIgy94i@_QwejTqfn(9BdIEm1Q{p?U(0-H`HmNV8hB z;*oKkl0BX?%QO#Lxu}?kRfmufjGax2JWJi| zPjZWE%ymiyu9w2xoXMGJb8pmGNGoDKF);8QcDofRLdt%wT(-kC?y~1fLZrm13Ru1X zhWxX?=w{5hy?zIn;tcOIV|BQ@ib{d9ei!60L3q;w$j&TGYtbYmMsjatmROiGpzL)M zw0tiuL9kq8-W(-xA0S+@yVaqfe|S`Etsf|*3g$flTr-r5oSF|&A|qX&ygE(RyaMS* z-O#*&QWe?|7sNO@*-yuGCT`EZ{Q%x?_=I{m8GNQG`;7%Vwra%COu!w19HA}mdxdTx z!TdS3oD0L~UPc);h^u}#9;&m`bJhl9!QV0M1&8(A<=BM4toi>RXYar)S{Q9t9^1C= zv2EM7ZQHhO+qUkpZQHid_azl{Ub>R%Ke2bs`HeLuvhV}KRJy`OUw2wiueh^87kE23 zNe7!(Pi>%~3KykuaQGyj$9>4@RtHL7n_GzpM-D!wO3*O->m>T~S2^BvAOWG6E{7H# zXPj~**lJDp^5dB-uSvj#y?wUF^V)nTEvZ^=^BXhVv2q8xXHPSp;}0mzIByF^ zu^{5tyl29XB7gL|_p*)USTZ{~OVf!6KS_7+EC8N#jf()8HsarxY$*khgWNFjhYiz= zF|7bP#!60HUDHU=j!U2ci*tEUxS)B`N`D`RwQkzfM;9K~_z=eANq>#Sb8i@PQyzJf zXoY!ad|2Xl(M(G!bm?4hT!pO~@kEE%o=%>8{;%*oz{}wwAu7N%5`j_JlKm440)jr_ zVnhVQar!f|^zDfyUS0q}6vksO8p6H~Cq(CD4SiHfvma!{Spqt-pqSI=A&>9@z>qHW zxiNYRgm45jP@jQ_+2Du0hGyvgFb%pn;F$7}ki`ncfxo-M2-{%d!?3}!2KA=(K=UMp?c>k>j{8$}7SngLKl>!2H zI?7BT2Rk1@5&^eUi!~K8mG=ckBmA{)wP&?FhqMGjeS`qnoe}^h_-ES3w=`MiHCeAG zb&rOb>DkTGrjS7gK}tjb@KmIQOiOawGXUt75f zur6^1fcTCiV?+GfBVNJw&odm_Y-VgwARFZIxWC9AS*y@NCib@P$edcOdb}$ux0);? zU^zt7vvKzm^H|V;jkz!;fxBrWw|T$<+T(vZj5j+?aj`BZm9UR`f$W!JlUuXUs&@JW zC@eMDR7wfr*L8F+ezk9%?jG2D7c#{tQso!g8}Zkzg*T18MINh3d_v-szvzf}aDes! zSt8v3UKnXs%^}7kt4*n@%IALV(6%K#y{U{dEMh(9w8X#udHLu{+v#{O(^cuGnHK!Y&;h7Qb@fc@9BM4^^8w_-=dQ z<9_VD)+x_>e8m__4`#yMM8)duwo^n}!`FoAN^iow0MrSMAyILfj zqtLD~g@>uf{4I12t~3Oyb?@I^#DdYPnPMb2j$sTe!1hN?&8dI9yD0GVD61Jd9@X3_ ztAex+cvElr@qEel-ySDu#Q7GoC}I~v(>&FVm&BPVYA?tMdv|qSUlt|lcqazui+Dl2 z03e&L4!V@q8}NL12q=mJZ7G6Dj13?<;e14W4aw$+ku=E>iL3S|n{E6JaUtx!|7!(- zcJ&3lEprHrwSMw(r{HZtPH*KLK~G6^Dp3VxYLo|yMyFo#Q36M`w-KC^U>h_aP0fXM zOl5?QblKyeev1DO>e22ohnR%ng2Repxj;Y;xp*tKF%(ENEMqxZ%WiDxDGr4&QWP&8 zBR7zD9pwmB8VY-%^I&1CH&7-4uuEfUb7Sbpktd8*TG(ZU2K+ma^NM{y!KB*4ypS4t zppoz(*lfGIxkk8uxT=;c2o|hpg^zl|nrfxBg;nK1ezzkl6)DM3>+wB7(^0!Zu=5Ha z(3-%TItMPUG))i?|M+9+LYm`4TwhRlDF{^pItFDk?2nuF`#K%;!uWCe+ zp@K599$dUMV_;V6LOZ&3%F!}6Yn63lL(LQ+cxNGi7?RuzX@F9zg<7IR)&nC>hqYMI zpU&wQ0YJ2OfW~;Kk}`Z`eNc;(cw>0}7OPm>v0w`g1oKwu!tlyzYL>{bSEKuU!~1#_ z%mSI=jq(0+CTEyLQw?}X0)2*i9!*bixnKK68L=Fl56;-ASf(mhmtrq|YBZrg{+Syh zG2u)x33A%x&9<;RsaN{Vj*D0jYLuHCQR6YDouF(5UTF`=zx4k;Acb_b z$LkgXfOxfo{MMzB)2sC9u+b?X%sWH~HkVbz6p|oy<2epKivT~)i#Gn}o6&Ps>*5=CzdYazpeqj>6kBPtSKXHN?Zsgo0hMCM%N zm^YP4F91hc9g?w>vggOlIuEE!LaCtv~@V>$?Jpz7@-eZH+*9aZ48eC zHlg#yQ%f?JEig`c#p~YG)W&drW1A$PxXnIX5uSbHU7%e;1^{%3g~Jh#yHl?3T(W;f zaoEk!Q8hP>n*2`>D{xAzpxQfL2mkL|c5}12`l%9HQF~OfJ*^nGygWbg4pLCuCbzT> zd#93O86B6@rFDlqkOg}s`iI~kxg~Gzn96QLu8Ugq9@t{kGMr>q8Shfz`*CbrhCtfs zyBKw@$b6f5c;o!97-3Ms89=FZYk>vH9|R+8nF@LU+0d*4dSJ4fn#-OQ?{(O&y?6p6 zUU5%&g?Db;U%FL;C4#{aq*WNh==imSh?Zhou4b$8qp?~n7A3>T4W~D-OF289K98(6 zJnte&q+I6>Ds=H^V)u-xQ;XEa74P2r`JH=OS=z+l-Z&c>{|m+*7o@e>>9n5(q#^lo z!2(-6nQs!}@;t+^gP}g&`wr@pfn2SibfIpzcnW!Z2Th<`Max(FoD24cgZLcHKXj=T ztg!o?Mccv<@%;P5|QMfB6rXUBBGw_9bi!cdE@=wT%7%3`7rEE{XatsR1FsFoa>$;u1ll)v=7S zo9mh{JM4`DM~A_!Q5=EKIs6GKNJS>Id5rJhwuZt`$76I~B`L85&{RtSmjJR4VY6d9 zY?iVP?x<&T_dR{j`30DgvoiWmiTc0h*#ANvurbm9_e9O`Kk@(nUy1tvNFFdT{D+|P z|4kk+G5klCR{TGi3~DrG;7PoE5ig!{4r0B(FP~fmyxm=7F{P4p zutK$I*UaL1FJE=Za4=haCM80ealZ2LRDOJzTGjbIL8cB)7%-*1@TJQ~aIPwncxr#~ z9YVb+RNmj?`~9ry`F*^HE$99Iw8i;-P5vEq$z{sO$r>`RJ+`jukS@kSSF){gvBRg2 z@K-RX%X00pi=6rKcRLld{1s}@@tRaD9T=YO#k`o@Z~b>)%JNgIF<^o><)sAQ_ChI# z9MJN$?AcZ8iu%)nE9!M8Ufc0IPs`FfMyydfRMGbL{GtFW4P9aa^f4`~)tg1rl|u2~ zHqJ3p!eH)I-0HPCw$NHJ<4?rCt9EFGusCMw`-<*>O=v^?ePPw+cRTa!-X!;xtqu(6 zH3xL#ZCI^MW@XVfgb*M_*7wG>(wQ(li`!I*K2d_;V8WJH zgN5cVoDGbKmlqRf7}=Ki#<%bC?z2$KIiKrUi(K$FpUo<5Afv=1_to>Gq1Ki%V6gUC zeO?qolKB;r*lQKL)Klcw*OXUtTZp~+qQj3pEYkrnAz7wU_x8}SRGojk7}S$L zCcDVaUln1T+Ny$bY<$!dM70`9{6_{zA&}i@jXd%o^WQZ3HG z7$Som&T)5Nn27PooH({z##r$i#fzb%y8)7NQD7MG2m%%Z&(2=mU~M?jr38ew=Q-E! zd%6S`cCwYTumPukieyN4-p=+?icT%-Vtk+B1QA0*64KAAHvL)|M12|qubE@-INm;> z7BP|9o+r%c;{|KU5ZY5dU$6Uwu|ubj>G1~buXAS)z?eUpP}@TF zr(Lx)RlTpesSBZ0AUo@m0EpA?0jK>p^N(7$ZAz^KcEet4Kzb&%%DyUodLE&xnkHn{ z0^gS2srg5sRIJOT*Eig^(H3v>N;H>1)mI9VwBZy>{N$gd*}rDC%Y)IyssOkUB3rD< zZ1!~Sy61Sby0bm97>5sz+f@xnRymMyBXTYp+sxNo1kh)aR^&@wQ|`|+o_%{MAsE~? zuzfjfJsf46dX_iuXiCz5Ia&~UX;(%USKcq1>GAz~Gcy3kV@B*hm+q{@ zrw#8dRWGP6c;%>B1AiMEyZx=2`1qLdg02?)baY^n4v!~=Ref=R6-KR91e`PibRrt6 zqAqteT&IkD1x;w)wyUhA?U7wpz;hm6 zNq~ujP1Bs|hs9C@x#6!P2c?*|dScec<$<05>Ywf{YODfqknq_Cmr)<5mz`Sl5JgYK zdH!o_WWHJY8Ut520db+?n4}$_-7LcDet{3y#I2$!;nk;QY1 zL<~qMLsn%BI*cFC1!IflA>9lAsd;4aCu|q2Ca=V~t|VZdWzSQ6i)lPJNuNNC!IwE9R!rSkEr?6QwMau94Xc0@n$JsL^?uEEoGG6c%%R* zm&Uro;*dH1y5UIhJtYz8m3*)s(ROEiw{s59k}KvS=JIR6rPoM6`Y zU6@Q5pWoN{DgM%V1NI^>iQ$oBnqt^w(5TxQCP0T)arrpftaJ zcu6+fUa@j~lKj(#kJ<;KcqHx-%9!JtkiwQn+EK!dHiQ6VpyE-NeDamP4Q=lHMt;&t z6NQ}hv@&nhO-LOxcOXxxQmt}um{qaa?PFR#Il;qNU*q)(aYP@L!S-?vIBw#*{Ko8y z2<&b(KrS97xt64PTV8bSQv)!^12Fe2^nFFTbCL(VBJJMa?wScTJP>WsfUcLRj8SGg zIcX**;@6IPZ70i25B&TZ%GqgST!a~UbeV4-V?+kWRfS*~;wju<;jY?A0D-YK47M265m;I<<0j3muQ&1)3RIV}#oc4DN zfnl8DVxjI&A*cJvCn|KgA37Dxlxq@sqmHiX&SORcX-UbN|r8l@u>K-UvW9iq7H$~wcPz)A|Ef{4Qs;;P>H*>BQ z;_d9ow`e=|{1WDuu@$t)42T=Ob!xd`*B49cH(qTJ69%T(`{d+;V@+Gq^R?IV8FRgq zADqgTJrcb-rS}+*8zWyb8vE}xPGI+?qR@_r zhyhMVPcf51Nc$F5De)7K+D7Tuxq4icw%$>4qyu{dn{(h*f&d6NM;S)q2=W)$i@^>x zuFnYUBcN;qWYRBRpXqr(`fY2fIh5VS$pep8l2BWbv+YmIQ`fWM+pb+81(|14(;~ub@9BD)*&;Ua-9As*99zvPO2@T?1PS;xb9ON5tiZod1fiyxS6+O+u zmheG6vw!TQrr0ej=NjKX9a~6+5UQ**z#ol%?CfA^A#kN*)CoF1a0?gy-Gm!n}Irl$8~NcDqt);-zFm<@Zpr7ZtrwWc^aCtREz60f*`-UWDc;j{AIYWe-(D)yNxD zbEz2Hyh+*!pVE5x;dJeSx{$Py&1S0k2xfEiAk$`ZK8;pL*ev35;3qs%7Ggg7F zYni{wr2y^aJoIy>0`R_ZgvdnYhf9>BfZf5|w_|s?`Z-ZWi3y)s_Jv?b%wFP?4q>@@ z5cc|E4Qe!i+~2gjvh;frJ`eNYzzjOc-g20P>`O|4Y)g{+Pa^twU;l@(3249 ztQBFvN>q_W4*@9OH?rtk{~EhO!IzmRi}hOAhF=O& zHgj~=sKhfQPxVxwlVl<=iJfNEYF4InPsU6TBc!y;cTVkF2EYhamf^2u8BThFLNf2- zz`1vaay)%9kBuHcb$I?yqevB{b61A?8(D1qRMryu^{(3gfwpq({e6=C=HaRfp_!i` zrruXvW*!04+BhlSQ(&a(_6FE0Giq^7JpH-px*I$rgLzOv;&4ij#6k;O>T`A!3~JAAV(!Sw$A!^|JtF}^H=}IU8=ny&RHLU- z!etJ;FtiU2_+yo!KGazW$mW%Lq?wH*R_ly`TJ~g@5#ad_m<1neZn{?fbxP`FgYGGF zYRpwmeB!HWv&wt9jn3GAX1Af@_cg<=nLAbutX*t;S4jS^UYmZo!ZR}Cli@Uwcp^WS zF98@82cpAYk~m(3D^5}hJK@#hKmbbdqiDj%KEr&`cHOIyRB{TUwYxhrqDZidYk#@X zhD9(49G#a`adY@Sdt3eN#O5<{NE8a#BQ|+W$>SVA?kHWtL`d9O1)4bvH#$dVd|N=S z7?UvVg*9CvL^O@s?E~e-iAz(TG0TgaQfEMaZ8)H-(4mlu`%D;L({H!=%d?=SAil>QdruVL6 z_F&%!8;+F}-%f$%8QY9PhT~J`SS(~qQ;OWnLCZ^j5GMhjY{yvLiRZl=5F!f5bNgc} z6IQv^hP^QlWnpuEf5cOGTg|cYzS(3&nx~iZ_u*=?=@-Zr@9ywFN9F$#UH@xTW?=gt zQThME4fxLn_}^rJ{}-wGKU9JLYij<#^Z)(3y~j~Q6*Xmp_7%FdCw6=9z2F^~h($I$ zQoD)(N@Qc%W?4LTR*R|XbO_}U7biz-L>CscmM3PtdZVcqcjp884Rq2w-MOi?@FF6H zajU#N%)a$LoP%umh5VgS6`PIAl`F@N`khiu+8h;Q!&fRGEu~MCVBp~8dH9=; zOzAE#ButquEElULwz@f8d6TuSH98yXu0c-8;_c4O*ZE__MGR#^j%rY@X?ua~n$D0e zvPi$x(t=xDxmTHNV85JAvvQ*aIT#(bUz$V1=Jd*A21*AzV-u#VkeXdZ@4Q^oA(LJh ztP?zsKJ7W*Y>SRH0t$V28S>jsje&fRQRdRJ^W+!!1e6as6dg^7qMgr3;9r~C_UZ!^)>2sB^t5YQ5yrJp12B#&*dsn%i@ zFin)QBL=E%mx8G!DNgITLZ8;l8K za0#z;GEg$r++uyY(uD`Umqm2%NCyVJ@ZfZsvoYVmbJh!hPYHqFRg`HL=YgWRy>AYS zXxZkS=WXph|mOcC=aQ}N?d1dD!yiyt2)lhO?M7-AEjy1qTW^FX}?E{ zO&7X!B}D$=8KdSSA)<1@1SgoZ$IZz;W`?8Oh@4^W&G zeWZQ!$8p}@k7GUF@5{U&)t{dCi?H9f)3o28Rj=Ro1FKVFW>A=)`@isiUxX(Y^?&)= zW=e=@L9=r{m(#UwmU~~-T$bSo87L{IVCd~%a>lY8*YW~!?qLu41*fh@0rSS4&Kq0>me$Fogy{=h;pxiGaKXRx^9nVJrX(Q(HemW_Y`>~4sc|9q=Jn|+ph>W zl1bv*J7CkpGbu(G8;P9zM<4;aue4lNT4cRY+out-FUs@nE?rlPuJ;uR@LS|9eIukN zIWQ7A_HPOkTI$mB5fTPz^(Z4Hd6M<2F8)SpCk=Xe*vm4XOzjyin9P2z6k*}%&zzgS&DzL%j0^d*{37pLVOjIjBs!2 zfhfxdc7J#;PVwsMde2S+_(`b1V^r43b;XDE2Z%;JwV6VwDq|%0La+y?ot@h*hOv|| ztXGr)8uwvXMyYo#SK6Nb2n%kk2|}w@0WhhJ8}v;D#;Z+`C@RZ^zq4^EU~9rj#0MnNVI$ z+547b*`$h-BIH6*p#&o;@4bDJ9zft=@pgISlZ5LqJ&54e~c9UlLyri#-gv|Ac72rk$r>QBz$h||?T znG(3yGlc*9gd2C3L(+nTG3DYq9VZd8XEP4zNQVlVWTS+nNDS?4;xL1RI^&T3IRcch z#onaJ7D0`O5l>vOPKL_ZH;t;~f!=A+gC3GVPRv!hikCxhD_Y^Qzw-whZUES(;Pk&c zaFwMEw2Q&8Ff+bXIX#^m;kp!s_;+&cTI0Sh*L&#;bY_;G23B|G-%7tZ&FXW-!>?H= z0d>9SG?Co8Y?g@G!iSA9DBfh`3z!{nGHMOcNH%kGZlDX2$B&Ep>)0J012t}r)*29k zIhmLgGf3`25LAWJ^pak2?YO}9Yylx?crc^Odp6L#Kv28mU>?DPKHwbrx!-N&^J#QS zmmscO0E+wLb+66_8=&CoG4fUMP>Os5-JiK%+3^ce)-H+P8BmE#W;pc(qEl;W) z9T}ZO`{bBUIwG8W24#sBKuHo5dCsT=cS`kfO^7RH$w4H3LKO+2R3Y&(MQa(cAc z*u%;cik^-HTn84l9?!ohad>d6ZsVd_7gTlE3S5T7 z7|+&Y^n{^7q_Y(|tQdRcXk>3m%Sv%<A@t)K5!d$!5iYx-D6xZfJZb)6aK=Xa1;e{N6W9=Xk zmcY<-#DbqyBC~>mEEbHW){9}2MmRWB?<$z2R&K!=zFonZW{9CEIKOlD?rS2GW&!Ad z?reMZ5WBe_XXes7w3gG-KoP`Ek0`>N<@NVDKwss z>kDd-W?7vD1Zsd56lxi+HqQpQm*Yg!1Ct&;G4xbmaMCy}Z+PEZn7*Xz9039cWh%Vl z_;kso7ag`4MF7nV;^MeP1#Cx1ylLyVrdi+luZyNxzsJYhul_O*MnJUsq_3Gl2S(W6 z-{rDA{N^@$9^?dUZey%bq6z?bnJa=MoAn%HN0a+t&1=Og@Q%&Hxx4Ql2R0){dW2@KLPHZ-0(t_+}fy?yIQK>Dx!Of-1#prvAH ze~)my6dv|*X~2cBe9y@`(~|Zh%atAU8|`V^u&b;LBY$Pg58szae5EVwbcu~JJUd%b z3+SOL(7jXyWC_Q&6OW5=@z@^qW)QiUhG_&Yq{yr1f?%58!#!JWht%Q4Ewzi*24E8J z<_FXBuD4!)z9pZ(F1I_EMNk)N9-u`~bIrV<+zxV#TfJ?x^H*7eJlJT8QW! zw9;T%7v3#HSsk}RD{2>~afKbJpH(TzGj6^zzsU-gO@20faS;6;khJs|3JD-~#_Uup znL5A(I$6@a6@Tv4a`C$NCg8WHI`i|ux_hCkS5o`NUm+AWJtEV<;F$KVH6AaPv*x}=n*r-lUZQaGa zU3&ztJa<=?`|!Xux#-FIAW4b{#E*=P-kW=8;%_60(YYAS4lTPh9-(e|Ppz~{U@inc z?JDX57DTAoEBuEi26m31(1x`?^93q}K-aB7c{#f7ZD2EkJXQz$YCT>sP2#QkRW7>3 z#<$-m;`q{|9dI8d6d9*T zbsKc5(!^zfI_p_v%$2*x^npfh6)$=x2BbixGOY+OSn@USFbCWZd~c^pobsg>x3$xU zuTPCtvf`Rl?y9Z+Y46AaMWD4Shya$^1(7|C0Ox)jM9!v>VJm1_bC+oC#REcHOZ<%s z3KBy$EhWmd6`~^!F@|u__}ft7K83r$AzqNemC9SE`<3Oo@j#ok|; z9z|yMdc^UuTC0YY25pW+U6t%bx~tf`*sA|%OsR;lR66CFrrOTK!}lnk~pKX{7dLbWdMvS4LbS(eS8e9h%&^ zfKbDzA!meAz9iWBIYha2IzJdN`UMbV@NJ~(uVR_n;^#_i;_w5vqu(CE03_IM&7?>H zV74rIeTiB}?`uK*>-}e&-}m`xUeCut8~8Ah(SYFCw9*IG(H-<>wGPJ$I4B8@Nh~vD zKrb*$Fpj~33sGzSl?eeB+ho@NCX|!2eAj@ZZk!nf}qi|Gf`j`k!F&|Nl?tOsxO81Yr8F8v_3an_IqUZ;?>AS~{V|GGdFT8giBA?)I(zmsynk%bAx8N9W?J z{JJc!@=aq)Dob}!ak2Ebaa}LeLZpO>Dx{-<$XCrO4PPhJwL_q>4$*km^cMr4*RnpS z`R51m=j!{Z?3+Q;gG)n0MNnM3o6mN$AhY$P3c()RE-V#^H8k};MHjwi_v@O^m$O-! zh7w-u$i>&g7?tez;PTe@_1&3W$pU=#{s%m~&ZWidPvvv^HFSjfYiaq@f zg=O$KJNv#|P)B2|L9D{J=gdLCYO3C}$s+7rp3?u&%K6KE%2YX)l@)YQ$X5+p``O|= zbF%&G`R~{L=j{)(#)gW(TrS-7zt@v=|Fo+Q+p9jN#mjohdh^vm6F%26pO2^->URtu zU}%cL`FKWoAzN~hUJ*YIg{lW@3LcOnD;cz3duduAK60T1C-$7U^`jm6m6{CiEE+^^ zfxbJ==xYPc0Dt7Uby}mg+n0htuTYI-AS_nH{y1ni|u=Bo34OoNs%JFo!V-v%taCCLX|$ z3(5oO0KvbK_Q0-6_F`oxuvB*2j7NlBJR#ht4Jg^8qYQk^xw36sFJfbJl!u`NTD~q< z_>1TUc9A%rQgVpjMJ*becGDCS8GndP;0|JItvp{~2vdyKmOs$+uJz7&8u{J$H{$mU z#3CFlS&hJi`XR%{Q5Qo}*;~x)KMT&;7V%>$vx!h<{9!Zt?%gbBrhRvBmp}1tn3k9K=sNK99m8M#+O-;pfZo;{LYr}zeBBCd#W%fN z&Jo@ybBTK8faj=KFn0ul!oj9AbwbyKN)5%vAvypE`KF1Qh}^|%w8QWA9#|u#;0#T2 z>({7jvMKA^II(GXHaeFjH9TgPpMZS*F5u~=-UP=&1}}}5tX(+Z0v_Bq&`vnV6v%m6 zNO>`U$mIHc>fh<+K-$D_cV#|{uj?Lt5qoNlcah23L8D5Wc8E62pATw+*wNR~tTPab zPINW};^gvfGKPxscWlVCh_2+>aFUH)H%=VKeST=O16UZo3Q5{{u_y!8ilI~D0@UJ? zlY&V_yz?&SrRkF7i3P3oIM*4uJ_?X_ZMXx7#l^|OsYBBN-wfK0+5!=##3|!a&n*_R z)5!YUZ<&y@R+1aaIw9pw5UJP$`k))&+x20Ld)a@>cnU7pa5s(@Z8zwY9Y-L2Y_!Q4 zrQj3%7x&}>gXm}vNlJjjX{_$tZT?1GkPyusp#wJ`iKAP`rhT(Y!OnW50Ki72BLMx~ zg+J^#r`Lm7BVBr1Eu2u^8YDOsqW>%zPNrrsVQXBa;s1|MKo5N{ zuEHZ*$@T@*Wew%9-*n(Da`C%rO%o>24=en4BWecYgVwQ=X62p4S}i0GfjsST)E)Lk z|MZZT+3O)|0j^%l47ethRxGQX#R~gic7cCv|7fV{Pf`eiSQ$>0_}*U*5NoRnBnrom z6w%q=Wuh1^;(?EC9deg0IqOY+T#@#?@6CNAf0vlA-=hC6RBK@~)mLwba%WCZB#q~u z4EI)_>tEFfc}*urAmpe=BMD)ImQ$>O*<|tYrEz}Nq(tlIK79%p*bCHfj4yk(22O0$ z7Mc~h=9cVAd*Df{;oA0J>IE=@?4vp#W;7mAIZV5>sX;s?p^ z?k6cM8;W4(-VR0u)GI9y&hq{IHBTD)ot$87P=?m7ux9WI0iHOyZqQ%{#2iw%T5Qwa zs5~CY|H|mqn?qMI!mvMGR2TD60Xm#&7-bbkflk;~fJyyi*_u_~;pUThtucV{TeaU~ z!!65p%Iql-zD1fbFMAe zpdmEYF!Zy{13gfId-A6pR%qD=q&)f%$XzTQ$&powB2^xxUOg%3Z()-d==7C~E?{)Q zb{qCp{wku01Z~0BoNvW7b=YF21o+xUydocvw}Qo010o=~cC)DCSs)fUwu3)Xl6}UE zIdyuL`)3phRrRytO7{Ye?B~$By}rbBC2`o~kID{uAJ3A_9VW~t%#!+DfU}}74u1aI zg#B%h5EU>nL6&++ozl=S+`}`FlH1g{2>WK`i}6h0GEmcoDae8h3>?{0?pum;C^E|V zSO5i3{zU3hnN`>6c6x(~gZvKn)RN625sHmDWB7d4DaBg~(x3x%4Um@gd14AouVjkZ z{GWqxXdDMSZ{HTj3ENOQ4aTFlMBU&4f5*dgW%XnQDqFQw>Sfj}oseXb@{oapvR0H7 zCmH<=O0`YVY2Ps*5&xFKYV(Wste7&c7axCInU{6zKB9 z;1ZO)MhJ}n#b72Dn?sINZb3MG;o7ajMoA(Lsw1ZEo_wq%;}+NL72^8&kbi#|z-x{q z;M*<@qas4)Yk7?D#l=hEE@I4WBcynEg3vWwZMzCpRh@gCZZwA1Sd>k2v8bsC@<_#x zOzoV^3l4A_8@N+OnG>BG4xS$Yay8quMXdL$$}w5Yn?S%)=oX8wPpf_T%P^w)( z;QJYu(sJO7^U24?lO*t})+81h<433J@RqD<>Zp0G6twTFn34s%SxhXf%KnH~mT{9X zH-yMlC9PyG45yIan?~^5TG7vF*dM{ zOaYLHz%P*^Kvn;NPS22+&1&<;9^JeA1A_ci7(F&#!3`>PL&vOa3{Xu`>$M9~4CKiV zefCjFVJ47?sMiv_NF9)_9kOJk?Tu0X(dWSk^z zh-ma6Y@GSB=a%4PSQl4F5kj3c%hjn9A6j)U7(%$f-G*;4i7>X7gqy3YaDETsg^hU7 zcl`&DK`05~A_Krw3|1lS>;cTEE|!;$%-H+q!4h?q*o8c(7ms$P*2?*lw2YX*6W6@5 zNmE=Wv~^<1L}Tb{@!g#Rmcuu>G;|}=@SQ{~B>74M+##z1A3%}`7LWt_ggH@tW&S4i z)Fvxz69}&8ePcw^;+gS$AS}Bkw+yAhCbZCaM9#Rxv*OqEcwG*HzSp~<^Nd%jz7g>y zae1+9m!dp35}Qk5_I~e7Z;`I$DR{Qn7d_4A1bJ<-1GIIh)SAYqTPbDXxqQe7m>MCs z*puUr8*Zwc12N^9uS5de4pNE8bDk3HK~1j8liD{O z0Cu@3I)JIiK<8VxqE#L|w|U>}XaEDe0IkofP-haFnEC=LV_u}ca`5NGqe+k3d+YQU zvQgLiyk|UoL1{go$djBh+&l~+x;h9f?_Y&f-72~(pe#9JbneWYNDiwmEDt_X8?qHw3TLM|yWip*&$H(^IB8eI+} zD(5$O_I@=qS*deh^N$ELOCI^p6oe-?6b;E4hvIld7o3rfuH*2pSjORhLhj z=W*0yxh42=X~K}xKNLuLhzdCGUdJOeux`ZN?x+q9&U#LoxU%ZREBcxuCOjlG)cfct zmIP@Kr8|Q&ukV4%SH$I6ZA}mSWU4*dS@Pb2Pw-avkp2geZ_+Xs6~6S)xKL!u%ziSq z!dW9$V$~GtS7P+8kyY2Q5D9=>PAH3)@gnPm83#K6zdAu|1y;jCTGaM1pT}sKPNZuZ zr1|BpsfOR5fX_tv6{pb5B1OaHB1I(FR4dR-iu^_bveW_sVblqwdGqfn#{QaWshGa4P(muiVhLpILfl1UGKldbPX{>GjrVS$&zTLyv> zO3_@anPIzrNqHQ2d3C$(M={HuCPpTgHZ{Ft%iO!BT3DW}E?*Qv=w@#Z|IGY2&rESN zKRZg@Wzfw@+$RiLq+!l!jCVRo43n4aC-=GMoUuaZa5ZHg37t>|*Q!nq-ONN&82ioY z&YY3&Y%;}wfq}@Y;e1B}ZLu-bSly@#CG^h)xNc%!t01xqDWth}oVj+b4sUB_s93is z%idZg*B+8sC)ei|p4C^?ZeV&nFfyzfuz9YlZPI3_2eTNhz*pLFw!^4F> zK~DKZ8+mG`-d$_a?7VG0S!KDTP*RlzuW5v>OpnprBUjaH8a-9B4DmLd=>)~0CRq1=D_r7|cbu|0BVLRfV>1_yll4=UMH{Y%ZCt!Yo0whM!d`~?fr z+mA@+ynA(Q-z(=p*?uAw_`i@hExng9ReSqV|g7M0o8Z~VjL(~}62q*5Xkr~Mjp)S^CuNjYP zbCK14;ywB`Hu2&d9jx4u;N?D&$p;_v+@nT5>8lr?x;Iey7(>W!`|7mdwoMpm zB0w%Yt6wqTSN^$5;L0^RS8-f>4?2~fGfc^Ua3jZ62MJo&o{hMn9 zYm%eJXEwy8(JdC`_jB{J*=2Y8gI|Y1!T+DjqyJLo{0HU1%tFufKgy&3Rw?}(ZTSBx zkN&rc0_OkVOa2#Vg!%tU@|dH^ll1S@qQ=lYz<1CzwbFgg8-4_{#*sgTL}{rZTbp2u zHWu6iT^&eW;tSA~qv6V*QY+$5)78{Z#7+Ox6O3zv8#j88kwF8~qTX%KjfUzS>f`U- zt*6`l$-#7_-0VT#v+Z+LRg|2bqlsFry(mUYXJ-$@?jBXGasSeUx_Ys;&NVHsZI=v> zx8w75$ef4<6lk4}4J|Jo*Kc%_pq1)~ncMS|JZh~n4!&%hGGRyZeGmRfCvF*uNI{9? zoBJ-TkW*7mFM&%zb;{fL^Qa704K*~hSzlS(VpK>xD_*5$oLt$fv_Z{q*kvtl)@s-d zy+(m_L3V7|9|Rl|9y463)O$k#}%C)f2}vNXS;wqPOx@idD?!mt`kNO%~ z5$=h$?dd0ZbjADjJNx!^mc6aoo}c3M6~HzI^i>aDkA(m-mGM~*8Ou# zn=S-ZHT#>14ySfGD4tjQyI5-I>tr5T>hX+eTqg?9FmVj~!tl~ib1jI9a4EJ$MC<)_ zWUxG+UF)_tQ;TsbXZorcJZZ}mK?dhAUtH-ld9G+6hfTMxaeKIZhL>U-<|4;67Mmt6 zX*()7+r)e3YXdi>*Ts#(`s~WWE)hQrB}LoiL;n~4@5m6gX+sP;5l91sKyCNZb|Vtm z4x)aGkt5-W>1B1$MiycA1+ zgC^xBP&Y+Ud{d7T>SIjNS0w)$dF|tp?G~2a*>=_^UzP)eVpq9oyBBkj?Yc0JE zv3i7^AA0++LwQlQt+aw9h1@r=2F7<&jVDZRB6aO+C)_-MQ;I7SkVVtcQ6dDfl!FE( zhn&O7x+Nq_f$3qY3>T1<%xnsH+*!wF?WhowKto_Y+!${>jVD@vsZR{%O|y9FZKV7g zlyqQZ&yxW%Mi!RMGD)0OPr71${0yXFiLW&gx+H+qq>-ebLd&w%5H);?@*5i=EgBH= zH8=C-w0}lzd(6+Eqmo8@D=e6Rm*9d^+Q%JT`x1&^jwJGBc{Oiqre=vaAbLd9kQbj7r`L37EHuG%G6^I%RfwY`$|-h0$p z;1I*IDR4J)a2=Juufdc95|DyO+;TnYN>Pfov9It4&`fd3CM*#(c~1LT@2z||q!{Rf z4)P%ZV7mq*5ei@RUV4Fd*whY*!?8b39MS7J6GCCWL{V(d)2{-ax@sqgWxDbC-!i)( zWI~}YH9z0qS3BR#ULV;FO1%z#RErp>B4dw0fF(J9zCv;rL&^N>h61BcXST@vp7rH3 z6$A1(bgK6C0`UH9MI~Emz;&=98>F=BOWz0GF1RJ{b4fa?+2j^R5)3t4eA&q!tV!CvTdP?sVP$&8RRBO3ErHix<} zhl#T=he|8palt(pj^56g_&(|ahaNa~J__zMl1YA&Y2q^LiqHZrHids}Wl2WFrQdF} zTiJTzIPf2FJohv-aX3juzNc;;nrp8vLU=Z&ZX?%HySaXi$@mW(tBP5R4Vl9h6tGyb zGSFonlcMl2{F}}}*P!?;7Lc(r1JpjS8Hij#%qh>|kO_5sQDZLiYX0f?&HGQ??%`WH z6;kY?pM=Y1_7K+qP}nHfq|oZQHhOTQ#j+-RG>m-W}Z$-5wbfLD zbrC>n5E;PE?yu~O>GH}Dz*bRQBLPjl089$_!U+fQ0fJ2%KbV4>NwtInkunWBvuacn zluM3P;SWUOEV}Z~W5I|BC(Mrqj*t%LxV#JDxw%`X%$lBUwb0UV1oFvJ-c}wqPCZpl zCr5zZTbYG2hQvSz?pap70c5)Tlb^aJ1J05YerUT-FMvXr&dJ6-H7pA|u*X`!2zo}H zknN8SfGC3$Jx`XatwG)hIc^yK1W!LZ@k1N{tVj+EsDnh3?dY6r6hMj>%~EoA=wmxf zoSV^Uy5pxG7v4K!GCvQ6JG8xghbX-A?LNb`3Z=XprWZW)@@%3wpD_=g=-)MrFEqVm zrPwJXgmxmuX;2{P_VZfg&i}9Ke>r#O|1s6a_p!z9@AG>*me=<_$N&5HXYSX-y)Oin zlmPO})gUY#ZA;y^rK+Lv-_x8<;!&!#V3Dg;Fyi)hwb$+S4r&BLBM`FMBCm)4A^CcE zjsOSV$icl`5{Q%lR^0e%IPP^0tN=+RXZfqyx?Y%(_V6uT&egoHx&LqYB;o|HurY?k znsx~~Jf{)}rO4r7iCo*N0ts8?^SgB*I#9F@~fd8Mls z7TUX)X)GD2kyLTAb1SfX4+fMhOYW(aelb9T8dDcRbYS&Zn&;R+k7B5CryvK*{pU5yxY^%HpDl zLIPO{euXYpGjLG)aaZWDDp7)&toOx)_zsfm+!e)lo(_Rq#5Q%N9#WM_uP2iYtW)Ay z<3M+ohvo|=ay)|IFOKLkWu%WE)w$v|5J4Fq-_^UEquBcvMu}54U}~Y;x(UDny~*Ps z?+gntK78Qv7miq_XU%MQV8|wml1lO$c~22dnwNO(AH%dVu8sB0Nf+M5pr60pFH=oE zBZ6}0Danlx>;eAmX-NX>{X;1rp+FhOd%xM4@COuen^x|*gpT5W!u*C~^-{r+d{%7m zw6L*Up8vFHl3a-z<88z3(hi5)lV?-NIPBg5En5V1%Rm*u0e-9nu`HKfTs^Np+v9V| zV8*=H4<(b(;iWfjx0RvBP2d?yWl!_~m~OEj1+!t6H;7l)$qo#D>W`j^4T8V(ZZN#4 z2B#4~3G^d8=zsco=nCt;3@I;f#oxJv1FPT%5%7W}9Qt6zOIeHkb=FqTm%plqq5!L@ z;I12Ub^M+X;olB)QbpQ_j8*}BPF+M8+0sMoBoMJh<|~<)vc^{60bGadPlg z2l{8Y&O#1I2KOjXSteJO@hF{-BINP+(PCF-FGLP%eZtbHOt&Qt*g56)H?7v|Ar{b= zANH-n*`7TQEKcZEw=`j#*L~fbuAug)4$;Tt+znPw_jLx=7M3ctwYLCnPsxe?9XJcj z;^|Aq-BIDjT!+WCGm8zhTgc%v>%dsZ0JmdgPn|Ae_ING@r3tth=jshhw4oVD37PS3-R>sk8L zj{{hBG|;+SoPEuvBk{<@h;I~123e0wNrqjP5(8%SU%*7glCMu(hutR<%VREkv<4qQzP@1NepVlf=wtj}KO*bHuPT#Q6Mi$vtSssL_%N~7}} zkm?({8e9;a89`VBZ(12wn*RhTZnIoqUr&T>SvR+x%%|sA21mgD*YMS=9836xKvkSK4Z>Xg68i#uzK78SI#%ssb3n{kiT!s$K_#F)Gwe_*NF1} zDvgaTIMVHHakb6#m@&r~3zf9sAwZ zICzVjJ8q{#Yr@fklzgnACo`ubZtr`?+kCWDw36+Uyq8^_tT*$m@)88D;p+A;N=eJ+f7!Bi|;+f?jQD}8v53ynt|EvTZ67%_H~@=G4NpV-|yI%SBk8-o_cN$ znYhKfjUg=W%crqDzX#z?{JY|@2ScxZJ{Jj+-8cMC*B3VQo6(Ftvpy(E`{M8mN3Y@- z4tF(dMEp_h4J#Y5j?H!S)ukK{Yc>5B_p_L%5yjX$$cNSz$5T+_-Wut0cm}#m^l9j{ zS?2_wHYpswIUjUtHxMVB0A99dR61hItFDY5A1V;8)i8a}T8{0c;MjJ>M@{l)&1Y8X zzC56Rq{R>6iu4OX++i92`Lb-bvS&&7QCiJCDRJ7&jmX6OOVNybf0~v6A4Z7K*tx5x zyE5!f@_4F;gMA1D2(&nMWq~Jy?sn5brm-K(ZWq31sgbDHBUlpwU~GmJQl|L1*063f zlhdwZ!ZtL7N&)g9xxAN3Pg#ApqT1jRCeMq|M*|Iflc$w7HO#?zPLTIO{5g z01Ypv@{s7kawK2_U6|{OSXm!lSf1MrGz*&)-(|bPC7;jQvUGBu41MTE&!}Os$5sBiu4-s3j&QRaU=TA4Ewa zU>|ehTkYQoUy0N2P9bb0K##K89z7wI)tsG|Y!Mj>2W~u;Qe^;v*Lbt=Vl4WblwuSN zyStH$t|d~dAsiMg2h0=w!TVJCj|8NPO}D$(&LRT64$HGdjg(x_o@%C47I)hChfFU& zk_RPW3CxOQ0ScmlqcU1@i7K|dp(KP*j(FJB7t_Y@=)}+pGitnZw_h!65pU=cj^R{H zXJ6i633oW&iyaw6D^=yjkCQA}k!a2jsc0G=)p&_Njt~x@K)j48OA6jF^N}hw#A!ClD}GgDj?Aqv z8HX!IHp@%F=!KV%q5yn8$O*&8gOm5`k~~yj&&JlMmjm`A-xJXg!+sg`L#mj%_b9BH z2f#730^9%rRv326K(Bv=@TJ@W+Fz=L@O-g|T&0U=yOzh@8LL7TPuTYOGtq&`Y$G+A z(V0r&f~&3sTLE+5cL0j2t-LS=`LZTSqNbM@;aX46XeWK~rV1h;t$T6KJ2+^$g<&rm z*K)S1Qz#Y}btCA8K4%!MbQX<;zJ3aw)mHYiqsPT!4xm7JnZ+k}J8s_5L|42s^)j?0 z;y#K?IlJqq+8a~3hcU$@#hqn$?&Mg2SKB$wjxAYsrIL8hq*lsW?(dii324fVVh)Jj=>2hg%H<*lS>xpr8&H1{Z$C>t6 zE>*+Ca#Xilh}9ZgF6!P)fT7OqNZE?JkO&#cD=v$xT}u3U1?hlAuXYB0E!@2g^XW)i z_{BxY(^hn@LyBX}Gw%M7JB&g1*gm-hK(JDfR9rZP_4wM|uqA(co5^Gze`7oZ4}S!k=&rg)Pd?hndZNjw_;vjATyB#0qz2@;n6ae`)bSY_)?fJmOQrl^G-SADRzVLz1 z2eMux2Fss~`8xYyEpv6~ultJEs@pVOi?g*W?{aw0PxRN_X@}a*cvtH6l)W#7JsdtU z&$+KCI%IB}4SDuU4h`3d7Y$ejI?JabW0t8af7)0`os1zj4b_3VfnzV6CT$F_6BS}W z&rt`ZG4EnjAF|5Yj{L5OK7hpRKe4x`cyZv-O`}~YZSgUs&sIT))~VxzKc84M$qL+Q zuZueajC3rDfGzk(zJ_PK-FQ|P&(^4EhM=CvK#?ltAdrw#mmy`i9(`gt3JtJEI(c3t zPME#5gCFK|1-+*TR$R$&yDO;tgZJH|NMRM^(Ogm(b3%jxO5a>voQXZfMtXfXuTf*& zmMLy<-Ae`h&hKMRDAmL6J$&8TUiLdB%ckyodB?jS<)43-9fhZUAaDEqF9S>pP~Z7r znGGHoRl|{>g~A4%T9bA{`leL=(wr-mZwW5c@ES^hz_SWc3kA0)%_j3mDWOI2EYGZZZEnNcIlrbQo zqDy1ZoZ9pnfeL1|sKy3YF9fU&XVcmZaBe zVB%?4u69lKuXR#cr5{t>+aw{fQsn<2E+_&q5jw-sdMc88qNG#<7(i0~7CMU603g&t z1F%l+f44nl;$SoNuuP^+CmcU@Z_u$I)4m`?-RC%O1?}FxA6NK~haIS7*#y3$R@8(8Hznc@}CthI2s3CKXea`Xp@J<5Dxn*l*5?wh823?wZLyrJ-4Vj2`-maQt3O*E-7fBM?$K|ZZUkiyc zkgM0Hk5=Gn!*l=d=fq@iF9FzLxp0eG+!zBw`QW&e@H|3`kb23XUpOzY-;>RAs{$+H zEnrMBA|A;N=!8hE=umyX2(REZp(4nDAkZqPkz1tR-~BjpouDzm1)h~4p~aV z^dNywW#u4MJIE@Jz@p_8L>KA%B76nWUtPwiJBknWcVLCfs;`ABVBtT_K>I0V8kV$l zl2R`bn+PDtbY<4B?zIhOk6-+=I@;As$oHw!%I0@#UdG5I8)E67N+gB z?`#b86A;;|WY@uS9R<9HVoI$cbC9I=kj_g8=I{!FBbRI0l-EMVXLVffIY&QA!eU$# zPbU5mz_9_Kz9`5YqS@sLKSYyFaW)dADpcL`k|tnI#GwUlW%MBtgV{w`-)eV1!U;hV z`9SJOO{K2fl4xFqK7Vl5#%3Lzzp5Qfm`N+Rx{)~nj-kG`?`Br?`kE45yfImH(=#g( z(h$$IyXYd-SXmhQQSTY@{c&yNd~`S=>_+HU)-t@b;xG z02~C#SzLuhGYV53^IeoGG&MHioP_J3E(nr!x#3<;R{*Mwq<=>Fq@i1!Y_|{jXC$t3jsOm}Q16T)SGYNDTg;Ha} z;l+y#cIVBgThlcBxG;%R0)f)wpma!bUWW3Cvz)5Cx3`<1j>=W-REN)=yPT@#pDU)X zm|xwS+TPxe53OOwk2x#%?}ezUSAO)Ao|jPeMU^%B+uBq8Kh}yBh1In&p_1FrQ9CPL zM^;PK@LR22{&yp3>M3-^ZBV_w4ZU9OsNqng$xa-9>o?g9RoVw3s~lY}hcK$kq^%un z*6Oyp!Wn8oswqig{WtbTAu9*D4;<_94>dGZ78i<-hB#Qe80dy1qw^msau4xLG|!dh zy`KLlpGTVMvKw==ToKs`p{69dG@i-#y?rfl*g)NY!1}*kA8|w_i(0b8+-4cB$vJKZ zdY%)wqKDZfGlYT|??NbYp#K(gwr#a3GrK&q(Lt6~H;?dJbXMdPW)#ykS57BL4mr9= zCM|2HgUZ_#SDr7)4x!bIOMMpHgu7W~c@Ti!R#Is-^+oMP38~oFI!xIJ=&MXLJco2q za8jHae+mr{S~Rr#YhzHa&nS0U&$el~UvU)BhAg@)7j#^NKl?C&hTqT9&GoD&f52ZyOGXLv0hL83}kuK6Up`*y4%it%kGB!g>;I+|QknWVC4n=9QFTd=_~k znJ0uQ<-QpGhL|anVz-gV0vGw za@#Vn0K}csFp@@Xgm)s8ta(cD`hIMcJ+QNZ#QV+#enw3!i zKf5ghWdbs)Q5% z!3Xt6d}LGhb#C5`X)e59Y;0me_ZXvl(_}7dRbHI$?Xz7th({D+Y|fnzqfC~CXy}2T zZ`z2Fpj`Ddi-Z+|BB(H_3hf`%0U0ga=YvVd(elK)&NSmKG@VRbcvNlLLHn~ki@iB9 zhHRA5YPz|zZagi3wgmSg9Jc@%%yPwk;}uH}DR?72XKsOD6`)LD+r)sY{@mJY+Xivb z-^zgf?rG7>2SOvXiXO-I#X-c z1^I&s*`tzDUZY(EZ@kFq#NFT`p<{M2+#NvIkA#wnyNJZ0nmi4_-jrY>AU2QyKGEPy z5G$)9JB*M$BeCxORJKobW;wN_;C`gb9Bm;+I?|xuA4&B<@U&TI;7A3Ts)MW|rl8bK z;#f!!i|pXSOT$h;;%$$a$Ys!YBV1dyjwsA5q)->1IN&_1dR+u}qZ))SGr9cHi>cQe z4hD>BI%k{2bhlD^!JsbdIa-L+Jv9H$a1^!{(RdYjO-|Limsnz#3^(bAZ_WC26l#+L@|3%iq}dD#p%#$n#YqtDR!QyywBPg z&3ht~0y6JG;F2IPb6rc?;l7n$1F)$xacavQA02;eEfO;6X!DE*yV!jQBJEC)H@0Cz0H%8wEIV`o`EaJ0Q4mEd zLXvT4xrN&+Duo!SI%(yNA!!Hf_Li7B+uoEs_6WKFOa-N8p|XzQTsv$kafRn{Z|@+m1g_GU)7r+^BuJ_wSWPHzlwGY%>E`_JCM zFgcL*?h_;c_haIjF@<%Eevg>a>qT$U2Nt1B0P&J;xRd6iSWbZjtCb0ylH#By@TS;4 zyiV_|g-FOEy{jdI0A1u<0?bLEAuoqAfU~~P$ur{s@3)RQ71^+R5J^FufZ4Kb%9J21>z*V8N*wpPcq7LZ zInC9ns4Aq|sJ0bfg$s&(&07|iXe2IM;$c+O$nW!cMW5>>Fr9ehqBdqOfN>rBfP@q# zx5#4&46!l)tD6g`qR~3R`Fe@ph|} zWOA(zb03c^u+}ioMGal7NKP8ICY3WKoU#66ckT{hq?ZG>_=&F??V4Y*iQ5H(uM!~9rye7rvAOhF?5xwg;cNq$0yen*6rdn8IUV*Glb|3 zQv}mtG}YEjYV-UW@=upaSi(5e%lst?a}dbEvg{z;tzAjRCJ7l%u6 zZKys33d0X({YDZ<_0YHe~fMkQb0qRGxDb;xd zxk?JUF2{LQk^%_pQDk&~>AcPj5D_W{OUl7cFVq&mk*^6pBad{HAV@reARdqb#w^q@`)R#@HLa5|NL*N5L`4nlgwGK~313o4Xq-1z8wm^+FuZ zA1;VSxSm9hN+pMnqE{v83+{8ZzWk)nMNw8ht2OE#3+qzz_0YBY1&k@!yEWCj6+Kpa z?*$`fl4*t(RrKl7)3CiBA_CU`)0gi2{!`4p}EMHx1TVR_5(lCPi)ZZ%PLh7iGgy331qtAz&M#KWai|U(qd#CoL!@^3vrUu3;r=}LTFGPB7TdTLr zw2%YnmVL$iN)Ah6o zQlayeJ?`|LVIeFhnC7%McbOz!8xgqP1caq_x*g1by5HPG@riUGa+>k*U%!6GCu(x? zoj00*7UlN{awy>J;C7bFoWsdnF;Om!6X18J-iC%P_oyXq^7wa1+z5paSffI3zkQ#< zf+fh~HhiXbeJR{(IBSL;CD7f}f)x8i?W6$GAHMcklDQ<&&t0%ni!lwELE?VqS9Ew9 zMlB}kc@@!0(Gw<^1LH{qq;BS#4;Rgj3Eee(bM7y;t>+=Dbn(WiA{j7ZJf&AXe&qLAT1WDDFNtc{*1l@f|`ArN#QaT;qL1-(3<~ZzvampkRREG02L-2&aSz@ z2sT~EId7MBf!ex40MTuR+TtOn_Vqv+peW9+_H1>2MyJ;8%6!(Ir#n3Aj@i$SyBzfN zj75M`btheuLeN$6Z??$OaWmz2Xm8Ws?|x?w-?BbAzqH^jqDfUl-<5zDuBw9=2b-Qw zGi0w@;)$$Q+vRuN;GHdvXFDLe;AYUZp3BXtnlOJ|Vq^>S2qGSJr6uHeY8tp~E^?M% zpN>mZfF{^^T5KT7ol3_b)FtDatEC;r5|pmSwD)feg=_&!w!+81b<;XPc!egFAk~q& zq9#H1l2I#IP#m({I*b?nY5cG@i)xA183p&Jf1b^OJa z5Vk~}ZK|1j-TU4m0lc?bG`%S~XJYnmCZ|muEoU7MiLwzc6RW#3mXwX+UKfToFE}*bq0)2lsRQIqaWu1U7IX!ph~+}?~J8rf8C?5x#Bv=f^TxBLtQ6TKK3x-N_`Z{}2whzS$o zuhSm&|KL%gWJwQihf(xS8Y6cZzx3a}JbS+Wuiw1zYxi|W?>~3D+ux7awbwmW*@$90 zeV*M>^7r0!s-`nN4fPVfzo$O0C$87CGjB)qyI%)ze#ViU?GG~-w^K(B8Dsy3M;3ld zJw`f)_c|x^ogE~hlWJpbe6Zjnw@ZL66iv4(<@Vz4$)$MZ*OM(jcIja9b-?HOG-hmt{*4en6QY++l8N@OqU;*;_S?Lq0}%%ZM%59 zh0C(+%-M>_u6kaqHar3!5H%$vg1c{v-241jvVWc74;|}AiJo@L>gvtvYA!6d(yi08 zH>~>mq3{2V+Oc;aW{)89-b7L+U?X=?)xPY6O5KUXsb=t`&$BaXb{l5EW=oaY^DP<| zr$KjYy>&%*Pb<5ZB<{p8y&#KFq_bj#Xb*nTQz?syx0^lVIC{@|oPu+ex$vVO9c)@Z z)d?iLZ_hYN)eo@w+cq~;6PGbXW&3!Vm&NH@Q%&k=k-PQeDwm5qdB_xZfJBn2>S4Xc zUu>&Q3cA6dbL0@S_%kBs_U^_qDT1v$@jNP*Yq3?D(q#hB;+&CDw5ZOqP zzI5YZQ$}f4;-El5unP_1(@l!=tSY(qIMy3O3B)w3y1A*t4F0=& zP7SK26c!Xrl{=o!w@atN(7pu(qHZ#GF$Rf56PjuW_PU_g<>yhk2rsnw+1p7#XvE2$ ztL%Z@p6Ph&6tM>ctsyt@i~x*-BWvpHhga%mod+#O4nVLUf{F=%xMl5t0k}*T628SF ziHu#|!nvAgJmHV!w5POQ#3@_Sdb*sl%}kC`{x^8?R0d09NW$`Rh6%Ij>-+8KPYmC zRP-6iPbn|HyUIotx@mii-XGQ$&&6k*6z}VoqMzHbuHfxz{_nTG&&LnI{1yK9)bG#N z=P#VRf4<}L?g?3Sf>c1bx4IuIia7LuC|j@w51VhHycSloSri5tq|eJ{)i`ZG3?27j zf(>zs-^q!B+7h0sTrpLrn1tBwPb?PXktS~-eJbI&QKjD6%Q~+S54PABj~9r-;%bNb zy4^+QJP1-{DJ`x;5y0c>!IFJe#n4OXDwgrfw{sLD^oFkVSQ;a=4A`Ia34y#JH^5Ml zc>sJgLukQAq4h!f>>CG`A_!@+OA?_Gr;InbHb1fXeHZ`m<}}IH(IQdRb}s>-@jr&d zhHEb+)egO__I%1|Ev+}B$xaBEhrtI<@%zArmq_`&psCyJ#)EA8hp9|lDdv!)M5;%O zqd?(XtF#wDCi!-Tnsnn+@m;`$oB^j}XXwg!=L{rWX8U`;=9AFYfvsVrF3XWd9IL1* za)I2zopRsN_unv}vG83gPz9_2h4r-BBkn~Hyvir0*ju`Gq~^qI0c^AP4|m-6j@^bD z0ttcFv8cu)A5b|*OvMQCkub2&Z&=cgjTu9;Dk!Jt1HP(E)EEiDqWS88Rd_JTz~F|S z_e|O_gs8iq1a=TEy*KtpoY&H!@v>>Z1oki#SV@g_w(^8lrQ zD*~Q=iNeCpP%->J&u4qTCw0FCzh}>p0N>>1Jk?23gB6x@5$+Oo^fV`fos~6cQMGdb zBFD9NFc1s4r{?tgB1Q%Q2ANnf^%}coxX@F9V|rBJ0y$aa#q@+T(i;?}8Z(qb<)GR+ zGmM3#BjcRbPy!h?x0qd?7)#WlZ5Rdmf|fny!mJDw4ycCAqTB9k%g%yu-c7`6UMUgf zxaqo-moZ6Jm)S)yf8DYd52c!1i&`y?+>;q>rAV&<1uM{ESNY*6gP;p+>;8;gVnNXQ z%3hylk9mZ;eJ}>rxO=BsNs+#=Rys&kSZ8QSG{8@Q^`lF6S=RQZ%KX{Ux^u&qqtR_? zT9nc;#7>b05T819LxDnGo0mc1S}Ea08;<4dQGyYQ(Lr9`7x5uRH0b9dNQ$jX83`pR z$DL3;=yEZ2O$BM1g}e@@vlDa|C%5dhh|R}ZO)Na|26*(WynklBc+;O@M9Cj25k*>? zi)0ogp%anWJfvo#M+pkpU)dH8m&(BP;_(utK6wya4mb!p!|ChSo+XqoTnSmrRTqVk znJE8r((Ef?K+?q0_bJlA+TYyWvXce%Y`sL^Y9K6(j|l@TK%lA z07Y4x1G+;4vkV_`3)}%jBI=B;3-|Z0^*Yr*Csc{_d<=mG4^b#p=x?l9WKs|o!Jh4L zq!AEn+>GfZ_T@N8(X{UYa$-<&d2GC9As=Bcpx}fBFEJNdQdXmQ4d@u`{I>Q_F>lQXg-?kML?hUa60+=GH!8YLbbbH5hTazH;#$heaTKnhg@ zw1ff+#Ok3h)k(nxUgx|N8kr$!$_GRez_lvEk0B=NYG6*BGalD*0{JO(i2G_+LB(}g zl6{k;Cvz!|6#%kFHuAkN2UimUQjc6hV4t)>H8k17@|&oITG>B7LcoDgV5BF~fCglp z`Dq5EfVBwQo*0TuiM+v}&zgjR6WD0lskR@KxYq0PcQQbtr=m0UF};~;prL)v$G{^Dz+NAhj zHxWIa2Vw9(4Ibkb{PB}?d3FLS342$OjE{#$9N9~w)vVgFmK$6h$Z|q1%9#azaJGml z$|>*M3XzPmAED|~YfWvYVmq}z?Lug|q0Up8_4-*nGGUvKR`Q=O@;mp)uStl7W>38({N0*AtZzqi_!5%)xTEbxtVG~k(j*aP#HkdrECglJ zjKrnH>=7rzcIZP5MwdmYSb`}OX!oi*_!}Cq0fHpPEx5Lp+!NDfZcRBvSJ>kb6P zUHN^w3l+PCU*K7Wu?`jI@<=gtum>KC*MzDnevULff?-5vzE^VV_u-V%m-YC>jlnCl zs-k->rJyXtv}YwrO5m6*>PfUYdmyqHJ(Ll^0w@)#KmpivXDkQ-T(?fRd(J<56XHA$LQNnU1(I7J!Qg~&W>AyYSBXyeM;5FzYGTM`bH z7C)QRj)^)Nqc0$NyR5!cPc3Qvlbb-_V%%hygf_AO%Tz4l>DoSyFph{p0PE~FIz6dG zGqC9s>)$GWQ|BGh3yY)2Yc+HA^a80%0V$UGo0i`DvtZvX*|8bOOgzv0u;@GIanyQm zB;h>>TS|Q{yP#j>h{itk+8!RDoQb>@$fM?9c_#=rcvFliO%=uSMo)PZRZO4)gPrXD zW!i0(57Ed=`3(KbhTA<))z^Vhx!kvK964%r_;{CJh53X?FHam>z|hlB)1s8YAu}Tr zPEk8iu(~XoY-Rz=Oio2IT7+l?l4}0S2at(ntvepi}9*+C$SiS>8 zbCTA_Jo<{yj972&z*+B@(L68ut+@4#uu$Bf2ko*OcUXPjPPKYf5()o^G3cTx^OsJ! zy?I5msjDgYGymoIq);g++nL0X|66@|b(&(pl_grX_jZIm@wvHrimW$pnDkJPB#VuT zEirz`b9U#aNP4#tcIu$eM}93EQp%{BQ4s0*oFO$eTg6X}o#i4j7M$pUjn>$5P2^*& zf2TTNicPRvQ?2)FALQP=ejdRe(7^-JD^Mm zj;~ZuF3Q-Pxrr%H4~a#!KR)=XH5@Y#f~SVb&P!gzrK3=UbQN$%%%bs25B~B~Fcwsc=3A2LDbchmZ_D->$d0Wj5k@iN z&>E3=^PXaw^@wUjxBOEBuiH~=iSH?5{cuig46@&!0uhcdZ61x-O`!mM@b{|th_cIE z-QGCLi&-VwN3C+|sd&4QUh6ElzGdu|=VR+zT^^qo*xo(XEAjpmTsFD#v+*w;bkMS_ z4~xWD)`2AB-KEg)+n-+z5lSmjtn2-uugetqKVQu}je?Qm_Pg7^FSl*({=lBMnx_Ao zL&|?m4*a`!F#UIa89`0)*aqi+ z9nYzS_;$-3iOMF!cgE!be~L@{VbYeRohpFovXricBW> z0j2*c*uJdnT;bhWYTEw;p5Ip1`H|~9$NQ>Q28mhnZw~P8!RG8c=T*G87wv~NH^#56 z?def=aAllCOld;gJDmF#-9#ir3IxKW% zX+*_c>GRCq7B?v7jT7T$*0s)0_1od!sVDj2C9hCf_!1HF5LW!o@i9+Be_0R+`BV&<;6{ zl!LgauWwa7+8cZf$#OEoiXl3`2lQW;qnj-Ma`pI#(vZ)o zBd1=SRd35Q#Z-q1@h%X&!Yh81XSIDjqw>G(>hC^EeSD~p2@ZY! z*Ux+ZYW#T9rbM9-{u-%#YLmr=M;k6$`o#$JIvx#~b5ZY#J-lECrEi&<&$-@2(n>^w z*r?8Z3>&M=1%vuM#`F~=sx+_?<|B)M&>W>)0lpe^I0+V1S|W{x z=!9YRC`%XI&t#TDFxE61b3&;Q2~N?J{YQn993t2eZdXofoDTcoV6Dy4<)0&xd~|x_ z)q#E#)<)b|S zl)LSIM`B7%LF78dojUx@YchqHYsF2{qmF6hQBK+FDN`JB`|?Z(W{2q`1pb!m6`F!SM~1BP zZtOif7a|I0%GMx&$f!^WZQNs{9vov*q>9Bd<)?}!qwM2WBOzGK0}XwNIQ88Q zrcYT-BcxD}6_tE;Ewfr({=hvsCH5UJMO$^RkwYr12n4aCRBL%n2i6gh9z@6`69f^d z9&B2(>v#N|Ue$3nVvP%7Ek30Tl_bd`5Ku8z6-FWkQLUa*lSGL1;+fwT+{XsN49}<{ z&6|g9!CvR+?2HqWsSb)G9S-IN_wmRg&wg>$c6&7o1|rL4rV^ zm;Sxx8dfU*B0wjUts(GK1l9$2gs93x>6e$+T7`L8Aj;BxrYcv8r1HR^N{f8tbAJHm zGW@#hWIu?GuRj_FhZqEOK?>S@11OP66aoyO4US!5hnh2)@4DYopW2vK#yM6|gc*u4 z%KhB$AE_^DOB-p{K-0suLwXYiPSOQ3uz*AW!icANW=1~Tn1h6MP&u;Un=Q*KiD?pv z0TGd4FCU1b6@RkP@?-Rm^ zEU1WMiH`zwscbW#Mozvom=)N0TW~2RKZtt6R!CwSg}aJ$UD;SkH5S@}rRU$@4+6AD znL4&BtvJz%s@LjOOSidEcs6@IZ;8?@Oa=1Ifd2`rpe?F+(FnyEm6`s@4mLI#y6JON zYH}ksitZ2)w9YBeMOf?O5qi*IT{pR6lEE~T>!4SxwIRdqG8V6Vu{zZAV)P-kMWHgsX>zkU`OwRnlE`|lU(-bk&4qxtL zYtpVVXKS2~9AMgyxJ(_B!y3|yZxehG22_0)p!W+Ee9ZyNCj?H*(T@G7y7)Y6&ReAS z_yAThJi1i@{RZwrUEfq}@+{yER94sfll+g4d?=nx29%|PvjPIv=L2c2e>}iE4By+!%K=yLjc_k3e#C9s zFsDNbCtmZ<0`&=KPwiQP(-FK%m>&0_V&c)l zjBC~J;|yj?G_f0K{{p^2ZA&5ysiQJ<}>-a{Xq&A0gJd3XO#@&7n)%2kqo!uNH# z!>#fCTrMVo-~aCUJ??A-ho{Zr`CMGbN{Ra|?ZH3Q;SCQ;L*J9oZlp{~>_X!g@!m(E z9DL?ql{8*Z!TTmDMOPD3krH_&2j4jvyf@1+}?hON^qK$S}7T2|o=&FgYkgn_?NCq*YiV%dR=S zFU%N(z9~h?jcB2KF^r$fyYv0N%LlXokkMMvEUWn|Bv^UZs$fSX;mZZbB9%z;F1#Q; zC?IP%NOue*h8)Vr`p#D|A@r%$DEiJabD1o9=pA_-mxx7Ez4>w4#et;1kP|j(LC3P3 z7uANfV;`hJvEqIBny%TasU{rp0{-G1ft&mLaX1d3g&e+>2;2}zrAZu2iLD@L#Vm-c ztP{Lb%*R4V{20JF*sZ|moXdHdI1A2MWbcDZz|5;m?o^w&kWe|0sYYw)@eJTKQ5+R@0 zArGaoKbpZPR^kUI8+BWLlo!4iu#>D#ARDvJ;O^7CC*cX}8Ub|1jG*Z`hIwqTLm(0G zRv@51QDA!SrDB(F;Nw!6ewTSOdKfI)M%<45+;y_IA1}{kX}MgiZzo~kXIQO9rtk*< z%oAEYIkJQ1w7Yy6?l>5r_lZv%>u;e%hGJKUM_>SZpcFdlSoMj`H7p8<%OeZI`8RIb zK_JZNad;=b+sQTPz+>zdleD>m!;byc1^ssOJ2Z!v5UAuCzK+#b8~}0pTOVW3*@{qJ zeWm71S?2*jvZQdSLk#L9p#^%w9kj);JMPw~)HqFyGbYq{*LA|FqoS{DGJ7$scr*q1 zb7yUFpQQquY*99-)-&zZDDFEQgN_m)@FVJ(tu_1T(n zZA|NO?!Zkq596VkwC?dtH__x9=zO^a-^38xTJ%M(%$_t^dT4|8xjoWB6~>%KUFCf&Xs*GcmA2{j7hA1(X>74YmFsoda0@ z-O&GE5cdDdIbixH#U7^(5!87r$aiRq2(YW>L_Nt_&ea+O3TZ%1ZA{dEi+i!k#>>=m zYum`gNnW2o;D`Xt8eGhufKi`g^&|G96lL5nfp@Vh(isZGA_R{vtok2u_Nr;1TFE!? zU)r{EeB6Jn2R@o!jXE^C-F)x&wn4SB^>TlgnBDNp+y~NA(L(od>}GGhf7*S0-pA2@ z-`#id`*^%m-PO7Ec|Bi`>U}*#@el1jUz*i@J%GD^Z8N`Kef=dThsR^CKyR%_tt;N- zvYtZgUZ^L(vim5#Z6B_jgF+iTJ*`Uel6S50wBB+Wh-x&(%8OI~B2*5kCK(DF3b*16 z8m%52-7e9ah>XMznYDb8KuD}w8b zMNe6Xj#Z1hImc`RV*6pW{w$B|i4o&vIhh`6tXO@=qYK?#oY9eHXWcB=(s%hPj~Yp7 zl_!oq(EOZJ1zqI2@txnhmL)yBPE&t+_Gr3CR}EoevbjYM61UEf*@kPcVRI;8ub^;e z664k0FKDMU#>9Pn)K%u8mn+Ih>?i^!)sEw7x1^g#>6Ce1uM1js9-uaGbjtx1#@4Bq z3MlYc!-Bhi^tDf?akn_^!MB}9>;4Hz-2Sn%L=j6#mEmL&=5SG!5H{<$d3HxB66t;` z?G=+xk%>qcgUVHvIQ00$7A~^Hl{2Y%9?f@aMHGEU{c~FzX(!(sL_r- zki0mG#4z=(aHtM3lkU4iPyN@(STo_DfI*a5$}5>yh9u}$_^okz)ewQ~AoQYy(Anqd zon7M!xI{a_#$E|bP zxJcyMn^Op8ka6%4O*FNPR-TJ#u7u5zzHn9KE!gZ8*6@iJQ+=B`)oF`S2~LbWmQ0m!qWC9ge33xTZfd# zBOkV214=|83oK-F;h5_LJXf`q@vsJ;m8d6dhkV<#+GN|i7(!(4@&s&71*ZK4m;ih+b4v6n9khWwRg#PNkz2py`(wH`k%h_g&5fT58ngY(BV-JVHSkB^AiLwkcq^Wgp`p^gsT7|ZJQ@y&$M?O0J(nHbj7gS zL%9)2YgU$1WX=Za*mr?BSW+-VAc!0z*!BIM9<8%Ig$J$FHr4vQHTa8)Tsc&wBAsAd zKO05*=fkx|N~BkkSf?u%Oex%(OAUB&+=yA&3Vu|X2%@kHv)vmO*K=K?tX&blvC=^1 z;!3L7-Yy1)m}neg)(G^&lcXO*ZkZFLQ*OLrp+Xe1mpHbr#a(xPZqwd(AL#$gi_6Y1 z+8y8kk0U2@UMVCKt|pFy6k#ENNVG-AzyT6c#nPaO6e+ioh`*p`^=IfFjP}r7IABs( zDyebeI!5Z&z)(8>E>%Bd(~HUsIj3Z}I9@B%O%fBwpI(-|v@)ioI4s;9B-Q=_8Fo0A z_PTWlu(KDh=9DF4N|Qdj?3;|%Z~}^{Y<;SM!&O--+0LI0NZPCKw3_h#q!Lhsyv$ix z7{bV%NP`KhiW{^ZxyJo{(^%7LDI`v#p0CaVgXPJQ1%HwsJF4s``rwS3ygc#Kg7gk} z>F$VXi@7DpOVE;wm>#knE-S4P#DzYj$ag7oZBq;50R@7g4!^!ryGsN`E%BZq?v6?L zO1wCF_Q0QK-(AwYRIcmet&m`9n?hg!Dt_U;ktPXyVC~f&6gUzc%#=brg}}60kmZc2 zNUf_#2_E2%^x86hPC{uH#a)I)mb6Zy<{L+R(m-EkNIJ|t#)oW}05D>Nmc{Bg_bvwi zhH>(!-nm*y(EHVSS-Rbt^$9jEN{RS#mgO0P!9rPMn<=|0PK_Zr`iC4CdF^+nQ4^q< z7$C8ZaT1kvn7pD$#Bcf`IHf5{DwyHN0x;J8N8`FYpI2jng}vTwjF=XyM8RKlx^fA~ zB?KFTZzG~s+J6fLRXUE6fBbU>8@7v6AwkzWL8ZhR=R+hRv=E!qyVkis16f* zHPYhK@}JkAN2l^xm1;AZEEclvT8mNC5JLAi>!Xic#v_x1_isWYO>;Dd$xN%sb$6M74m%6W18D6 ziUIz|jXWy@q~u4nmn^^ZD~x!`;tS~;u}nMM{u<)}Aq+-pSVozmZY7iiq!gs;E0>*$ zB5?9nLFyeoO3`M^8QYBuAgM-Qu+SM>PThb22nXy(oO6bvenTWJyfj_<4C;n^*vKaYgox^Vf*+F_0MQFc)WR)Ur zq847P3)^(HUW@`G=;KrkxMioqoE18RL8)BzH>+hJ=iL&=W0%BV`Gj$bR`*HjTtGq5 zm3|v-EiX?e1SCo1PMmP^F;wzsSO)#tlT=hd$kO*KPp3dM3B);vK@&f9cyQS z*j6@ELQz{J@#@nt@O0cz#(QDUnQIQ#sU{%sOSLWK%qV#l_Ld$w!>qq#v08IBs1V1t zcrA#*1sZiujqZqOijjOmg{mZGa(c*TnfHbUgkP74_uo}mzX6L?hUJHC)gHP$+D7Oe zoi&?I6ykxQTmr=Nx#iIWg*c4X-XCFD@&mvcVD~FT7AltkKWu97iNXUfAy$EUF5PWj zgZEdd`J3RGO-^J$CL&U2QZb}EX*_Z;{LZL<62qZ**j@Z$!%*z)$_G<1zA1!!ZpU=J zt6!lYq@Q9a=gYu5l(S9^h}@(qY6%+a(*r7-fD|1FB#8e6+{E{I^@VJ!whY4#-1zHa zahNPT%dLJ%9gMSiP_{Tyn%rb3C@h3jboOYJ;GcI@bcfhu2&6sdf4j6I*zL@Dap9(*_A4#jLy zn{=X*C1d*9qDgMlnwnW>OGR8Qw>K_$npK~|HywlAi4^OYQh1$@9&+MQ2-8(tM|gb4 zHD94(Asc;gGQP0juW8B)bY#9$x)hvedkH-^R{6V~w7$6)d=C5!I)09~^SxfQ_AAzZ zK)3(W)Uz@D_i+2a=feH}gKqz=$@?#K%lUsJs_)U-to;$y$GG$8&D#N5Y$&U%bK1cm zn2;c(;UuHuokgAE2)lJzbYYVD#fJ;Hhl9{dD56m2#cz(9EZc0}w04ChA!1p;y{@Tt zJ)2y&ywntEG-##{MN5!;y% zn!dEd+iD_8ny7rdn&F*b*7;R&P^9%DVN$A)I4Vy6T;et6V#*<%*Q>);B`oUI<8&#S z$0TceUBx&JjF!nV4ZM=c6w_&(nQfxxzDcv;+Hl{=k}s_L%wr7BUa*opE7 z8KKhpi^f{^<3X>yWQ3HXGkQS5UxZ0>U7k8@x=~Drk!qE0S?I_>R2h^dganfWk-M(* zwT2uJ<4Y#Q_t92N2gUu<4jna`^yoawk=~l4wr+iCdl{`%J(z~`{NQlEa&+ZWksF(| zo59jFZ10N$>0^%@vYC_;FxMK(f|fmXaK+?d$`UFS)VH2JIMPA1N$@M+^UBm+QcuYw zqhcmhweY(GNN_X~mvcj!FzFyu;Er42LdB<=21`%hg?p&7$T0kl!b6-luHN@6cLY5b zC@>uquQ%qCq@lH}ylC~|Co6er4jha}s%0lU)#x@31A^N`k@&(7*m9BdgfHVu?Fu|s z)!atk*0dptt718EC5N8&PdoCDeLa&kau^95^}aqEGH#{q03eIZfs#DB%=z$nQE*0o zHTK`M>x|rzdMBcr%^GBA&pj}@d0qy^ofBlv|DABusV&NBCM1YE=VdPuq=}6BZVHpu+6mB-9F(!{2vDZ3h zk~F5Nl5KfAig74`cBdBRdFig<31)7Pv6?4b;3ypug>s^0d~c8Nbot8C6RIiI5r@>r zJlbv^D}Xs$W&W_(8(MuN;7vK*c(rWdtR+XTq`G3A(|o5H)M1+JQu)!TB_MYL#K*7V zT-5mWjrBt=h7v>8uBTO9w5UeP3kbi7u8Z{{>xAMgp7?Cb0G1%cs*d}1t8UUZdq>z~ zirXm0; z6Y1bcyP532=fohhQL{mtoCX0$__I$4Tj~0K=uYH}BA^#il!ryIOxFqTY^KY{2Vh}} zaFMsX%n|9?Pl47 zM*nz}F)jL6Z~$Qgp!`Y#kB0=_2pUsE!n*bJb|`b@>mPEGIk zQZU&pbFjuhqB1^QnZWfSvEZNs2h^UMgX_zz_R{1afJLHY(!*mp!Gve-zIwwm;Mp8n3uq^9Qs;;W{tqfsb<_7mDyjy9W&1u{ zP(y|durqaqWrtNAP@GwW)hST{w1~@fA}zA-g5N5D&gOq|;_DEOPy_?XFoT5Z#G9mU z_5cZk#l66^WK>&zRtQx%Y8x*Gb;+XIqN})N2q{Onydz$Z;f~>WqB4FVg(sp%Z@cln zRHGj%r%1PQNKxvzdeyOl8Z~ksk=?%Xin#G!8PR&cqizPR7bb{4H>$H-04ESbX(_zt z{kfQ}Rw!XQv}axw;W-H0-r;zkpv$6d)+;4T-CYA)a^AeEK$=Ablze)of>i==v1%sK zIO^I6Z}VYX>DPMgdvAVnx_@fZvAw#~NSE&u*zbZGg?;F`D~Ubr+mKm&2n4hA+=Ch4 zSDgiYjqb#{)W;)FvR!DKoiF*x8t?8vDB1Db8VsaBTCy0;NN!Ii_zuCJt zU1DSBXSC1{>&;fV_CiMha6CTswIpNZ7lJY{oJ^pm!R&^)+$Gn`c$^+Lh}>-#7ZEQm z?e-)iT{lf0=>dTALUO;h&r+79%k;-DVx8Pf=>U<8zQBsV!f2V9nf%5zcNHB7u1g81 zR0BBgf7}ZOb|vO)&GqQwm4G2xGy)1eYa3jywEZi1pzNSa-|e8)(-zHr zIfU?Qqqwpp4X2t51!N|Y*7=}Vfnrsbs;cWz3Io91L6fM$M0=>)%5}1U+UBA!+~x|} zYnv;pNWD{ViN!mtXh>*m47IJfDmrx${Vp`39o5V zCpEYlncvD3etN%y>quiZ+oHA+p(HYp4vKA%`+(|$2(l?qXQsKftR{W(i-?r{1CtLc zMN#V2EyaaVH50Er*#Yz6g>hrJ9K?($V-2aXmx0a5i7}U05;1NZIPGpG=Pm*yRaXPV zE9G%E8%dTQbdH9Qq?*ou%rcW0OA*E#$@b0&9X^M&kZA-hzR%(PzP}dxqCK4=IY@EK zR()YHftHH^seIkChDn`8bZ^w(U0l*et|W+(t5pA(%;^awpYW+7bd)NdK9Fq)I-5O6 zG2rbj7QJ8G_~PkH=`UwDV>USsc(C(rAmo*yX?N6>r;7~}!(gi&Z@JWuCyx8DGEsPd z-=ET{9O)Xv%G!$!xc8Y8hdPptORH5K5|&aAhi}nOK6_}~1d2iL^W@`0_xZdW#_bR% zN*)87fA#L9+-(H9{`RNiu8vbF)^zJS5=rU?=XE=V%ckYPpN$N(P4gGpN9V}@PU$i= zI|3yQOUd8_XU%549mc;nI^@fmfdKFU{2X)8`#hNR8~9`^k_eA)f_bBLen_jWVe_x6_6r=!w9v!^l=yc`&b z52_8^v+N8Vp#;cKBMlnXxK4h;>DIO%JR>vAIsD3dSj~Ep*TDv@A=E_3_U-bqK8pM5WwY<;%5Uk+F zGt*ap13`x4`i)hkyoJE06NVU;^m*?r>*B?v^H$}^GM*{y?3PBel&k9O6%ESb0y&+i zCbxFUzx=3k)x73n3^?95(Um^XGt$hAIP&yWGzkLp5{uSliPy4iFfmRqQn7Yln_2z( z$r-M4GipH|vEe^0Jh;i#hEKITAFJ(uUmk@lZF24_LeH>1riN#e@4(8ziZmop3+mx z=_Wh=&Ii1dFj>!k0I2^!iT`ZBva0~f4aQ?AMN0_wY1`lMjgQJs@oP@cjgau|0#J+|vH zz3#!;oR;$w-ia87ZV zw{Cf#q|T22)x&6e&`HqDkfi>?{x_er`I3wFE-Cb&JG)zRyL-(hZ-w9UY5Aw$LDnZS zN>3P;ltb=gwJ6HU2&MGo!NTt|c|$7MPB!jMKcHJW|L;wd|j+FxN>-u4-)_TnIU zizHf~zs)++&y(D2ZY992QhSF!W{JpH23#RET(4DwM}Lwc9@N|blRT%Otm<};0>+KH zhgr;5Vl&m*!*J7Tpr278uy5~t0{w*iD1CR}H<4=MqkRUVF?$DFK((Fy&YihpN84 z-dPw=@u(cFOBdI;wSnAEn3{#mN5eTuXEUA?+G|DWNA#vGz($NWm?fPDT@G0qRS1?N zQ||^u;|5UNA zW2JLaGO36SJ~OZIYmq7}Db&0f=0k79p(X<`fu3Lq^ng=IR)VNgym_ZNZbOop*B=RYV$X_-B;9HKZ$ZP1*P1hf6 z39YdeGLAf40(b)GI13B~vRyo-UWQ?7uv#8ur_6>|+YBKSsh!{*>~0v{ZY8Vj5}r># zD1ZKJL9#%f8^Z_M!R67F2vxQ6;AnY!8hTxESEVWRay!t-1K;^gvLp{jwL^chEizF$ z&u`(pObb33Uf-{6c=h7EMpdjzP>OWpJmQQ8u5O zo|mE?Lk5a$JrCthQp=je?aldtOV+f%sfIo#>dCM#{RTZtC8s1BZ?x~` zeB7R}W>x1A8LNvXn1HhF+ey1c@24rFe3cNlRO(9G5>Voiq+X9~#*8?8G$QY^-zy>< zidV%8MB5|3W-$xExPVOAJOA!Keucko{KQlG#R?GOK&z!g;5v&9OoA-jG8xuXAz!i< ztq%RI{jQfD$U9D>`ra)3_M&dTKeqG0`uslF-^}>GH~YTMXZbm)s{>d;Ftp{@u0Jlz z{@V8aB2StVp^{O3aP`fCkppfaR)YAYES^H}(Y(oHWA>oKhSg}LbuE#zLhtEfuiU=h z^xTedbGO(ys+YY>Y!W9m2x@>0k=;CF*fxY`k-T8vp&;v)$y1ZGATgx1!#l`uO20Tl z(XzN~yG!>BKYU`C?9w$kO!v2E31Xzz($-1dCVWVDwMozJ<`)>?cMVgu@-hroXqDPP zFBKoCMM6^Q$hPlSx~3q4`^vhjFT38*YN`$=Kl+;A(|Hj?f9!x_e8u;EcZKvTqpP{- z0XU201Bc$rV`Zo(>yE^x@*+cvNcT%mD}_q~SYP%>fk zo-~(e=TEG8|3M(UMznKeA>O-fZ|@{FU~wjboL#XthvK@7iI~&w8ejaN1Re)V zWCmKr6llk%<{WhJm)?znYbkYiC!P0YVKPR*GP+ARyf$o*73+}5GmNZ#9_dP0#;L96 zW1>U)VV;BZA&HXmg^3%+>5T=B(aQd^ZEvkm?C~M=ORQ%=N6M?JFGzPB!5pWDQiL!E zb9+dvGhJ59C%-aC{k(outj{j~ujjaLPD`w-?*X@+4W2M600k7vB6H^^JJ$NAewaVa zf?2ui)d<;(fP^nGQ-=Kehc4EkL5HddaW5u(+4;qnA(>cIAXzX~+17cgUkuv~>ybgf z80CMN#Ct)k{t}MxlEd`sL9%5HLE}nr{LR|AJ~PZg!mJQvC)j!oJEi%2$}&D!3HN1T ze7wHs`{v0>4>MVh^z~UxNJ;WaI6Uxib+~!!XY+ko{qsjo4O9)g@5`3`%`wuzsD-t? zzWtHApKf6C)?B?M%DHoQ=-j1;uySM!i?NM}qzdcj+&2prPk~${cK3E5I~EZf6Ejz> zMrw#D38bQ!7UeP>xNunJs2vyc9z9AfX~Br9U+W?*%ZMMIax%7I0|Rw(vjrFw*`Gl5 z1ofWnn-RB5YUBY13Uq)20RvMF^nLQu_qn?J`L+7}dVR3#`;q0xX@?Q=dm*HhoftD7 zu+KWe6p{bTlz9w6=|=e|En(=wxnpaJV`{HFP%SJv$Wmz~M@=qD&l%Qr%%C5`hG(Xs z3kZSH5$*Yc5S%R-z=8t=MwOnp%D3&;Kzi9_;-3nDLy+4_u`Z7d+TD~P7sBQb1`Att z9?s_OuDzr}jjMLgv&xv|hbr`t+xXRWyyNfXI4SSM$9mIp>D>SZSZBym{t3`Qg)}oN zfMgmOXMh!*ODsH2Ce#CqSZjT|j8ce^ThSG)W3Wgk|93{x7(g&~?4=-yI_KY^Wq67_8=qB||)i6;D!=@YKM7n5#sLQ925Yk_LMmga#i@Q#%$a zR?b#bH4_AB3W$5Y?q;x1C?3mDia>toN+U%J(DlfRj3Xp(X&NolS?5}|be$v3UfgZFfH{nwsY*!2n2`W0xO&7KQ*aC=h*?$JDq z6c@PB_9|1ZyEyyN6V#vpDb5%i^dTDct~&*nfm3*x(9JraG~uamkYdzZER->iG0`f5 zlQ?W3*cUDJQrS%hQo+7qqwnaQ{Nfvn5{|L(a@K!mFDcK8>hgrSJ!?k&xG>}bZz6}f z%o_dWc7n0rz3|lNj1u18DSda40y~iX>8ZOOO{1`cyJoSyS9>eP#CXyy*HW$cY}>&8 zR81VfUCY!wjD33tl^CcB?xtQFqMaQbt~0=>pmuGPunAv4ayD*2k#& z#ry=fcFx86md2D%ZcJRz-@WG{Y&vmZV90W+!F4|sK)^zEkWxUdLrh(E| z*Zs$osB==xt};wc&kCG*eiVSRnlQKTW||VHZ0BmEzT5{L`>q&zv|sLhk{aKHHaN)( z<6u#QR=8T9sl4zJLFRV!rFQ8%PFNg3zD3f442CP4&8U^lpuX}#_KJ0}s?Db6yN~cT zzYz|fS&c<@gSlN)=Nwhk*tsPU8sKHsRd&xw0rQ?cI&HNo^7E7>FQ4??1pZ9);VO)- z8jXYFN&eM-{%hK>U9C=_MlbC*YvA?VynPUMu&dUhjg>;XnKur;PT(=evl;)cas zs15oiKf{gdahDtYS+vo9UAa9R``jVnrz5_!3z%!HujN>Kq&HENTAkg~;;s0M`G^tu z-j1|}NbxHnN@@h*zXcJsE*R67(Qrm9LX0hsu(*!*ZJ`FiVL*Ya4wJyulBZ2au$aGYLC4P$ zE4_{*LWBrC<!Z2P2==f|LA^dosUU74C6st>UNERIevhc z_$1BqITe7n6HUf!ag)%EfD%^QDYW}k_s1VUb)h?V(ME#wbj&@@uF7i>XWJY|t18t~ zo=>Ff1EVMRW0EYTC^46Mh}+Y2E2vYG5QOP*0?nD`7}wG>>U%Ql8@Qp@iuQjc*Zvh( z$imLb`Y%O3>woF=e<&{{78W+BpY>1j>_0JWEUXOw2$%m4>Mr0IFeBpFo>ZrzSkQqys&;}s%KGlMd}`Z0y7YN9xx5%oNXOrRTJi_$iu&oU?f>Q z81VpE{ss_#hTUja{2pEmr>iGwGc6z#nu_#9MmBq2deS(nk70|xOY$bCmsi!l*C1A< zOfvljC#F&D)YP?GwkA%dQ9UjCnD7rT52`)dint!$gMDyr)TThj}Tg8 z=GB_T43N>4nmZXsI#;Nz54Ijwu&ODxp}0b!Z?(wlBi2*@))%@{6C!^NT8J_&dh%%~ z0=d~mCswL*Rj-Ysk;+mp8ApY^!D-RJH3^P1s0mAwlIQ?ZV_isTGOqoE7~;|iuPV2? zRPsn@@uYz>+f#~Mn!{#sSkPuzrH~MAYVLxd!shIoR9)1CGIt)_SJv(=tgvzN^4VR%;s=Ds3BI?gqyZ`aCCaQO6#(H{d1hA&hNAC9f{E(Lm-Ag z)LxG{ETOB|j#D8-W>Ry9q6h_Nam-P8Kk@7BuB&pSB~y~UxAMr8}o6pM~%M!K4&K{K*XzqP3=z~l!0J@HZIo#4cp-||J zZOf*c@Po;B=YSuNf`~S8PyDam4mq(Rf6j#93cM9NX^<2vXgE>#a0}~~%4%b2O0kRp zmm40!m7ixroIntXugGn^jc9EYfZ-Ve5Q0sbR|~uT^|vnS;us4Cp?Z5Q%;K0tf@27d zlUl<#9ja2M@TljRSJlNh$NyqV*>uL7&-GoAi>Nw2cA21IY6PVT_D{>QE%ww~eP#B1cj%A>zObs160l&Su+Yw@9eTY?V|- znAw*bqQqJ4Y^iQ`XP|cfNQs?m*D7D`4sTIPQeG;jqMU>pd?N{6$TWU5Drn8tR6J-9 zpef5TfN`k4qR3F@gIj59hSm_H%HUR&>I=xfFRu_A3F-=~h{{hO7z%NDh<;_bf6+9E zbeQlN6b&Wo2?X7uhp^T{p=znA1$b-%pMkDIa8ydBBcMyiNld72(h+W9$?tI^KA#mqH zfN5Ju-p}*Dd>h^?&%Zoc?AW@x6k8A?xAHMf60w)RyB(((1Ptz!XQa?D;l}KhLw_#3 z0shWoLjWxcpF!e;jmKsRmq72P#*%JQ?k{|Liy#nlY~EpIu6k@$=e?YA>5QZ)=CnZTM{{N0 zZg1Hzc?dfJdrY}*F^i^>i*qVkw1NdmNizK-x%4~%eXv+UqUP_v zdlFJgL(FJM{yZh6LP8)RVoJ$OQZgm&C=F=nl&0>OFs77btg6RUCA@&^kM|Tn661G0 z0_{N-WJ-U~hIb?;4$87C%V`Z=h>Q`894m={HjreoB`pxxI8_y`j%e}U#i_jxtZL@g z|3pMCL~!imN{-7gMkSZ)s}_S8M#$UF0wx?th}w#9ySA9-j=K7i{Ej9Y)F?@Qsh?Wn zpTJ&iY>1rrtDhN>+?4%#`YSRd;$CE;@Y~P`HH8!@MdFsmXl`v{(%2_9No~Yl@>voX zz}n22;;a`DF)Xzx!_4LjIY!>O#C61i&~;XVEG&0HStm280tp3n9`*QI=mNn!tDYqr z{{`kOP{SOMB&Ol0S|tHdZFJz9@{{l)y4}fy5K6HFu+oVnAmisUg^&(rJlfwpYzk(a zd!*~=#P5q%5ehBD%bQE?64djl^`KO={s9tKKR0pc2AEg0wz)XGpvDh@i>E*!$Q(}Q zM64tNaIM+-QKvIAO6o%+v1JS(9a@b9aN2#K*ijOlU^uaUk*<@MAX^5OxDgVihueNJ zJeuQA^x&76P#%dD8AJ%HV4yis!IeaykoA5S!uqNq5OH;PAVFRZ$kzi}*9rh)l|vYvmAPEzD3&!IJFzQ=bJx%N0GWbaG(EQ# z(=8~jrJcujV*+oPUQW|NoPNNTumR?K*118>p$+NgokC*Kq`XT#N^xb$vYTWOGfy1@B{4=rr@J;S<@k>0lN9h!-MFxRFVJ)C(g8uVCm@>wp@ig7%wI&}Iz6QX z=stX^tun_E={-2OdIowQ-kSt6(BG3wxx(svBq4)BqI-Yp)Vk@)Iz8`99$}-$Pvio(zuJ`d?eR;_ODxy$?*?5$0 zFEQoksXP?fpgF`88dLkimo=`^=NtqAwhzzJ)Jm#l9Nd>QA*qr+zKTEwUlu;({IEDXe$w}${^prcYrd7hS1i3*)>XK1;sMPTndZ%MKkaVf zVZ74(!he)EwYsk>zM5qn3!jmVo2%FI*%p*HG&tr=ZFd^C|HH^FKONI2Thw1t7s_>- zsM4M^s_?iV*z{TFA}|!W5q_a5prBA_%y-uY??5%6PJ(cjykZHRZs2}@(xq*UjQCZP z2p(RNbyf;GfjA~wfym~J4Z8mC|6uH$qGJo!eDBz{?PSHaZQHhOCo8sX+s=w@YsI$p zWq0@fdiUsk#yJ;tG3Tte#=NMiF`wW2hk6B|bA7DUhpA)zU)P5fofiy|gLy zFWYCG67bF2#@1K;aOuzmEm4LBUrpyPpr|Xwrg0>=T6sIy`ca**TFP!34kSd1u69~g zDrtZIVwAA2fQ)Q4d{O3-82{r^-(^xcPgTjoEyFgALD&9kq?>D~p>rnp!RRaIv#y+I z&SR;?rS)qamQ7cYs)yG?4@%foTOlEa+dq>@d%!w)GveJE78J~$>WRM^!Z9Jhe3d7V z%CNM2xPa)i`mOxH4A>o$d&u!l^EKx7)pov*c6{GId%M0K-F~D-YTs`=$MvB-!>Cj_ zWTHE;Mb7+7A#1T7)MGi$xoo9(`S0F2?(Iv-Dde^xtRm<4-u9_b=~a_3d8w{iDoQjX z^^6t%W59RM2I|GULINsv$-i+9GNSsU@%ClC&lipu4@YGl-U7a!;5Bd`rZaFI%EeA_ zu43@)l?nReSG`<9)N&61eBQ(JM*<%E0cOQ*R8iXY!k7WYP@e(eIErr zHG`$eyoV}RWv9$iOKR81IlJ|2=fpE)nAe^#5taK(TzX{|gL!L_hTJx4s6EW1Imvj$ z5WRFhr1d5alCVb@6c~B2M?_8EhwSs|Y<&zeE4QxV)=`Z)=whSX`R7uAjTf6`b5%Kz z3Qm)VqX}xKp#a5WaBm4^vwD@sR&|)|M4zsO7yqVTDM9#kteFUwKUYi(TZ}+!J zFDSJ_9%Dgy0+z{-2X*GCsWBvHd(-V*njB<)60SEO&tqWWqWY{E1e*&u0PDENfPr_b zUYK0R?=_+rMYN-Hg$#Ts{RHZkUb2`gZgs8Hhz|4dpD0V>Zj=AeI@(c2aaZn>C<;d> z5$>7pns6+;hLP6iYz%VBVx#(msgwD{%d{>xGUTO(|B9_D6x+h8U`Sk#J`ggq5tiu5 z-@p&G8Rv~YDmb!_F?9wSNrreX%RU=4T&+D5eqyQ_GKMpZL(qSR&Dk2p2;e~Olt1}g zV93Sm5NZ!A$K9_q!~gX(@&3{e*nKz;D)D`UqOD{kk~^0Cb-2&Slmi=S<=imJNfH8q z-!Pk!TYUv*VI6>^IlC#$oe!Q8de<|ft&3jqNCxj|jcYh5IA-a{;;B=-s8Gu{c8|&b z-mwnrJ}ehHYF|OkpxUsoc;S8P*86dBP23G~-z37yq7|@km*}t*Tr_MH;lAX1kcm_0 z018HkD`)6#USfwQIdGU z*M8=TU7}SwC3`m)H+R*}kt&#iPUW};FVMRKJ|EKeJ-Xl57oXn?ey(4o-{;nMPVH(q z0U^2M5FR1Aqzc37?HpQnZmd~UnAQ`IwUp4W;O7@S8xV!5xr!3%qzFW$l@+pj(fB#B zYS|noigUAm=&!NeJTVgNLg@7?Fv2eGvQ=k;U0=y?tMP`@0agzhmrY8^ap)|G4 z!}+8`V}JY@zde%Dvz!X^QX9q2a95sHh?>ze66lMCYhqAvlR32pEnOCD`qdVG)5Q*u zP2Ux7{XAw@8*$Q?{Oy0y@u7`n+jD z+w$%{W(Ybc8+WrXoJ^Q0xpSEX=o)oY0u5Uef?WQcX)hYU_BfwwmWc1i9yUTXDoVUQ>FxgQv`;GCb6 z2XPx)ls!`#U@Q<{5H_kHS;ujk>ZUJUNzzbqZvCuV?~R6q?N(8)=aBIg%PL8b7A~@e zZiNYj#>e#beEfEk&RqE40PR00)IZc=%&hGHtxjY87l8I}nHekd&w_s^NMmMY{JHXv zY>^+S8Z+w;dSm@h^rrZKY8LrFF*DYG!_3(JADP)i4E2};C|D@E_6xRUDW-l$)^(U0 zQv)*^2|vcx(>NoEE^B9|W8wwj8r~E+MBFb6LjFcXeGH%v$drTF`v`AgllUcLy#ar* z?5N4esF4WdbPo|aE`e{guTJ%uo{TYDmc)`&T{pcM;p>pIo-|4;A3CGsA}F7vtqid! zhmO{KuZ-@@PboFBFKV>TOi1ZP)id6S|NH|X1`crU5Xs*)f$|pBXq^eh*7ITlCuX*_0gitFFma|%>+-X zWf*xMfEcMpbze!063{NgW4rCsNNrftnH3*>NsRK0n+g%VS^CU|1%E%dKqpeab<}l3 zS^Sw@76;>E^*H2@aa1*6tN%=CZh_}b$IOg9pooH8AIWHH>1JjQ^k|XdT55`6JGk1r zrtsSNWy-yKBT!7}?+>Nkce?5o)Eji#eB6s(6n?T#pwEm$5C(d-^8t!SL4^T22#1A* zh*;ef2Fih+f3HHWq`3G^v%GcO+SvOI3A5R6AsBY`WUNtBN@Lk7T0>dHuAnT zag?~BH@Q1pmL0l!i7T3`>v}%4cN*g>2+|2*#lly7tM8@x?f&A`x|IsS4ehk}eJyk0 z3eSXz=mV&lG#v-bW4N{^You%xOF2miPdCxc6(67!AJ+}RouDnpL1mzl&dNZ^GHMQD zJ$Wz9OvyvDc}Owx>SaPA0ZM|H!idOGL>5vJ&eDU9$wv~1z6aE&D7d!GhOeMXh;{Ko zeADn_1hMLIrW#}XD1WCu=J{JmQ`&t_oZd>M1t!iy8c1|gM#)L|hiIJu$7uO1!y*